diff --git a/.env.example b/.env.example index c75ac2a43..2fa97cacc 100644 --- a/.env.example +++ b/.env.example @@ -1,2 +1,9 @@ # Get this from https://platform.openai.com/account/api-keys OPENAI_API_KEY=YOUR_API_KEY +OPENAI_MODEL=gpt-3.5-turbo-0125 + +# Get this from https://lightsail.aws.amazon.com/ls/webapp/us-east-1/buckets +AWS_ACCESS_KEY_ID=your_access_key_id +AWS_SECRET_ACCESS_KEY=your_secret_access_key +AWS_REGION=your_aws_region +BUCKET_NAME=your_s3_bucket_name diff --git a/.gitignore b/.gitignore index 807fd5fea..e14642dc4 100644 --- a/.gitignore +++ b/.gitignore @@ -57,3 +57,4 @@ litellm_uuid.txt .smart-connections .space .makemd +desktop.ini diff --git a/apps/browser-extension/background.js b/apps/browser-extension/background.js index ca4d26840..0827fd0ba 100644 --- a/apps/browser-extension/background.js +++ b/apps/browser-extension/background.js @@ -1,3 +1,5 @@ +import { extractAndSaveAmazon } from './extractAndSaveAmazon.js'; + chrome.runtime.onInstalled.addListener(() => { setDailyAlarm(); // Set an alarm on installation }); @@ -5,7 +7,7 @@ chrome.runtime.onInstalled.addListener(() => { function setDailyAlarm() { chrome.storage.sync.get("frequency", ({ frequency }) => { const minutes = parseInt(frequency, 10) || 1440; // Default to 1440 minutes (once a day) if not set - chrome.alarms.create("dailyPopup", { periodInMinutes: minutes }); + chrome.alarms.create("trackingPopup", { periodInMinutes: minutes }); }); } @@ -18,20 +20,63 @@ chrome.storage.onChanged.addListener((changes, namespace) => { } }); -chrome.alarms.onAlarm.addListener((alarm) => { - console.log("Got an alarm!", alarm); - if (alarm.name === "dailyPopup") { - console.log("Time to show the daily popup!"); - // Open a window instead of creating a notification +let popupId = null; + +function showTrackingPopup() { + debugger + console.log('Time to show the daily popup!'); + + let origin = 'https://safe.fdai.earth'; + //origin = 'https://local.quantimo.do'; + + if (popupId !== null) { + chrome.windows.get(popupId, { populate: true }, (win) => { + if (chrome.runtime.lastError) { + // The window was closed or never created. Create it. + chrome.windows.create({ + url: origin + '/app/public/android_popup.html', + type: 'popup', + width: 1, + height: 1, + left: 100, + top: 100, + focused: false + }, (win) => { + popupId = win.id; + }); + } else { + // The window exists. Update it. + chrome.windows.update(popupId, { focused: true }); + } + }); + } else { + // No window ID, create a new window. chrome.windows.create({ - url: 'popup.html', + url: origin + '/app/public/android_popup.html', type: 'popup', - width: 300, - height: 200, + width: 1, + height: 1, left: 100, - top: 100 + top: 100, + focused: false + }, (win) => { + popupId = win.id; }); } +} + +// background.js +chrome.runtime.onMessage.addListener((request, sender, sendResponse) => { + if (request.action === "showTrackingPopup") { + showTrackingPopup(); + } +}); + +chrome.alarms.onAlarm.addListener((alarm) => { + console.log("Got an alarm!", alarm); + if (alarm.name === "trackingPopup") { + showTrackingPopup(); + } }); chrome.runtime.onStartup.addListener(() => { @@ -44,10 +89,12 @@ chrome.runtime.onStartup.addListener(() => { }); function redirectToLogin() { - //const currentUrl = encodeURIComponent("Your extension's main or current URL here"); - const currentUrl = encodeURIComponent(window.location.href); - const loginUrl = `https://safe.fdai.earth/login?intended_url=${currentUrl}`; - chrome.tabs.create({ url: loginUrl }); + chrome.tabs.query({active: true, currentWindow: true}, function(tabs) { + // Handle the case where there are no active tabs + const loginUrl = `https://safe.fdai.earth/app/public`; + chrome.tabs.create({ url: loginUrl }); + + }); } chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => { @@ -57,7 +104,7 @@ chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => { const quantimodoAccessToken = url.searchParams.get("quantimodoAccessToken"); if (quantimodoAccessToken) { chrome.storage.sync.set({ quantimodoAccessToken }, () => { - console.log("Access token saved:", quantimodoAccessToken); + console.log("Access token saved:")// quantimodoAccessToken); // Optionally, redirect the user to the intended URL or show some UI indication }); } @@ -74,3 +121,148 @@ chrome.storage.sync.get("quantimodoAccessToken", ({ quantimodoAccessToken }) => } }); +chrome.action.onClicked.addListener((tab) => { + // Perform the action when the extension button is clicked + chrome.tabs.create({url: "https://safe.fdai.earth/app/public"}); +}); + +// background.js + +// Create a new context menu item. +chrome.contextMenus.create({ + id: "extractAndSaveAmazon", // Add this line + title: "Extract and Save Product Details", + contexts: ["page"], // This will show the item when you right click on a page +}); + +// Listen for click events on your context menu item +chrome.contextMenus.onClicked.addListener((info, tab) => { + if (info.menuItemId === "extractAndSaveAmazon") { + // Inject the script into the current tab + // chrome.scripting.executeScript({ + // target: {tabId: tab.id}, + // function: extractAndSaveAmazon + // }); + chrome.tabs.create({url: "https://www.amazon.com/gp/css/order-history"}); + } +}); + +// Listen for messages from the content script +chrome.runtime.onMessage.addListener((request, sender, sendResponse) => { + if (request.action === "navigate") { + // Navigate to the specified URL + chrome.tabs.update({url: request.url}); + } +}); + +function parseDate(deliveryDate) { + deliveryDate = deliveryDate.replace(/[^0-9]/g, "Delivered "); + deliveryDate += ", " + new Date().getFullYear(); + // convert to ISO date + return new Date(deliveryDate).toISOString(); +} + +// Listen for tab updates +chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => { + console.log("Tab updated:", changeInfo); + // Check if the updated tab's URL is the Amazon order history page + if (changeInfo.url && changeInfo.url.startsWith("https://www.amazon.com/gp/css/order-history")) { + debugger + console.log("Amazon order history page loaded"); + // Execute the extractAndSaveAmazon function + chrome.scripting.executeScript({ + target: {tabId: tab.id}, + function: extractAndSaveAmazon + }); + } +}); + +async function getQuantimodoAccessToken() { + return new Promise((resolve, reject) => { + chrome.storage.sync.get("quantimodoAccessToken", ({ quantimodoAccessToken }) => { + if (quantimodoAccessToken) { + resolve(quantimodoAccessToken); + } else { + reject("Access token not found"); + } + }); + }); +} + + + +function hasAccessToken() { + return new Promise((resolve, reject) => { + chrome.storage.sync.get(["quantimodoAccessToken"], ({ quantimodoAccessToken }) => { + if (quantimodoAccessToken) { + resolve(true); + } else { + resolve(false); + } + }); + }); +} + +// background.js + +// Check if the user has an access token when the extension is loaded +hasAccessToken().then(hasToken => { + if (!hasToken) { + redirectToLogin(); + } +}); + + +// Listen for all web requests +chrome.webRequest.onBeforeRequest.addListener( + function(details) { + // Parse the URL from the details + const url = new URL(details.url); + + // Check if the URL has the 'quantimodoAccessToken' query parameter + const quantimodoAccessToken = url.searchParams.get("quantimodoAccessToken"); + if (quantimodoAccessToken) { + // Save the token to local storage + chrome.storage.sync.set({ quantimodoAccessToken }, () => { + console.log("Access token saved:")//, quantimodoAccessToken); + }); + } + }, + // filters + { + urls: ["https://safe.fdai.earth/*"], + types: ["main_frame"] + } +); + +let currentUrl = ''; +chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => { + // Check if the updated tab's URL is the reminders inbox page + if (changeInfo.status === "loading" && changeInfo.url) { + currentUrl = changeInfo.url; + } + //console.log("changeInfo", changeInfo); + if (changeInfo.status === "complete" && + currentUrl && + currentUrl.indexOf("https://safe.fdai.earth/app/public/#/app/") > -1) { + // Execute your function here + chrome.tabs.query({active: true, currentWindow: true}, function(tabs) { + //console.log("tabs", tabs); + if(!tabs[0]) { + console.log("No active tabs. Tabs:", tabs); + return; + } + chrome.tabs.sendMessage(tabs[0].id, {message: "getFdaiLocalStorage", key: "accessToken"}, function(response) { + if(!response) { + console.error("No response from getFdaiLocalStorage"); + return; + } + //console.log(response.data); + chrome.storage.sync.set({quantimodoAccessToken: response.data}, function() { + console.log('Access token saved:')//, response.data); + }); + }); + }); + } +}); + diff --git a/apps/browser-extension/contentScript.js b/apps/browser-extension/contentScript.js new file mode 100644 index 000000000..384ffc6ee --- /dev/null +++ b/apps/browser-extension/contentScript.js @@ -0,0 +1,7 @@ +// Function to extract the data +function extractAndSaveAmazon() { + // Send a message to the background script to navigate to the Amazon order history page + chrome.runtime.sendMessage({action: "navigate", url: "https://www.amazon.com/gp/css/order-history"}); + + // Rest of your function code here... +} diff --git a/apps/browser-extension/contentScriptForFdai.js b/apps/browser-extension/contentScriptForFdai.js new file mode 100644 index 000000000..ac37d276c --- /dev/null +++ b/apps/browser-extension/contentScriptForFdai.js @@ -0,0 +1,10 @@ +console.log('contentScriptForFdai.js loaded'); +chrome.runtime.onMessage.addListener( + function(request, sender, sendResponse) { + console.log('contentScriptForFdai.js received a message', request); + if (request.message === "getFdaiLocalStorage") { + sendResponse({data: localStorage.getItem(request.key)}); + } + } +); + diff --git a/apps/browser-extension/extractAndSaveAmazon.js b/apps/browser-extension/extractAndSaveAmazon.js new file mode 100644 index 000000000..53220e048 --- /dev/null +++ b/apps/browser-extension/extractAndSaveAmazon.js @@ -0,0 +1,99 @@ +function showNotification(title, message) { + chrome.notifications.create({ + type: 'basic', + iconUrl: 'icons/icon.png', // Path to the icon for the notification + title: title, + message: message + }); +} + +export async function extractAndSaveAmazon(html) { + debugger + + html = html || document; + + const orderCards = html.querySelectorAll('.order-card'); + let measurements = JSON.parse(localStorage.getItem('measurements')) || []; + for (const orderCard of orderCards) { + console.log('Order card:', orderCard); + debugger + let startAt = orderCard.querySelector('.delivery-box__primary-text').textContent.trim(); + if(startAt === 'Order received') { + continue; + } + if(startAt.includes('Arriving')) { + continue; + } + startAt = startAt.replace('Delivered ', '').trim(); + startAt = startAt + ', ' + new Date().getFullYear(); + startAt = parseDate(startAt); + const productBoxes = orderCard.querySelectorAll('.a-fixed-left-grid.item-box.a-spacing-small, .a-fixed-left-grid.item-box.a-spacing-none'); + for (const box of productBoxes) { + const image = box.querySelector('.product-image a img').src; + const variableName = "Purchase of " + box.querySelector('.yohtmlc-product-title').textContent.trim(); + const url = box.querySelector('.product-image a').href; + + showNotification('Saving Purchase Data', `Saving ${variableName} from Amazon`); + + + // Check if the product is already in localStorage + const isMeasurementStored = measurements.some(measurement => measurement.url === url && measurement.startAt === startAt); + + if (!isMeasurementStored) { + + // Add the product details to the array + measurements.push({ + startAt, + variableName, + unitName: "Count", + value: 1, + variableCategoryName: "Treatments", + sourceName: "Amazon", + url, + image + }); + } + } + console.log(`Processed ${orderCards.length} products. Measurements:`, measurements); + } + + if(typeof global.apiOrigin === 'undefined') { + global.apiOrigin = 'https://safe.fdai.earth'; + } + + if(measurements.length > 0) { + console.log('Saving measurements:', measurements); + const quantimodoAccessToken = await getQuantimodoAccessToken(); + let input = global.apiOrigin + '/api/v1/measurements?XDEBUG_SESSION_START=PHPSTORM'; + const response = await fetch(input, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'Authorization': `Bearer ${quantimodoAccessToken}`, + 'X-CLIENT-ID': 'digital-twin-safe', + }, + body: JSON.stringify(measurements) + }); + // const response = await fetch('https://local.quantimo.do/api/v1/measurements', { + // method: 'POST', + // headers: { + // 'Content-Type': 'application/json', + // 'Authorization': `Bearer demo`, + // }, + // body: JSON.stringify([]) + // }); + if (!response.ok) { + const text = await response.text(); + console.error('Error response:', text); + throw new Error(`HTTP error! status: ${response.status}`); + } else { + const data = await response.json(); + console.log('Post Measurement Response from API:', data); + localStorage.setItem('measurements', JSON.stringify(measurements)); + } + } + return measurements; + +} + +//module.exports = extractAndSaveAmazon; diff --git a/apps/browser-extension/manifest.json b/apps/browser-extension/manifest.json index 44a51f2c0..46d927cd1 100644 --- a/apps/browser-extension/manifest.json +++ b/apps/browser-extension/manifest.json @@ -2,12 +2,36 @@ "manifest_version": 3, "name": "Digital Twin Safe", "version": "1.0", - "description": "Easily record your diet, symptoms, and treatments to figure out what's fucking you up!", - "permissions": ["alarms", "notifications", "storage", "activeTab", "tabs"], + "description": "Easily record your diet, symptoms, and treatments to accelerate clinical discovery!", + "permissions": [ + "alarms", + "contextMenus", + "scripting", + "notifications", + "storage", + "activeTab", + "tabs", + "webRequest" + ], + "host_permissions": [ + "https://www.amazon.com/" + ], "background": { - "service_worker": "background.js" + "service_worker": "background.js", + "type": "module" }, + "content_scripts": [ + { + "matches": [""], + "js": ["contentScript.js"] + }, + { + "matches": ["https://safe.fdai.earth/*"], + "js": ["contentScriptForFdai.js"] + } + ], "action": { + "default_popup": "popup.html", "default_icon": { "16": "icons/icon_16.png", "48": "icons/icon_48.png", diff --git a/apps/browser-extension/options.css b/apps/browser-extension/options.css index e93f158d4..2b2a3b3af 100644 --- a/apps/browser-extension/options.css +++ b/apps/browser-extension/options.css @@ -13,6 +13,23 @@ --border-color: #ffffff; /* White for borders */ } +body, html { + width: 100%; + height: 100%; + margin: 0; + overflow: hidden; +} + +body { + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + background: radial-gradient(rgba(118, 0, 191, 0.5) 0%, transparent 70%), linear-gradient(#0b161e 40%, #202076 70%); + perspective: 700px; + font-size: clamp(10px, 2vw, 20px); +} + .title { text-align: center; @@ -84,22 +101,7 @@ button:hover { } -body, html { - width: 100%; - height: 100%; - margin: 0; - overflow: hidden; -} -body { - display: flex; - align-items: center; - justify-content: center; - flex-direction: column; - background: radial-gradient(rgba(118, 0, 191, 0.5) 0%, transparent 70%), linear-gradient(#0b161e 40%, #202076 70%); - perspective: 700px; - font-size: clamp(10px, 2vw, 20px); -} .lines { position: fixed; diff --git a/apps/browser-extension/options.html b/apps/browser-extension/options.html index 1763e8349..e5cf526a1 100644 --- a/apps/browser-extension/options.html +++ b/apps/browser-extension/options.html @@ -10,7 +10,7 @@ -
+

DIGITAL @@ -25,13 +25,13 @@

Twin Safe

@@ -39,6 +39,8 @@

Twin Safe

diff --git a/apps/browser-extension/options.js b/apps/browser-extension/options.js index 4f8bc657b..c63bbe51b 100644 --- a/apps/browser-extension/options.js +++ b/apps/browser-extension/options.js @@ -9,6 +9,7 @@ function saveOptions(e) { setTimeout(() => { status.textContent = ''; }, 1500); // Clear status after 1.5 seconds + chrome.runtime.sendMessage({action: "showTrackingPopup"}); }); } diff --git a/apps/browser-extension/package.json b/apps/browser-extension/package.json new file mode 100644 index 000000000..29a61829c --- /dev/null +++ b/apps/browser-extension/package.json @@ -0,0 +1,26 @@ +{ + "name": "fdai-chrome-extension", + "version": "1.0.0", + "description": "Automatically import your supplements, food, and medications into your Digital Twin Safe.", + "main": "index.js", + "scripts": { + "test": "jest" + }, + "dependencies": { + "agentkeepalive": "^4.5.0", + "axios": "^0.21.1", + "cheerio": "^1.0.0-rc.5" + }, + "devDependencies": { + "fetch-h2": "^1.0.0", + "jest": "^27.0.6", + "jsdom": "^16.6.0", + "node-fetch": "^2.6.1", + "node-localstorage": "^2.0.1" + }, + "jest": { + "setupFiles": [ + "./tests/setupTests.js" + ] + } +} diff --git a/apps/browser-extension/popup.css b/apps/browser-extension/popup.css index cbeaa8562..4ef2bb399 100644 --- a/apps/browser-extension/popup.css +++ b/apps/browser-extension/popup.css @@ -1,25 +1,176 @@ +@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap'); +@import url('https://fonts.googleapis.com/css2?family=VT323&display=swap'); +@import url("https://fonts.googleapis.com/css2?family=Mr+Dafoe&display=swap"); +@import url("https://fonts.googleapis.com/css2?family=Exo:wght@900&display=swap"); + +:root { + --background-color: #7c59b9; /* Purple background */ + --card-background-color: #f3e5ff; /* Light purple for cards */ + --text-color: #ffffff; /* White text */ + --accent-color: #ff00ff; /* Bright pink for accents */ + --button-color: #ff00ff; /* Bright pink for buttons */ + --button-hover-color: #cc00cc; /* Darker pink for hover state */ + --border-color: #ffffff; /* White for borders */ +} + body { font-family: 'Arial', sans-serif; margin: 20px; text-align: center; } -.pretty-button { - background-color: #4CAF50; /* Green */ - border: none; - color: white; - padding: 15px 32px; +.container { + padding: 20px; +} + +.title { text-align: center; - text-decoration: none; - display: inline-block; - font-size: 16px; - margin: 4px 2px; + font-size: 2.5rem; + color: var(--text-color); + margin-bottom: 1rem; +} + +.card { + background: #5b2d83; + border: 4px solid var(--border-color); + box-shadow: 5px 5px 0 var(--accent-color); + padding: 1rem; + margin-bottom: 1rem; + /* border-radius: 10px; */ /* Optional: if you want rounded corners */ +} + +.pretty-button { + background: #5b2d83; + border: 4px solid var(--border-color); + box-shadow: 5px 5px 0 var(--accent-color); + padding: 1rem; + margin-bottom: 1rem; + font-size: 1.75rem; + color: var(--text-color); cursor: pointer; - border-radius: 12px; - box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19); - transition-duration: 0.4s; + + /* border-radius: 10px; */ /* Optional: if you want rounded corners */ +} + +.option { + margin-bottom: 1rem; +} + +.option-label { + display: block; + margin-bottom: 0.5rem; + font-size: 1.75rem; + color: var(--text-color); +} + +.input-field, select { + width: 100%; + background: var(--background-color); + border: 2px solid var(--border-color); + color: var(--text-color); + padding: 1.5rem; + font-family: 'Press Start 2P', cursive; + box-shadow: 3px 3px 0 var(--accent-color); + margin-bottom: 1rem; + /* border-radius: 5px; */ /* Optional: if you want rounded corners */ +} + +input[type="radio"] { + accent-color: var(--button-color); /* This will style the radio button color */ +} + +.status { + margin-top: 20px; + color: var(--button-color); /* Success color */ + font-size: 0.75rem; + text-align: center; +} + + +button:hover { + background-color: var(--button-hover-color); + box-shadow: 1px 1px 0 var(--accent-color); +} + + +body, html { + width: 100%; + height: 100%; + margin: 0; + /* overflow: hidden; */ +} + +body { + /* display: flex; */ + align-items: center; + justify-content: center; + flex-direction: column; + background: radial-gradient(rgba(118, 0, 191, 0.5) 0%, transparent 70%), linear-gradient(#0b161e 40%, #202076 70%); + perspective: 700px; + font-size: clamp(10px, 2vw, 20px); +} + +.lines { + position: fixed; + width: 100vw; + height: 4em; + background: linear-gradient(rgba(89, 193, 254, 0.2) 20%, #59c1fe 40%, #59c1fe 60%, rgba(89, 193, 254, 0.2) 80%); + background-size: 1px 0.5em; + box-shadow: 0 0 1em rgba(89, 193, 254, 0.4); + transform: translateY(-12em); + left: 0; +} + +h1 { + position: relative; + font-family: "Exo", serif; + font-size: 9em; + margin: 0; + transform: skew(-15deg); + letter-spacing: 0.03em; +} +h1::after { + content: ""; + position: absolute; + top: -0.1em; + right: 0.05em; + width: 0.4em; + height: 0.4em; + background: radial-gradient(white 3%, rgba(255, 255, 255, 0.3) 15%, rgba(255, 255, 255, 0.05) 60%, transparent 80%), radial-gradient(rgba(255, 255, 255, 0.2) 50%, transparent 60%) 50% 50%/5% 100%, radial-gradient(rgba(255, 255, 255, 0.2) 50%, transparent 60%) 50% 50%/70% 5%; + background-repeat: no-repeat; +} +h1 span:first-child { + display: block; + text-shadow: 0 0 0.1em #8ba2d0, 0 0 0.2em black, 0 0 5em #165ff3; + -webkit-text-stroke: 0.06em rgba(0, 0, 0, 0.5); +} +h1 span:last-child { + position: absolute; + left: 0px; + top: 0; + background-image: linear-gradient(#032d50 25%, #00a1ef 35%, white 50%, #20125f 50%, #8313e7 55%, #ff61af 75%); + -webkit-text-stroke: 0.01em #94a0b9; + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + text-align: center; +} + +h2 { + font-family: "Mr Dafoe", sans-serif; + font-size: 5.5em; + color: white; + text-shadow: 0 0 0.05em #fff, 0 0 0.2em #fe05e1, 0 0 0.3em #fe05e1; + transform: rotate(-7deg); + margin: -0.6em 0 20px; } -.pretty-button:hover { - background-color: #45a049; +.grid { + background: linear-gradient(transparent 65%, rgba(46, 38, 255, 0.4) 75%, #7d41e6 80%, rgba(46, 38, 255, 0.4) 85%, transparent 95%), linear-gradient(90deg, transparent 65%, rgba(46, 38, 255, 0.4) 75%, #7d41e6 80%, rgba(46, 38, 255, 0.4) 85%, transparent 95%); + background-size: 30px 30px; + width: 200vw; + height: 300vh; + position: absolute; + bottom: -123vh; + transform: rotateX(-100deg); + -webkit-mask-image: linear-gradient(black, rgba(0, 0, 0, 0) 80%); } diff --git a/apps/browser-extension/popup.html b/apps/browser-extension/popup.html index 4b851e110..6634305f6 100644 --- a/apps/browser-extension/popup.html +++ b/apps/browser-extension/popup.html @@ -5,8 +5,19 @@ -
- +
+
+
+

+ DIGITAL + DIGITAL +

+

Twin Safe

+ +
+ + +
diff --git a/apps/browser-extension/popup.js b/apps/browser-extension/popup.js index 4b6dc1cc6..4048b8657 100644 --- a/apps/browser-extension/popup.js +++ b/apps/browser-extension/popup.js @@ -13,5 +13,28 @@ document.addEventListener('DOMContentLoaded', function() { }); } }); + +document.getElementById('amazonBtn').addEventListener('click', function() { + const url = 'https://www.amazon.com/gp/css/order-history'; + + chrome.tabs.query({}, function(tabs) { + let tabExists = false; + + for (let i = 0; i < tabs.length; i++) { + if (tabs[i].url === url) { + tabExists = true; + chrome.tabs.update(tabs[i].id, {active: true, url: url}, function(tab) { + chrome.tabs.reload(tab.id); + }); + break; + } + } + + if (!tabExists) { + window.open(url, '_blank'); + } + }); +}); + }); diff --git a/apps/browser-extension/tests/amazon.html b/apps/browser-extension/tests/amazon.html new file mode 100644 index 000000000..7366b3cc2 --- /dev/null +++ b/apps/browser-extension/tests/amazon.html @@ -0,0 +1,7032 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Your Orders + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ +
+ + +
+
+

Your Orders

+
+
+ + +
+
+ +
+ +
+ +
+
+ + + + + + + + +
+ +
+ + + + + +

An item you bought has been recalled

+ To ensure your safety, go to Your Recalls and Product Safety Alerts and see recall information. +
+ + + + + + + + + +

There's a problem displaying your orders right now.

+ +
+ + + + +

Shape the future of Amazon Digital Subscriptions.

+ We have made updates to the Your Orders Page. Click here to "Opt In" to view the changes and/or provide your feedback. If you spot an issue, please report the bug here. For critical issues (Sev2+), please use TT. +
+ + + + + + + + + + + + + + + + + + +
+ +
+ + + + + +
+ +
+
+
+
+
+ Order placed +
+
+ March 4, 2024 +
+
+ +
+
+ + Total + +
+
+ +
+ $3.44 +
+
+
+
+ + +
+
+
+ Ship to +
+
+ +
+ + + Mike Sinn + + + + +
+ +
+ + Mike Sinn + +
+ +
+ 601 HILLSBORO AVE APT B
EDWARDSVILLE, IL 62025-1818 +
+ +
+ United States +
+ + + +
+
+ +
+ +
+
+
+ +
+
+
+
+
+ Order # + 114-8383026-9301837 +
+
+
+
+ + + + View order details + + + + + + + + + + View invoice + + + + + +
+
+
+
+ +
+ + + +
+
+
+
+
+ + + + Order received + +
+
+
+
+ + + +
+ + +
+
+ + +
+
+
+ + + Traditional Medicinals Tea, Organic Nighty Night Extra, Promotes a Good Night's Sleep, 16 Tea Bags + + + + + + +
+
+
+ +
+ + + + + + +
+ + +
+ + Auto-delivered: Every 1 month + +
+ +
+
+ + + + + + +
+
Buy it again
+
+ + + + + + +
+
+
+
+ + + + +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + +
+ +
+ + + +
+ +
+
+
+
+
+ Order placed +
+
+ February 24, 2024 +
+
+ +
+
+ + Total + +
+
+ +
+ $4.33 +
+
+
+
+ + +
+
+
+ Ship to +
+
+ +
+ + + Mike Sinn + + + + +
+ +
+ + Mike Sinn + +
+ +
+ 601 HILLSBORO AVE APT B
EDWARDSVILLE, IL 62025-1818 +
+ +
+ United States +
+ + + +
+
+ +
+ +
+
+
+ +
+
+
+
+
+ Order # + 114-2474541-8597827 +
+
+
+
+ + + + View order details + + + + + + + + + + View invoice + + + + + +
+
+
+
+ +
+ + + +
+
+
+
+
+ + + + Delivered March 1 + +
+
+
+
+ + + + Your package was left near the front door or porch. + +
+ + +
+
+ + +
+
+
+ + + Nature's Bounty Zinc, Immune Support, 50 mg, Caplets, 100 Ct + + + + + + +
+
+
+ +
+ + + + + + +
+ + +
+ + Auto-delivered: Every 3 months + +
+ +
+
+ + + + + + +
+
Buy it again
+
+ + + + + + + + + + View your item + + + + + +
+
+
+
+ + + + +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +
+
+
+
+
+ Order placed +
+
+ February 23, 2024 +
+
+ +
+
+ + Total + +
+
+ +
+ $46.88 +
+
+
+
+ + +
+
+
+ Ship to +
+
+ +
+ + + Mike P. Sinn + + + + +
+ +
+ + Mike P. Sinn + +
+ +
+ 9375 TELLER ST
WESTMINSTER, CO 80021-4882 +
+ +
+ United States +
+ + + +
+
+ +
+ +
+
+
+ +
+
+
+
+
+ Order # + 112-8752368-2865050 +
+
+
+
+ + + + View order details + + + + + + + + + + View invoice + + + + + +
+
+
+
+ +
+ + + +
+
+
+
+
+ + + + Delivered February 24 + +
+
+
+
+ + + + Your package was left near the front door or porch. + +
+ + +
+
+ + +
+
+
+ + + OxiClean White Revive Laundry Whitener and Stain Remover Power Paks, 24 Count + + + + + + +
+
+
+ +
+ + + + + + +
+ +
+ + + Return or replace items: Eligible through March 25, 2024 + + +
+ + +
+
+ + + + + + +
+
Buy it again
+
+ + + + + + + + + + View your item + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + +
+
+
+ + + Zicam Cold Remedy Cold Shortening Medicated Nasal Swabs Zinc-Free 20ct + + + + + + +
+
+ +
+ + + + +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + +
+ +
+ + + +
+ +
+
+
+
+
+ Order placed +
+
+ February 23, 2024 +
+
+ +
+
+ + Total + +
+
+ +
+ $21.04 +
+
+
+
+ + +
+
+
+ Ship to +
+
+ +
+ + + Mike Sinn + + + + +
+ +
+ + Mike Sinn + +
+ +
+ 601 HILLSBORO AVE APT B
EDWARDSVILLE, IL 62025-1818 +
+ +
+ United States +
+ + + +
+
+ +
+ +
+
+
+ +
+
+
+
+
+ Order # + 111-3959412-0577862 +
+
+
+
+ + + + View order details + + + + + + + + + + View invoice + + + + + +
+
+
+
+ +
+ + + +
+
+
+
+
+ + + + Delivered March 1 + +
+
+
+
+ + + + Your package was left near the front door or porch. + +
+ + +
+
+ + +
+
+
+ + + Purina Friskies Dry Cat Food, Seafood Sensations - (Pack of 4) 3.15 lb. Bags + + + + + + +
+
+
+ +
+ + + + + + +
+ + +
+ + Auto-delivered: Every 1 month + +
+ +
+
+ + + + + + +
+
Buy it again
+
+ + + + + + + + + + View your item + + + + + +
+
+
+
+ + + + +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + +
+ +
+ + + +
+ +
+
+
+
+
+ Order placed +
+
+ February 23, 2024 +
+
+ +
+
+ + Total + +
+
+ +
+ $5.46 +
+
+
+
+ + +
+
+
+ Ship to +
+
+ +
+ + + Mike Sinn + + + + +
+ +
+ + Mike Sinn + +
+ +
+ 601 HILLSBORO AVE APT B
EDWARDSVILLE, IL 62025-1818 +
+ +
+ United States +
+ + + +
+
+ +
+ +
+
+
+ +
+
+
+
+
+ Order # + 113-1308461-2772202 +
+
+
+
+ + + + View order details + + + + + + + + + + View invoice + + + + + +
+
+
+
+ +
+ + + +
+
+
+
+
+ + + + Delivered March 5 + +
+
+
+
+ + + +
+ + +
+
+ + + + + + + +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + +
+ +
+ + + +
+ +
+
+
+
+
+ Order placed +
+
+ February 23, 2024 +
+
+ +
+
+ + Total + +
+
+ +
+ $8.60 +
+
+
+
+ + +
+
+
+ Ship to +
+
+ +
+ + + Mike Sinn + + + + +
+ +
+ + Mike Sinn + +
+ +
+ 601 HILLSBORO AVE APT B
EDWARDSVILLE, IL 62025-1818 +
+ +
+ United States +
+ + + +
+
+ +
+ +
+
+
+ +
+
+
+
+
+ Order # + 111-6103275-3781832 +
+
+
+
+ + + + View order details + + + + + + + + + + View invoice + + + + + +
+
+
+
+ +
+ + + +
+
+
+
+
+ + + + Delivered March 5 + +
+
+
+
+ + + +
+ + +
+
+ + +
+
+
+ + + NatureWise Vitamin D3 5000iu (125 mcg) 1 Year Supply for Healthy Muscle Function, and Immune Support, Non-GMO, Gluten Free in Cold-Pressed Olive Oil, + + + + + + +
+
+ +
+ + + + +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + +
+ +
+ + + +
+ +
+
+
+
+
+ Order placed +
+
+ February 23, 2024 +
+
+ +
+
+ + Total + +
+
+ +
+ $173.03 +
+
+
+
+ + +
+
+
+ Ship to +
+
+ +
+ + + Mike Sinn + + + + +
+ +
+ + Mike Sinn + +
+ +
+ 601 HILLSBORO AVE APT B
EDWARDSVILLE, IL 62025-1818 +
+ +
+ United States +
+ + + +
+
+ +
+ +
+
+
+ +
+
+
+
+
+ Order # + 111-2797648-4341813 +
+
+
+
+ + + + View order details + + + + + + + + + + View invoice + + + + + +
+
+
+
+ +
+ + + +
+
+
+
+
+ + + + Delivered March 2 + +
+
+
+
+ + + + Package was left inside the residence’s mailbox + +
+ + +
+
+ + +
+
+
+ + + Dymatize Vegan Plant Protein, Creamy Chocolate, 25g Protein, 4.8g BCAAs, Complete Amino Acid Profile, 15 Servings + + + + + + 10 + + +
+
+
+ +
+ + + + + + +
+ + +
+ + Auto-delivered: Every 1 month + +
+ +
+
+ + + + + + +
+
Buy it again
+
+ + + + + + + + + + View your item + + + + + +
+
+
+
+ + + + +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + +
+ +
+ + + +
+ +
+
+
+
+
+ Order placed +
+
+ February 22, 2024 +
+
+ +
+
+ + Total + +
+
+ +
+ $8.88 +
+
+
+
+ + +
+
+
+ Ship to +
+
+ +
+ + + Mike Sinn + + + + +
+ +
+ + Mike Sinn + +
+ +
+ 601 HILLSBORO AVE APT B
EDWARDSVILLE, IL 62025-1818 +
+ +
+ United States +
+ + + +
+
+ +
+ +
+
+
+ +
+
+
+
+
+ Order # + 113-5808484-7746652 +
+
+
+
+ + + + View order details + + + + + + + + + + View invoice + + + + + +
+
+
+
+ +
+ + + +
+
+
+
+
+ + + + Delivered March 5 + +
+
+
+
+ + + +
+ + +
+
+ + +
+
+
+ + + Life Extension Taurine, Pure taurine amino acid supplement, heart, liver and brain health, longevity, muscle and exercise, 1000 mg dose, Non-GMO, glut + + + + + + +
+
+ +
+ + + + +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + +
+ +
+ + + +
+ +
+
+
+
+
+ Order placed +
+
+ February 22, 2024 +
+
+ +
+
+ + Total + +
+
+ +
+ $8.59 +
+
+
+
+ + +
+
+
+ Ship to +
+
+ +
+ + + Mike P. Sinn + + + + +
+ +
+ + Mike P. Sinn + +
+ +
+ 9375 TELLER ST
WESTMINSTER, CO 80021-4882 +
+ +
+ United States +
+ + + +
+
+ +
+ +
+
+
+ +
+
+
+
+
+ Order # + 113-3641993-5813853 +
+
+
+
+ + + + View order details + + + + + + + + + + View invoice + + + + + +
+
+
+
+ +
+ + + +
+
+
+
+
+ + + + Delivered February 24 + +
+
+
+
+ + + + Your package was left near the front door or porch. + +
+ + +
+
+ + +
+
+
+ + + GuruNanda OxiClean Stain Remover Pen for Clothes (3 Pack) - Instant Spot Cleaning for All Laundry Stains: Blood, Food, Drinks, Dirt, Ink, Makeup - Bleach-FREE & Travel-Friendly (2x More Quantity) + + + + + + +
+
+ +
+ + + + +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + +
+ +
+ + + +
+ +
+
+
+
+
+ Order placed +
+
+ February 18, 2024 +
+
+ +
+
+ + Total + +
+
+ +
+ $11.91 +
+
+
+
+ + +
+
+
+ Ship to +
+
+ +
+ + + Mike Sinn + + + + +
+ +
+ + Mike Sinn + +
+ +
+ 601 HILLSBORO AVE APT B
EDWARDSVILLE, IL 62025-1818 +
+ +
+ United States +
+ + + +
+
+ +
+ +
+
+
+ +
+
+
+
+
+ Order # + 111-1910710-9714652 +
+
+
+
+ + + + View order details + + + + + + + + + + View invoice + + + + + +
+
+
+
+ +
+ + + +
+
+
+
+
+ + + + Delivered February 29 + +
+
+
+
+ + + + Package was left inside the residence’s mailbox + +
+ + +
+
+ + +
+
+
+ + + Native Deodorant Contains Naturally Derived Ingredients | Deodorant for Men & Women, Aluminum Free with Baking Soda, Probiotics, Coconut Oil and Shea + + + + + + +
+
+
+ +
+ + + + + + +
+ +
+ + + Return or replace items: Eligible through March 31, 2024 + + +
+ + +
+ + Auto-delivered: Every 4 months + +
+ +
+
+ + + + + + +
+
Buy it again
+
+ + + + + + + + + + View your item + + + + + +
+
+
+
+ + + + +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + +
+
  • Previous
  • + +
  • 1
  • + + +
  • 2
  • + + +
  • 3
  • + + +
  • 4
  • + + +
  • 5
  • + + +
  • Next
+
+ + + + +
+ + + + + +
+
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/apps/browser-extension/tests/extractAndSaveAmazon.test.js b/apps/browser-extension/tests/extractAndSaveAmazon.test.js new file mode 100644 index 000000000..3b73b1c0a --- /dev/null +++ b/apps/browser-extension/tests/extractAndSaveAmazon.test.js @@ -0,0 +1,35 @@ +const extractAndSaveAmazon = require('../extractAndSaveAmazon'); +const fs = require('fs'); +const path = require('path'); +const jsdom = require("jsdom"); +const { JSDOM } = jsdom; + +describe('fetch with custom DNS', () => { + it('should use the system DNS', async () => { + const response = await fetchWithCustomDns('https://local.quantimo.do'); + expect(response.ok).toBeTruthy(); + }); +}); + +describe('extractAndSaveAmazon function', () => { + it('should work correctly', async () => { + const html = fs.readFileSync(path.resolve(__dirname, 'amazon.html'), 'utf8'); + let cleanedHtml = html.replace(//gi, ''); + cleanedHtml = cleanedHtml.replace(/@import url\([^)]+\);/g, ''); + const dom = new JSDOM(cleanedHtml, { + resources: new jsdom.ResourceLoader({ + fetch(url, options) { + if ((options.element && options.element.localName === "link" && options.element.rel === "stylesheet") || url.startsWith('http://') || url.startsWith('https://')) { + // Ignore stylesheets and external resources + return null; + } + // Use the default fetch for non-stylesheet resources + return jsdom.defaultFetch(url, options); + } + }) + }); + const orderCards = dom.window.document.querySelectorAll('.order-card'); + const result = await extractAndSaveAmazon(dom.window.document); + expect(result).toBe([]); + }); +}); diff --git a/apps/browser-extension/tests/setupTests.js b/apps/browser-extension/tests/setupTests.js new file mode 100644 index 000000000..af5892ca8 --- /dev/null +++ b/apps/browser-extension/tests/setupTests.js @@ -0,0 +1,34 @@ +const LocalStorage = require('node-localstorage').LocalStorage; +global.localStorage = new LocalStorage('./tests/scratch'); +localStorage.clear(); +process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; + +global.parseDate = function(dateString) { + return new Date(dateString); +} + +global.getQuantimodoAccessToken = async function() { + return 'demo'; +} + +// You might need to install these packages if you're dealing with HTTPS and keep-alive +// npm install https agentkeepalive +const https = require('https'); +const { HttpsAgent } = require('agentkeepalive'); +const fetch = require('node-fetch'); + +const httpsAgent = new https.Agent({ + rejectUnauthorized: false, // WARNING: This disables SSL/TLS verification. +}); + +async function fetchWithInsecureSSL(url, options = {}) { + // Add the custom HTTPS agent to the request options + options.agent = httpsAgent; + return fetch(url, options); +} + +global.fetch = fetchWithInsecureSSL; + +// Now you can use fetchWithSystemDns instead of fetch + +global.apiOrigin = 'https://local.quantimo.do'; diff --git a/apps/browser-extension/trackingPopup.js b/apps/browser-extension/trackingPopup.js new file mode 100644 index 000000000..00047c969 --- /dev/null +++ b/apps/browser-extension/trackingPopup.js @@ -0,0 +1,331 @@ +/** @namespace window.qmLog */ +var ratingPopupHeight, ratingPopupWidth; +var qmPopup = { + trackingReminderNotification: null +}; +function setFaceButtonListeners(){ + qmLog.pushDebug("popup: Setting face button onclick listeners"); + document.getElementById('buttonMoodDepressed').onclick = onFaceButtonClicked; + document.getElementById('buttonMoodSad').onclick = onFaceButtonClicked; + document.getElementById('buttonMoodOk').onclick = onFaceButtonClicked; + document.getElementById('buttonMoodHappy').onclick = onFaceButtonClicked; + document.getElementById('buttonMoodEcstatic').onclick = onFaceButtonClicked; + document.getElementById('button1').onclick = onFaceButtonClicked; + document.getElementById('button2').onclick = onFaceButtonClicked; + document.getElementById('button3').onclick = onFaceButtonClicked; + document.getElementById('button4').onclick = onFaceButtonClicked; + document.getElementById('button5').onclick = onFaceButtonClicked; + //document.getElementById('buttonInbox').onclick = inboxButtonClicked; + document.getElementById('question').onclick = inboxButtonClicked; +} +function setLastValueButtonListeners(){ + qmLog.pushDebug("popup: Setting face button listeners"); + document.getElementById('lastValueButton').onclick = onLastValueButtonClicked; + document.getElementById('secondToLastValueButton').onclick = onLastValueButtonClicked; + document.getElementById('thirdToLastValueButton').onclick = onLastValueButtonClicked; + document.getElementById('snoozeButton').onclick = onLastValueButtonClicked; + document.getElementById('skipButton').onclick = onLastValueButtonClicked; + document.getElementById('buttonInbox').onclick = inboxButtonClicked; +} +function getVariableName(){ + var variableName = qm.urlHelper.getParam('variableName'); + if(variableName){ + qmLog.debug("Got variableName " + variableName + " from url"); + return variableName; + } +} +function valenceNegative(){ + if(!qmPopup.trackingReminderNotification){ + qmLog.error("qmPopup.trackingReminderNotification not set!"); + qm.notifications.closePopup(); + } + if(qmPopup.trackingReminderNotification.valence === "negative"){ + return true; + } +} +var inboxButtonClicked = function(){ + window.qmLog.info('inboxButtonClicked'); + if(typeof OverApps !== "undefined"){ + window.qmLog.info('Calling OverApps.openApp'); + //OverApps.openApp(); + //OverApps.closeWebView(); + OverApps.closeWebView(); + OverApps.openApp(); + }else{ + window.qmLog.info('OverApps not defined'); + qm.chrome.windowParams.fullInboxWindowParams.focused = true; + qm.chrome.createPopup(qm.chrome.windowParams.fullInboxWindowParams); + hidePopupPostNotificationsDeleteLocalAndClosePopup(); + } +}; +function hidePopupPostNotificationsDeleteLocalAndClosePopup(){ + qmLog.pushDebug('popup: hidePopupPostNotificationsDeleteLocalAndClosePopup...'); + hidePopup(); + //showLoader(); + if(qm.notificationsSyncQueue){ + qm.storage.deleteByPropertyInArray(qm.items.trackingReminderNotifications, 'variableName', qm.notificationsSyncQueue); + qm.notifications.postTrackingReminderNotifications(qm.notificationsSyncQueue, qm.notifications.closePopup, + 5000); // 300 is too fast + }else{ + qm.notifications.closePopup(); + } +} +var onFaceButtonClicked = function(){ + var buttonId = this.id; + qmLog.pushDebug('popup onFaceButtonClicked: onFaceButtonClicked buttonId ' + buttonId); + var ratingValue; // Figure out what rating was selected + if(buttonId === "buttonMoodDepressed"){ + if(valenceNegative()){ ratingValue = 5; }else{ ratingValue = 1; } + }else if(buttonId === "buttonMoodSad"){ + if(valenceNegative()){ ratingValue = 4; }else{ ratingValue = 2; } + }else if(buttonId === "buttonMoodOk"){ + ratingValue = 3; + }else if(buttonId === "buttonMoodHappy"){ + if(valenceNegative()){ratingValue = 2;}else{ratingValue = 4;} + }else if(buttonId === "buttonMoodEcstatic"){ + if(valenceNegative()){ratingValue = 1;}else{ratingValue = 5;} + }else if(buttonId === "button1"){ + ratingValue = 1; + }else if(buttonId === "button2"){ + ratingValue = 2; + }else if(buttonId === "button3"){ + ratingValue = 3; + }else if(buttonId === "button4"){ + ratingValue = 4; + }else if(buttonId === "button5"){ + ratingValue = 5; + }else { + throw "Please create handler for button id "+ buttonId; + } + if(!qmPopup.trackingReminderNotification){ + qmLog.error("No qmPopup.trackingReminderNotification to post or add to queue!"); + }else{ + qmLog.pushDebug('popup onFaceButtonClicked: qmPopup.trackingReminderNotification exists. Calling addToSyncQueueAndCloseOrUpdateQuestion..'); + qmPopup.trackingReminderNotification.modifiedValue = ratingValue; + } + return addToSyncQueueAndCloseOrUpdateQuestion(); + // TODO: Figure out how to send in background with chrome.extension.sendMessage(request); + //if(typeof chrome !== "undefined"){chrome.extension.sendMessage(request); } // Request our background script to upload it for us +}; +function addToSyncQueueAndCloseOrUpdateQuestion(){ + qmLog.pushDebug('popup: addToSyncQueueAndCloseOrUpdateQuestion...'); + if(!qm.notificationsSyncQueue){ + qm.notificationsSyncQueue = []; + } + if(qmPopup.trackingReminderNotification){ + qm.notificationsSyncQueue.push(qmPopup.trackingReminderNotification); + if(qmPopup.trackingReminderNotification.id){ + qm.notifications.deleteById(qmPopup.trackingReminderNotification.id); + }else{ + qm.notifications.deleteByVariableName(qmPopup.trackingReminderNotification.variableName); // TODO: Why was this commented? + } + } + qmPopup.trackingReminderNotification = qm.notifications.getMostRecentUniqueNotificationNotInSyncQueue(); + if(!qmPopup.trackingReminderNotification){ + qmLog.pushDebug('popup addToSyncQueueAndCloseOrUpdateQuestion: getMostRecentUniqueNotificationNotInSyncQueue returned nothing...'); + } + if(qm.notificationsSyncQueue.length > 10){ + qmLog.pushDebug('popup addToSyncQueueAndCloseOrUpdateQuestion: notificationsSyncQueue.length > 10 so posting and closing popup...'); + } + if(qmPopup.trackingReminderNotification && qm.notificationsSyncQueue.length < 10){ + qmLog.pushDebug('popup addToSyncQueueAndCloseOrUpdateQuestion: Calling updateQuestion for ' + + qmPopup.trackingReminderNotification.variableName + '..'); + updateQuestion(qmPopup.trackingReminderNotification.variableName); + }else{ + qmLog.pushDebug('popup addToSyncQueueAndCloseOrUpdateQuestion: Calling hidePopupPostNotificationsDeleteLocalAndClosePopup...'); + hidePopupPostNotificationsDeleteLocalAndClosePopup(); + } +} +var onLastValueButtonClicked = function(){ + var buttonId = this.id; + qmLog.pushDebug('onLastValueButtonClicked buttonId ' + buttonId); + if(buttonId === "lastValueButton"){ + qmPopup.trackingReminderNotification.action = 'track'; + qmPopup.trackingReminderNotification.modifiedValue = qmPopup.trackingReminderNotification.actionArray[0].modifiedValue; + }else if(buttonId === "secondToLastValueButton"){ + qmPopup.trackingReminderNotification.action = 'track'; + qmPopup.trackingReminderNotification.modifiedValue = qmPopup.trackingReminderNotification.actionArray[1].modifiedValue; + }else if(buttonId === "thirdToLastValueButton"){ + qmPopup.trackingReminderNotification.action = 'track'; + qmPopup.trackingReminderNotification.modifiedValue = qmPopup.trackingReminderNotification.actionArray[2].modifiedValue; + }else if(buttonId === "snoozeButton"){ + qmPopup.trackingReminderNotification.action = 'snooze'; + }else if(buttonId === "skipButton"){ + qmPopup.trackingReminderNotification.action = 'skip'; + } + addToSyncQueueAndCloseOrUpdateQuestion(); +}; +function hidePopup(){ + window.qmLog.info('hidePopup: resizing to ' + ratingPopupWidth + " x 0 "); + window.resizeTo(ratingPopupWidth, 0); +} +function showLoader(){ + var loader = document.getElementById("loader"); + loader.style.display = "block"; + numericRatingButtons().style.display = faceRatingButtons().style.display = question().style.display = "none"; +} +function unHidePopup(){ + window.qmLog.info('unHidePopup: resizing to ' + ratingPopupWidth + " x " + ratingPopupHeight); + window.resizeTo(ratingPopupWidth, ratingPopupHeight); +} +// function hideLoader() { +// var faceRatingButtons = faceRatingButtons(); +// var loader = document.getElementById("loader"); +// loader.className = "invisible"; +// loader.style.display = "none"; +// faceRatingButtons.style.display = "block"; +// faceRatingButtons.className = "visible"; +// } +function updateQuestion(variableName){ + qmLog.pushDebug("popup: updateQuestion..."); + if(!variableName || typeof variableName !== "string"){ + qmLog.pushDebug("popup: variableName is ..." + JSON.stringify(variableName)); + if(!qmPopup.trackingReminderNotification){ + qmLog.pushDebug("popup: no qmPopup.trackingReminderNotification present. Calling getMostRecentUniqueNotificationNotInSyncQueue..."); + qmPopup.trackingReminderNotification = qm.notifications.getMostRecentUniqueNotificationNotInSyncQueue(); + if(!qmPopup.trackingReminderNotification){ + qmLog.pushDebug("popup: getMostRecentUniqueNotificationNotInSyncQueue returned nothing..."); + qm.notifications.closePopup(); + return; + } + } + variableName = qmPopup.trackingReminderNotification.variableName; + qmLog.pushDebug("popup: qmPopup.trackingReminderNotification.variableName is " + variableName); + } + var questionText; + variableName = qmPopup.trackingReminderNotification.displayName || variableName; + if(qmPopup.trackingReminderNotification.unitAbbreviatedName === '/5'){ + showRatingSection(); + }else{ + showLastValuesSection(); + } + if(qmPopup.trackingReminderNotification.question){ + questionText = qmPopup.trackingReminderNotification.question; + } + window.qmLog.pushDebug('popup: Updating question to ' + questionText); + question().innerHTML = questionText; + document.title = questionText; + if(qm.platform.isChromeExtension()){ + qmLog.pushDebug('popup: Setting question display to none '); + question().style.display = "none"; + }else{ + getInboxButtonElement().style.display = "none"; + qmLog.pushDebug('NOT setting question display to none because not on Chrome'); + } + unHidePopup(); + function showLastValuesSection() { + function setLastValueButtonProperties(textElement, buttonElement, notificationAction) { + if (notificationAction.modifiedValue !== null) { + buttonElement.style.display = "none"; + var size = 30 - notificationAction.shortTitle.length * 12 / 3; + buttonElement.style.fontSize = size + "px"; + textElement.innerHTML = notificationAction.shortTitle; + buttonElement.style.display = "inline-block"; + } + else { + buttonElement.style.display = "none"; + } + } + setLastValueButtonProperties(getLastValueElement(), getLastValueButtonElement(), qmPopup.trackingReminderNotification.actionArray[0]); + setLastValueButtonProperties(getSecondToLastValueElement(), getSecondToLastValueButtonElement(), qmPopup.trackingReminderNotification.actionArray[1]); + setLastValueButtonProperties(getThirdToLastValueElement(), getThirdToLastValueButtonElement(), qmPopup.trackingReminderNotification.actionArray[2]); + numericRatingButtons().style.display = faceRatingButtons().style.display = "none"; + getLastValueSectionElement().style.display = "block"; + questionText = "Record " + variableName + " (" + qmPopup.trackingReminderNotification.unitAbbreviatedName + ")"; + if (qmPopup.trackingReminderNotification.unitAbbreviatedName === 'count') { + questionText = "Record " + variableName; + } + } + + function showRatingSection() { + questionText = "How is your " + variableName.toLowerCase() + "?"; + if(variableName.toLowerCase() === 'meditation'){ + qmLog.error("Asking " + questionText + "!", "qmPopup.trackingReminderNotification is: " + JSON.stringify(qmPopup.trackingReminderNotification), + {trackingReminderNotification: qmPopup.trackingReminderNotification}); + } + if (qmPopup.trackingReminderNotification.valence === "positive" || + qmPopup.trackingReminderNotification.valence === "negative") { + numericRatingButtons().style.display = "none"; + faceRatingButtons().style.display = "block"; + } else { + faceRatingButtons().style.display = "none"; + numericRatingButtons().style.display = "block"; + } + getLastValueSectionElement().style.display = "none"; + } +} +function question(){ + return document.getElementById("question"); +} +function getInboxButtonElement(){ + return document.getElementById("buttonInbox"); +} +function getLastValueElement(){ + return document.getElementById("lastValue"); +} +function getSecondToLastValueElement(){ + return document.getElementById("secondToLastValue"); +} +function getThirdToLastValueElement(){ + return document.getElementById("thirdToLastValue"); +} +function getLastValueButtonElement(){ + return document.getElementById("lastValueButton"); +} +function getSecondToLastValueButtonElement(){ + return document.getElementById("secondToLastValueButton"); +} +function getThirdToLastValueButtonElement(){ + return document.getElementById("thirdToLastValueButton"); +} +function getLastValueSectionElement(){ + return document.getElementById("lastValueSection"); +} +function faceRatingButtons(){ + return document.getElementById("faceRatingButtons"); +} +function numericRatingButtons(){ + return document.getElementById("numericRatingButtons"); +} +document.addEventListener('DOMContentLoaded', function(){ + qmLog.pushDebug("popup addEventListener: popup.js DOMContentLoaded"); + var wDiff = (380 - window.innerWidth); + var hDiff = (70 - window.innerHeight); + window.resizeBy(wDiff, hDiff); + ratingPopupHeight = window.innerHeight; + ratingPopupWidth = window.innerWidth; + if(qm.urlHelper.getParam("trackingReminderNotificationId")){ + qmPopup.trackingReminderNotification = { + action: 'track', + trackingReminderNotificationId: qm.urlHelper.getParam('trackingReminderNotificationId'), + variableName: qm.urlHelper.getParam("variableName"), + valence: qm.urlHelper.getParam("valence"), + unitAbbreviatedName: '/5' + }; + }else{ + qmLog.pushDebug("popup addEventListener: calling getMostRecentUniqueNotificationNotInSyncQueue..."); + qmPopup.trackingReminderNotification = qm.notifications.getMostRecentUniqueNotificationNotInSyncQueue(); + } + if(qmPopup.trackingReminderNotification){ + qmLog.pushDebug("popup addEventListener: calling updateQuestion..."); + updateQuestion(qmPopup.trackingReminderNotification.variableName); + }else{ + qmLog.pushDebug("popup addEventListener: Calling hidePopup..."); + hidePopup(); + qm.notifications.syncNotifications(updateQuestion, qm.notifications.closePopup); + } + qmLog.pushDebug("popup addEventListener: calling setFaceButtonListeners..."); + setFaceButtonListeners(); + qmLog.pushDebug("popup addEventListener: calling setLastValueButtonListeners..."); + setLastValueButtonListeners(); + qmLog.pushDebug("popup addEventListener: " + qm.notifications.getNumberInGlobalsOrLocalStorage() + + " notifications in InGlobalsOrLocalStorage on popup DOMContentLoaded"); + qmLog.pushDebug("popup addEventListener: calling qm.notifications.refreshIfEmptyOrStale..."); + qm.notifications.refreshIfEmptyOrStale(); + qmLog.pushDebug("popup addEventListener: calling getUserFromLocalStorage..."); + qm.userHelper.getUserFromLocalStorageOrApi().then(function(user){ + qmLog.setupBugsnag(user); + }); +}); +qmLog.pushDebug("popup addEventListener: calling setupBugsnag..."); +qmLog.setupBugsnag(); diff --git a/apps/browser-extension/tracking_popup.html b/apps/browser-extension/tracking_popup.html new file mode 100644 index 000000000..a9d5a25c0 --- /dev/null +++ b/apps/browser-extension/tracking_popup.html @@ -0,0 +1,225 @@ + + + + How are you? + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ How are you? +

+
+ Rate 5 out of 5  + Rate 5 out of 5  + Rate 5 out of 5  + Rate 5 out of 5  + Rate 5 out of 5 +
+
+ Rate 1 out of 5  + Rate 2 out of 5  + Rate 3 out of 5  + Rate 4 out of 5  + Rate 5 out of 5 +
+
+ + + + + + +
+
+ + Loading Image + +
+ + diff --git a/apps/browser-extension/yarn.lock b/apps/browser-extension/yarn.lock new file mode 100644 index 000000000..569b67c13 --- /dev/null +++ b/apps/browser-extension/yarn.lock @@ -0,0 +1,2827 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.2.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" + integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" + integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== + dependencies: + "@babel/highlight" "^7.23.4" + chalk "^2.4.2" + +"@babel/compat-data@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" + integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== + +"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.8.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.0.tgz#56cbda6b185ae9d9bed369816a8f4423c5f2ff1b" + integrity sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.24.0" + "@babel/parser" "^7.24.0" + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.0" + "@babel/types" "^7.24.0" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.23.6", "@babel/generator@^7.7.2": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" + integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== + dependencies: + "@babel/types" "^7.23.6" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + +"@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-module-imports@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz#945681931a52f15ce879fd5b86ce2dae6d3d7f2a" + integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" + integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== + +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + +"@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== + +"@babel/helpers@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.0.tgz#a3dd462b41769c95db8091e49cfe019389a9409b" + integrity sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA== + dependencies: + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.0" + "@babel/types" "^7.24.0" + +"@babel/highlight@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" + integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.0.tgz#26a3d1ff49031c53a97d03b604375f028746a9ac" + integrity sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg== + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.7.2": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f" + integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/template@^7.22.15", "@babel/template@^7.24.0", "@babel/template@^7.3.3": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" + integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.24.0" + "@babel/types" "^7.24.0" + +"@babel/traverse@^7.24.0", "@babel/traverse@^7.7.2": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.0.tgz#4a408fbf364ff73135c714a2ab46a5eab2831b1e" + integrity sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.24.0" + "@babel/types" "^7.24.0" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6", "@babel/types@^7.24.0", "@babel/types@^7.3.3": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf" + integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/console@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.5.1.tgz#260fe7239602fe5130a94f1aa386eff54b014bba" + integrity sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg== + dependencies: + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^27.5.1" + jest-util "^27.5.1" + slash "^3.0.0" + +"@jest/core@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.5.1.tgz#267ac5f704e09dc52de2922cbf3af9edcd64b626" + integrity sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ== + dependencies: + "@jest/console" "^27.5.1" + "@jest/reporters" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.8.1" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-changed-files "^27.5.1" + jest-config "^27.5.1" + jest-haste-map "^27.5.1" + jest-message-util "^27.5.1" + jest-regex-util "^27.5.1" + jest-resolve "^27.5.1" + jest-resolve-dependencies "^27.5.1" + jest-runner "^27.5.1" + jest-runtime "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + jest-validate "^27.5.1" + jest-watcher "^27.5.1" + micromatch "^4.0.4" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.5.1.tgz#d7425820511fe7158abbecc010140c3fd3be9c74" + integrity sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA== + dependencies: + "@jest/fake-timers" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + jest-mock "^27.5.1" + +"@jest/fake-timers@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz#76979745ce0579c8a94a4678af7a748eda8ada74" + integrity sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ== + dependencies: + "@jest/types" "^27.5.1" + "@sinonjs/fake-timers" "^8.0.1" + "@types/node" "*" + jest-message-util "^27.5.1" + jest-mock "^27.5.1" + jest-util "^27.5.1" + +"@jest/globals@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.5.1.tgz#7ac06ce57ab966566c7963431cef458434601b2b" + integrity sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/types" "^27.5.1" + expect "^27.5.1" + +"@jest/reporters@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.5.1.tgz#ceda7be96170b03c923c37987b64015812ffec04" + integrity sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.9" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^5.1.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-haste-map "^27.5.1" + jest-resolve "^27.5.1" + jest-util "^27.5.1" + jest-worker "^27.5.1" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^4.0.1" + terminal-link "^2.0.0" + v8-to-istanbul "^8.1.0" + +"@jest/source-map@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.5.1.tgz#6608391e465add4205eae073b55e7f279e04e8cf" + integrity sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.9" + source-map "^0.6.0" + +"@jest/test-result@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.5.1.tgz#56a6585fa80f7cdab72b8c5fc2e871d03832f5bb" + integrity sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag== + dependencies: + "@jest/console" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz#4057e0e9cea4439e544c6353c6affe58d095745b" + integrity sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ== + dependencies: + "@jest/test-result" "^27.5.1" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-runtime "^27.5.1" + +"@jest/transform@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.1.tgz#6c3501dcc00c4c08915f292a600ece5ecfe1f409" + integrity sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^27.5.1" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-regex-util "^27.5.1" + jest-util "^27.5.1" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/types@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80" + integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^16.0.0" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.24": + version "0.3.25" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@sinonjs/commons@^1.7.0": + version "1.8.6" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" + integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^8.0.1": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz#3fdc2b6cb58935b21bfb8d1625eb1300484316e7" + integrity sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" + integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== + dependencies: + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.8" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" + integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" + integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.5.tgz#7b7502be0aa80cc4ef22978846b983edaafcd4dd" + integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== + dependencies: + "@babel/types" "^7.20.7" + +"@types/graceful-fs@^4.1.2": + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" + integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== + +"@types/istanbul-lib-report@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/node@*": + version "20.11.25" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.25.tgz#0f50d62f274e54dd7a49f7704cc16bfbcccaf49f" + integrity sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw== + dependencies: + undici-types "~5.26.4" + +"@types/prettier@^2.1.5": + version "2.7.3" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" + integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== + +"@types/stack-utils@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" + integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== + +"@types/tough-cookie@2.x": + version "2.3.11" + resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-2.3.11.tgz#1c5431f11b274d1c768dc38a86006c58c68fa813" + integrity sha512-xtFyCxnfpItBS6wRt6M+be0PzNEP6J/CqTR0mHCf/OzIbbOOh6DQ1MjiyzDrzDctzgYSmRcHH3PBvTO2hYovLg== + +"@types/yargs-parser@*": + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== + +"@types/yargs@^16.0.0": + version "16.0.9" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.9.tgz#ba506215e45f7707e6cbcaf386981155b7ab956e" + integrity sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA== + dependencies: + "@types/yargs-parser" "*" + +abab@^2.0.3, abab@^2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" + integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== + +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^7.1.1: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.2.4: + version "8.11.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +agentkeepalive@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" + integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== + dependencies: + humanize-ms "^1.2.1" + +already@1.x: + version "1.13.2" + resolved "https://registry.yarnpkg.com/already/-/already-1.13.2.tgz#1441d2ae975f4a9b5ac2f53b4fa062af1d46b77d" + integrity sha512-GU0ZqMhSetZeDlivqttmAmd2UpCbPSucziaDJcCN2NdOTedzaJTqZZwHHuGJvp0Us1wzQG0vSqFqax1SqgH8Aw== + dependencies: + throat "^5.0.0" + +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +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== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +anymatch@^3.0.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +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== + dependencies: + sprintf-js "~1.0.2" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +axios@^0.21.1: + version "0.21.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" + integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== + dependencies: + follow-redirects "^1.14.0" + +babel-jest@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444" + integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg== + dependencies: + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^27.5.1" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz#9be98ecf28c331eb9f5df9c72d6f89deb8181c2e" + integrity sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + +babel-preset-jest@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz#91f10f58034cb7989cb4f962b69fa6eef6a6bc81" + integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag== + dependencies: + babel-plugin-jest-hoist "^27.5.1" + babel-preset-current-node-syntax "^1.0.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +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== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browser-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +browserslist@^4.22.2: + version "4.23.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" + integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== + dependencies: + caniuse-lite "^1.0.30001587" + electron-to-chromium "^1.4.668" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +callguard@1.x: + version "1.2.2" + resolved "https://registry.yarnpkg.com/callguard/-/callguard-1.2.2.tgz#efe95e3ce0e9ec734e0177d244236098ebc1e880" + integrity sha512-mnZSq7LVdYpMBPO+ciQ2seO7kYkenAKAJsvHGmbPjTk7/rsR4HfboAIoxQYq4g5s3M5L9T7jASWrk6Lz+1aH8Q== + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +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@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001587: + version "1.0.30001594" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001594.tgz#bea552414cd52c2d0c985ed9206314a696e685f5" + integrity sha512-VblSX6nYqyJVs8DKFMldE2IVCJjZ225LW00ydtUWwh5hk9IfkTOffO6r8gJNsH0qqqeAF8KrbMYA2VEwTlGW5g== + +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== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +cheerio-select@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4" + integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g== + dependencies: + boolbase "^1.0.0" + css-select "^5.1.0" + css-what "^6.1.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + domutils "^3.0.1" + +cheerio@^1.0.0-rc.5: + version "1.0.0-rc.12" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.12.tgz#788bf7466506b1c6bf5fae51d24a2c4d62e47683" + integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== + dependencies: + cheerio-select "^2.1.0" + dom-serializer "^2.0.0" + domhandler "^5.0.3" + domutils "^3.0.1" + htmlparser2 "^8.0.1" + parse5 "^7.0.0" + parse5-htmlparser2-tree-adapter "^7.0.0" + +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +cjs-module-lexer@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" + integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== + +collect-v8-coverage@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" + integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== + +color-convert@^1.9.0: + 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 sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +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== + +combined-stream@^1.0.8: + 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" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +convert-source-map@^1.4.0, convert-source-map@^1.6.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css-select@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" + integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== + dependencies: + boolbase "^1.0.0" + css-what "^6.1.0" + domhandler "^5.0.2" + domutils "^3.0.1" + nth-check "^2.0.1" + +css-what@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +decimal.js@^10.2.1: + version "10.4.3" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" + integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== + +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +diff-sequences@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" + integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== + +dom-serializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + entities "^4.2.0" + +domelementtype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + +domhandler@^5.0.2, domhandler@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + +domutils@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" + integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== + dependencies: + dom-serializer "^2.0.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + +electron-to-chromium@^1.4.668: + version "1.4.694" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.694.tgz#33dfb64406066a0d2f1e562be816276567bd98a9" + integrity sha512-kM3SwvGTYpBFJSc8jm4IYVMIOzDmAGd/Ry96O9elRiM6iEwHKNKhtXyFGzpfMMIGZD84W4/hyaULlMmNVvLQlQ== + +emittery@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" + integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== + +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== + +end-of-stream@^1.1.0: + 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" + +entities@^4.2.0, entities@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +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" + +escalade@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + +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 sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escodegen@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" + integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionalDependencies: + source-map "~0.6.1" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== + +expect@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/expect/-/expect-27.5.1.tgz#83ce59f1e5bdf5f9d2b94b61d2050db48f3fef74" + integrity sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw== + dependencies: + "@jest/types" "^27.5.1" + jest-get-type "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + +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== + +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== + dependencies: + bser "2.1.1" + +fetch-h2@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/fetch-h2/-/fetch-h2-1.2.3.tgz#6fdfa41385432895e8486262e98e5da417af4b7f" + integrity sha512-zQ46gbz1g49JCKX2fsZqMVllmNp2YwFWVH3OW29l0kdZ/wEfL5lCwqLeUS+60r2FeAoMVfebV0Y4HzJPqRxTRg== + dependencies: + "@types/tough-cookie" "2.x" + already "1.x" + callguard "1.x" + get-stream "4.x" + through2 "3.x" + to-arraybuffer "1.x" + tough-cookie "3.x" + +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" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +follow-redirects@^1.14.0: + version "1.15.5" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020" + integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== + +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@^2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.5: + 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-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-stream@4.x: + 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@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +graceful-fs@^4.1.11, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +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== + +hasown@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.1.tgz#26f48f039de2c0f8d3356c223fb8d50253519faa" + integrity sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA== + dependencies: + function-bind "^1.1.2" + +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +htmlparser2@^8.0.1: + version "8.0.2" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-8.0.2.tgz#f002151705b383e62433b5cf466f5b716edaec21" + integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.3" + domutils "^3.0.1" + entities "^4.4.0" + +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + +https-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== + dependencies: + ms "^2.0.0" + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.3, inherits@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw== + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-core-module@^2.13.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +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-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +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-potential-custom-element-name@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== + +istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-report@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^4.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.1.3: + version "3.1.7" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" + integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz#a348aed00ec9bf671cc58a66fcbe7c3dfd6a68f5" + integrity sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw== + dependencies: + "@jest/types" "^27.5.1" + execa "^5.0.0" + throat "^6.0.1" + +jest-circus@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.5.1.tgz#37a5a4459b7bf4406e53d637b49d22c65d125ecc" + integrity sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^0.7.0" + expect "^27.5.1" + is-generator-fn "^2.0.0" + jest-each "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + jest-runtime "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + pretty-format "^27.5.1" + slash "^3.0.0" + stack-utils "^2.0.3" + throat "^6.0.1" + +jest-cli@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.5.1.tgz#278794a6e6458ea8029547e6c6cbf673bd30b145" + integrity sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw== + dependencies: + "@jest/core" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + import-local "^3.0.2" + jest-config "^27.5.1" + jest-util "^27.5.1" + jest-validate "^27.5.1" + prompts "^2.0.1" + yargs "^16.2.0" + +jest-config@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.5.1.tgz#5c387de33dca3f99ad6357ddeccd91bf3a0e4a41" + integrity sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA== + dependencies: + "@babel/core" "^7.8.0" + "@jest/test-sequencer" "^27.5.1" + "@jest/types" "^27.5.1" + babel-jest "^27.5.1" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.9" + jest-circus "^27.5.1" + jest-environment-jsdom "^27.5.1" + jest-environment-node "^27.5.1" + jest-get-type "^27.5.1" + jest-jasmine2 "^27.5.1" + jest-regex-util "^27.5.1" + jest-resolve "^27.5.1" + jest-runner "^27.5.1" + jest-util "^27.5.1" + jest-validate "^27.5.1" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^27.5.1" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" + integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== + dependencies: + chalk "^4.0.0" + diff-sequences "^27.5.1" + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + +jest-docblock@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0" + integrity sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ== + dependencies: + detect-newline "^3.0.0" + +jest-each@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.5.1.tgz#5bc87016f45ed9507fed6e4702a5b468a5b2c44e" + integrity sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ== + dependencies: + "@jest/types" "^27.5.1" + chalk "^4.0.0" + jest-get-type "^27.5.1" + jest-util "^27.5.1" + pretty-format "^27.5.1" + +jest-environment-jsdom@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz#ea9ccd1fc610209655a77898f86b2b559516a546" + integrity sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/fake-timers" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + jest-mock "^27.5.1" + jest-util "^27.5.1" + jsdom "^16.6.0" + +jest-environment-node@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz#dedc2cfe52fab6b8f5714b4808aefa85357a365e" + integrity sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/fake-timers" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + jest-mock "^27.5.1" + jest-util "^27.5.1" + +jest-get-type@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" + integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== + +jest-haste-map@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" + integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== + dependencies: + "@jest/types" "^27.5.1" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^27.5.1" + jest-serializer "^27.5.1" + jest-util "^27.5.1" + jest-worker "^27.5.1" + micromatch "^4.0.4" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.3.2" + +jest-jasmine2@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz#a037b0034ef49a9f3d71c4375a796f3b230d1ac4" + integrity sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/source-map" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^27.5.1" + is-generator-fn "^2.0.0" + jest-each "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + jest-runtime "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + pretty-format "^27.5.1" + throat "^6.0.1" + +jest-leak-detector@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz#6ec9d54c3579dd6e3e66d70e3498adf80fde3fb8" + integrity sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ== + dependencies: + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + +jest-matcher-utils@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" + integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== + dependencies: + chalk "^4.0.0" + jest-diff "^27.5.1" + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + +jest-message-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.1.tgz#bdda72806da10d9ed6425e12afff38cd1458b6cf" + integrity sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^27.5.1" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^27.5.1" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6" + integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og== + dependencies: + "@jest/types" "^27.5.1" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" + integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== + +jest-regex-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" + integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== + +jest-resolve-dependencies@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz#d811ecc8305e731cc86dd79741ee98fed06f1da8" + integrity sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg== + dependencies: + "@jest/types" "^27.5.1" + jest-regex-util "^27.5.1" + jest-snapshot "^27.5.1" + +jest-resolve@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.1.tgz#a2f1c5a0796ec18fe9eb1536ac3814c23617b384" + integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw== + dependencies: + "@jest/types" "^27.5.1" + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-pnp-resolver "^1.2.2" + jest-util "^27.5.1" + jest-validate "^27.5.1" + resolve "^1.20.0" + resolve.exports "^1.1.0" + slash "^3.0.0" + +jest-runner@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.5.1.tgz#071b27c1fa30d90540805c5645a0ec167c7b62e5" + integrity sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ== + dependencies: + "@jest/console" "^27.5.1" + "@jest/environment" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.8.1" + graceful-fs "^4.2.9" + jest-docblock "^27.5.1" + jest-environment-jsdom "^27.5.1" + jest-environment-node "^27.5.1" + jest-haste-map "^27.5.1" + jest-leak-detector "^27.5.1" + jest-message-util "^27.5.1" + jest-resolve "^27.5.1" + jest-runtime "^27.5.1" + jest-util "^27.5.1" + jest-worker "^27.5.1" + source-map-support "^0.5.6" + throat "^6.0.1" + +jest-runtime@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.5.1.tgz#4896003d7a334f7e8e4a53ba93fb9bcd3db0a1af" + integrity sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/fake-timers" "^27.5.1" + "@jest/globals" "^27.5.1" + "@jest/source-map" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + execa "^5.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-message-util "^27.5.1" + jest-mock "^27.5.1" + jest-regex-util "^27.5.1" + jest-resolve "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-serializer@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64" + integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.9" + +jest-snapshot@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz#b668d50d23d38054a51b42c4039cab59ae6eb6a1" + integrity sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA== + dependencies: + "@babel/core" "^7.7.2" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/traverse" "^7.7.2" + "@babel/types" "^7.0.0" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.1.5" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^27.5.1" + graceful-fs "^4.2.9" + jest-diff "^27.5.1" + jest-get-type "^27.5.1" + jest-haste-map "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + jest-util "^27.5.1" + natural-compare "^1.4.0" + pretty-format "^27.5.1" + semver "^7.3.2" + +jest-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" + integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== + dependencies: + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067" + integrity sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== + dependencies: + "@jest/types" "^27.5.1" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^27.5.1" + leven "^3.1.0" + pretty-format "^27.5.1" + +jest-watcher@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.1.tgz#71bd85fb9bde3a2c2ec4dc353437971c43c642a2" + integrity sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw== + dependencies: + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^27.5.1" + string-length "^4.0.1" + +jest-worker@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@^27.0.6: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest/-/jest-27.5.1.tgz#dadf33ba70a779be7a6fc33015843b51494f63fc" + integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ== + dependencies: + "@jest/core" "^27.5.1" + import-local "^3.0.2" + jest-cli "^27.5.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== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsdom@^16.6.0: + version "16.7.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" + integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== + dependencies: + abab "^2.0.5" + acorn "^8.2.4" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.3.0" + data-urls "^2.0.0" + decimal.js "^10.2.1" + domexception "^2.0.1" + escodegen "^2.0.0" + form-data "^3.0.0" + html-encoding-sniffer "^2.0.1" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.0" + parse5 "6.0.1" + saxes "^5.0.1" + symbol-tree "^3.2.4" + tough-cookie "^4.0.0" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.5.0" + ws "^7.4.6" + xml-name-validator "^3.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash@^4.7.0: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +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== + dependencies: + 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== + dependencies: + yallist "^4.0.0" + +make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.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== + +minimatch@^3.0.4, minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@^2.0.0: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +node-fetch@^2.6.1: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== + +node-localstorage@^2.0.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/node-localstorage/-/node-localstorage-2.2.1.tgz#869723550a4883e426cb391d2df0b563a51c7c1c" + integrity sha512-vv8fJuOUCCvSPjDjBLlMqYMHob4aGjkmrkaE42/mZr0VT+ZAU10jRF8oTnX9+pgU9/vYJ8P7YT3Vd6ajkmzSCw== + dependencies: + write-file-atomic "^1.1.4" + +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + +normalize-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +nwsapi@^2.2.0: + version "2.2.7" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" + integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== + +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 sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.2: + 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" + +p-limit@^2.2.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@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +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== + +parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse5-htmlparser2-tree-adapter@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz#23c2cc233bcf09bb7beba8b8a69d46b08c62c2f1" + integrity sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g== + dependencies: + domhandler "^5.0.2" + parse5 "^7.0.0" + +parse5@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +parse5@^7.0.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + dependencies: + entities "^4.4.0" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +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 sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pirates@^4.0.4: + version "4.0.6" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pretty-format@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" + integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== + dependencies: + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^17.0.1" + +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +psl@^1.1.28, psl@^1.1.33: + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + +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== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^2.1.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +"readable-stream@2 || 3": + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve.exports@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.1.tgz#05cfd5b3edf641571fd46fa608b610dda9ead999" + integrity sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ== + +resolve@^1.20.0: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.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== + dependencies: + glob "^7.1.3" + +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== + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +saxes@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + +semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.3.2, semver@^7.5.3: + version "7.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +signal-exit@^3.0.2, signal-exit@^3.0.3: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slide@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" + integrity sha512-NwrtjCg+lZoqhFU8fOwl4ay2ei8PaqCBOUV3/ektPY9trO1yQ1oXEfmHAhKArUVUr/hOHvy5f6AdP17dCM0zMw== + +source-map-support@^0.5.6: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0, source-map@^0.6.1, 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.7.3: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== + dependencies: + escape-string-regexp "^2.0.0" + +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +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== + dependencies: + safe-buffer "~5.2.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-hyperlinks@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" + integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +symbol-tree@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== + +throat@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.2.tgz#51a3fbb5e11ae72e2cf74861ed5c8020f89f29fe" + integrity sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ== + +through2@3.x: + version "3.0.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4" + integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ== + dependencies: + inherits "^2.0.4" + readable-stream "2 || 3" + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-arraybuffer@1.x: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +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== + dependencies: + is-number "^7.0.0" + +tough-cookie@3.x: + version "3.0.1" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" + integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== + dependencies: + ip-regex "^2.1.0" + psl "^1.1.28" + punycode "^2.1.1" + +tough-cookie@^4.0.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" + integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.2.0" + url-parse "^1.5.3" + +tr46@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== + dependencies: + punycode "^2.1.1" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +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== + dependencies: + is-typedarray "^1.0.0" + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" + integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== + +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +url-parse@^1.5.3: + version "1.5.10" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +util-deprecate@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +v8-to-istanbul@^8.1.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz#77b752fd3975e31bbcef938f85e9bd1c7a8d60ed" + integrity sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + +walker@^1.0.7: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +whatwg-url@^8.0.0, whatwg-url@^8.5.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" + integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== + dependencies: + lodash "^4.7.0" + tr46 "^2.1.0" + webidl-conversions "^6.1.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^1.1.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f" + integrity sha512-SdrHoC/yVBPpV0Xq/mUZQIpW2sWXAShb/V4pomcJXh92RuaO+f3UTWItiR3Px+pLnV2PvC2/bfn5cwr5X6Vfxw== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + slide "^1.1.5" + +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== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^7.4.6: + version "7.5.9" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +xmlchars@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +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@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" diff --git a/apps/chat-widget/index.html b/apps/chat-widget/index.html new file mode 100644 index 000000000..8475bfc69 --- /dev/null +++ b/apps/chat-widget/index.html @@ -0,0 +1,91 @@ + + + + Chat Window Iframe Example + + + + +
+ + + + + diff --git a/apps/dfda-1/composer.lock b/apps/dfda-1/composer.lock index 2e4e1d1c2..06fb2b1a4 100644 --- a/apps/dfda-1/composer.lock +++ b/apps/dfda-1/composer.lock @@ -13604,16 +13604,16 @@ }, { "name": "phpseclib/phpseclib", - "version": "3.0.34", + "version": "3.0.37", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "56c79f16a6ae17e42089c06a2144467acc35348a" + "reference": "cfa2013d0f68c062055180dd4328cc8b9d1f30b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/56c79f16a6ae17e42089c06a2144467acc35348a", - "reference": "56c79f16a6ae17e42089c06a2144467acc35348a", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/cfa2013d0f68c062055180dd4328cc8b9d1f30b8", + "reference": "cfa2013d0f68c062055180dd4328cc8b9d1f30b8", "shasum": "" }, "require": { @@ -13694,7 +13694,7 @@ ], "support": { "issues": "https://github.com/phpseclib/phpseclib/issues", - "source": "https://github.com/phpseclib/phpseclib/tree/3.0.34" + "source": "https://github.com/phpseclib/phpseclib/tree/3.0.37" }, "funding": [ { @@ -13710,7 +13710,7 @@ "type": "tidelift" } ], - "time": "2023-11-27T11:13:31+00:00" + "time": "2024-03-03T02:14:58+00:00" }, { "name": "phpunit/php-code-coverage", diff --git a/apps/dfda-1/public/app/.gitignore b/apps/dfda-1/public/app/.gitignore index c4b9005ac..17a54a11e 100644 --- a/apps/dfda-1/public/app/.gitignore +++ b/apps/dfda-1/public/app/.gitignore @@ -124,3 +124,4 @@ cypress/**/*.map .vercel /src/data/buildInfo.js /public/local-libs +/public/video/ diff --git a/apps/dfda-1/public/app/public/css/app.css b/apps/dfda-1/public/app/public/css/app.css index 8414e58f0..20e7eac46 100644 --- a/apps/dfda-1/public/app/public/css/app.css +++ b/apps/dfda-1/public/app/public/css/app.css @@ -25688,203 +25688,7 @@ img.intro-primary-outcome-variable-rating-buttons { z-index: 5; background-color: #db3236; } -.torso { - position: absolute; - bottom: 0; - left: calc(50% - 20px); - width: 40px; - height: 60px; - border-radius: 0px 0px 0 0; - border: 2px solid #000000; - background: linear-gradient(to right, #b7afaf 0%, #b7b0b0 40%, #afa6a6 60%, #b9b0b0 100%); } - -.neck { - position: absolute; - bottom: 45px; - left: calc(50% - 5px); - width: 4px; - height: 50px; - border-radius: 15px; - border: 2px solid #000000; - background: repeating-linear-gradient(180deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) 7%, #646464 10%), linear-gradient(to right, #ccc 0%, #e6e6e6 40%, #e6e6e6 60%, #ccc 100%); } - -.arms { - position: absolute; - bottom: 0; - left: 50px; - right: 50px; - height: 50px; } - -.arm { - position: absolute; - border: 2px solid #000000; - top: 0; - width: 10px; - height: 50px; - border-radius: 10px 10px 0 0; - background: repeating-linear-gradient(180deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) 7%, #646464 10%), linear-gradient(to right, #ccc 0%, #e6e6e6 40%, #e6e6e6 60%, #ccc 100%); } - -.arm_left { - left: 0; } - -.arm_right { - right: 0; } - -@-webkit-keyframes lowAnim { - 0% { - -webkit-filter: url("#low-0"); - filter: url("#low-0"); } - 25% { - -webkit-filter: url("#low-1"); - filter: url("#low-1"); } - 50% { - -webkit-filter: url("#low-2"); - filter: url("#low-2"); } - 75% { - -webkit-filter: url("#low-3"); - filter: url("#low-3"); } - 100% { - -webkit-filter: url("#low-4"); - filter: url("#low-4"); } } - -@keyframes lowAnim { - 0% { - -webkit-filter: url("#low-0"); - filter: url("#low-0"); } - 25% { - -webkit-filter: url("#low-1"); - filter: url("#low-1"); } - 50% { - -webkit-filter: url("#low-2"); - filter: url("#low-2"); } - 75% { - -webkit-filter: url("#low-3"); - filter: url("#low-3"); } - 100% { - -webkit-filter: url("#low-4"); - filter: url("#low-4"); } } - -@-webkit-keyframes listeningAnim { - 0% { - -webkit-filter: url("#listening-0"); - filter: url("#listening-0"); } - 25% { - -webkit-filter: url("#listening-1"); - filter: url("#listening-1"); } - 50% { - -webkit-filter: url("#listening-2"); - filter: url("#listening-2"); } - 75% { - -webkit-filter: url("#listening-3"); - filter: url("#listening-3"); } - 100% { - -webkit-filter: url("#listening-4"); - filter: url("#listening-4"); } } - -@keyframes listeningAnim { - 0% { - -webkit-filter: url("#listening-0"); - filter: url("#listening-0"); } - 25% { - -webkit-filter: url("#listening-1"); - filter: url("#listening-1"); } - 50% { - -webkit-filter: url("#listening-2"); - filter: url("#listening-2"); } - 75% { - -webkit-filter: url("#listening-3"); - filter: url("#listening-3"); } - 100% { - -webkit-filter: url("#listening-4"); - filter: url("#listening-4"); } } - -@-webkit-keyframes speakingAnim { - 0% { - -webkit-filter: url("#speaking-0"); - filter: url("#speaking-0"); } - 25% { - -webkit-filter: url("#speaking-1"); - filter: url("#speaking-1"); } - 50% { - -webkit-filter: url("#speaking-2"); - filter: url("#speaking-2"); } - 75% { - -webkit-filter: url("#speaking-3"); - filter: url("#speaking-3"); } - 100% { - -webkit-filter: url("#speaking-4"); - filter: url("#speaking-4"); } } -@keyframes speakingAnim { - 0% { - -webkit-filter: url("#speaking-0"); - filter: url("#speaking-0"); } - 25% { - -webkit-filter: url("#speaking-1"); - filter: url("#speaking-1"); } - 50% { - -webkit-filter: url("#speaking-2"); - filter: url("#speaking-2"); } - 75% { - -webkit-filter: url("#speaking-3"); - filter: url("#speaking-3"); } - 100% { - -webkit-filter: url("#speaking-4"); - filter: url("#speaking-4"); } } - -@-webkit-keyframes bob { - 0% { - -webkit-transform: rotate(-3deg); - transform: rotate(-3deg); } - 40% { - -webkit-transform: rotate(-3deg); - transform: rotate(-3deg); - -webkit-animation-timing-function: cubic-bezier(1, 0, 0, 1); - animation-timing-function: cubic-bezier(1, 0, 0, 1); } - 60% { - -webkit-transform: rotate(3deg); - transform: rotate(3deg); } - 100% { - -webkit-transform: rotate(3deg); - transform: rotate(3deg); } } - -@keyframes bob { - 0% { - -webkit-transform: rotate(-3deg); - transform: rotate(-3deg); } - 40% { - -webkit-transform: rotate(-3deg); - transform: rotate(-3deg); - -webkit-animation-timing-function: cubic-bezier(1, 0, 0, 1); - animation-timing-function: cubic-bezier(1, 0, 0, 1); } - 60% { - -webkit-transform: rotate(3deg); - transform: rotate(3deg); } - 100% { - -webkit-transform: rotate(3deg); - transform: rotate(3deg); } } - -@-webkit-keyframes blink { - 50% { - -webkit-transform: scale(1, 1); - transform: scale(1, 1); } - 51% { - -webkit-transform: scale(1, 0.1); - transform: scale(1, 0.1); } - 52% { - -webkit-transform: scale(1, 1); - transform: scale(1, 1); } } - -@keyframes blink { - 50% { - -webkit-transform: scale(1, 1); - transform: scale(1, 1); } - 51% { - -webkit-transform: scale(1, 0.1); - transform: scale(1, 0.1); } - 52% { - -webkit-transform: scale(1, 1); - transform: scale(1, 1); } } /* Variable settings page */ /* @@ -26437,7 +26241,7 @@ body::after { margin: 19px; border-radius: 10px; background-color: rgba(255, 255, 255, .9); - backdrop-filter: blur(5px); + /*backdrop-filter: blur(5px);*/ box-shadow: 0 1px 3px rgb(0 0 0 / 50%); } @@ -26943,7 +26747,7 @@ body::after { width: auto; height: auto; object-fit: contain; - z-index: 3; + z-index: 11; margin: auto; } @@ -27026,7 +26830,7 @@ body::after { font-size: 18px; background-color: transparent; /* Green */ border: none; - color: white; + color: black; text-align: center; text-decoration: none; display: inline-block; @@ -27052,3 +26856,20 @@ body::after { .slider-pager { display: none !important; } + +.presentation-title { + position: absolute; + top: 50%; + left: 50%; + color: white; + font-size: 60px; + font-weight: bold; + text-align: center; + display: flex; + justify-content: center; + align-items: center; + transform: translate(-50%, -50%); + line-height: 1.3; + z-index: 12; + text-shadow: -2px 0 black, 0 2px black, 2px 0 black, 0 -2px black; +} diff --git a/apps/dfda-1/public/app/public/css/app.min.css b/apps/dfda-1/public/app/public/css/app.min.css deleted file mode 100644 index c030090fa..000000000 --- a/apps/dfda-1/public/app/public/css/app.min.css +++ /dev/null @@ -1 +0,0 @@ -@charset "UTF-8";address,cite{font-style:normal}.badge,sub,sup{vertical-align:baseline}.content,sub,sup{position:relative}.backdrop,.ng-animate .scroll-bar{visibility:hidden}.tabs,ion-infinite-scroll{-webkit-box-orient:horizontal;-webkit-box-direction:normal}.disable-user-behavior,.ionic-body,a,body,html{-webkit-tap-highlight-color:transparent}.md-button .md-ripple-container,.md-button.md-fab .md-ripple-container,.md-button.md-icon-button .md-ripple-container{-webkit-mask-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);background-clip:padding-box}.dtp table,.md-calendar,.md-calendar-day-header,table{border-spacing:0;border-collapse:collapse}.block,.block:after,.button-bar.button-bar-inline:after,.button-block,.button-block:after,.clearfix:after,.md-chips:after{clear:both}._md-nav-bar-list,md-sidenav ul,ol,ul{list-style:none}.disable-user-behavior,.ionic-body,.md-tab.md-disabled,a,body,img{-webkit-user-drag:none}highchart{display:block;width:100%;max-width:100%}@font-face{font-family:Ionicons;src:url(../lib/ionic/fonts/ionicons.eot?v=2.0.1);src:url(../lib/ionic/fonts/ionicons.eot?v=2.0.1#iefix) format("embedded-opentype"),url(../fonts/ionicons.ttf?v=2.0.1) format("truetype"),url(../fonts/ionicons.woff?v=2.0.1) format("woff"),url(../lib/ionic/fonts/ionicons.woff) format("woff"),url(../lib/ionic/fonts/ionicons.svg?v=2.0.1#Ionicons) format("svg");font-weight:400;font-style:normal}.ion,.ion-alert-circled:before,.ion-alert:before,.ion-android-add-circle:before,.ion-android-add:before,.ion-android-alarm-clock:before,.ion-android-alert:before,.ion-android-apps:before,.ion-android-archive:before,.ion-android-arrow-back:before,.ion-android-arrow-down:before,.ion-android-arrow-dropdown-circle:before,.ion-android-arrow-dropdown:before,.ion-android-arrow-dropleft-circle:before,.ion-android-arrow-dropleft:before,.ion-android-arrow-dropright-circle:before,.ion-android-arrow-dropright:before,.ion-android-arrow-dropup-circle:before,.ion-android-arrow-dropup:before,.ion-android-arrow-forward:before,.ion-android-arrow-up:before,.ion-android-attach:before,.ion-android-bar:before,.ion-android-bicycle:before,.ion-android-boat:before,.ion-android-bookmark:before,.ion-android-bulb:before,.ion-android-bus:before,.ion-android-calendar:before,.ion-android-call:before,.ion-android-camera:before,.ion-android-cancel:before,.ion-android-car:before,.ion-android-cart:before,.ion-android-chat:before,.ion-android-checkbox-blank:before,.ion-android-checkbox-outline-blank:before,.ion-android-checkbox-outline:before,.ion-android-checkbox:before,.ion-android-checkmark-circle:before,.ion-android-clipboard:before,.ion-android-close:before,.ion-android-cloud-circle:before,.ion-android-cloud-done:before,.ion-android-cloud-outline:before,.ion-android-cloud:before,.ion-android-color-palette:before,.ion-android-compass:before,.ion-android-contact:before,.ion-android-contacts:before,.ion-android-contract:before,.ion-android-create:before,.ion-android-delete:before,.ion-android-desktop:before,.ion-android-document:before,.ion-android-done-all:before,.ion-android-done:before,.ion-android-download:before,.ion-android-drafts:before,.ion-android-exit:before,.ion-android-expand:before,.ion-android-favorite-outline:before,.ion-android-favorite:before,.ion-android-film:before,.ion-android-folder-open:before,.ion-android-folder:before,.ion-android-funnel:before,.ion-android-globe:before,.ion-android-hand:before,.ion-android-hangout:before,.ion-android-happy:before,.ion-android-home:before,.ion-android-image:before,.ion-android-laptop:before,.ion-android-list:before,.ion-android-locate:before,.ion-android-lock:before,.ion-android-mail:before,.ion-android-map:before,.ion-android-menu:before,.ion-android-microphone-off:before,.ion-android-microphone:before,.ion-android-more-horizontal:before,.ion-android-more-vertical:before,.ion-android-navigate:before,.ion-android-notifications-none:before,.ion-android-notifications-off:before,.ion-android-notifications:before,.ion-android-open:before,.ion-android-options:before,.ion-android-people:before,.ion-android-person-add:before,.ion-android-person:before,.ion-android-phone-landscape:before,.ion-android-phone-portrait:before,.ion-android-pin:before,.ion-android-plane:before,.ion-android-playstore:before,.ion-android-print:before,.ion-android-radio-button-off:before,.ion-android-radio-button-on:before,.ion-android-refresh:before,.ion-android-remove-circle:before,.ion-android-remove:before,.ion-android-restaurant:before,.ion-android-sad:before,.ion-android-search:before,.ion-android-send:before,.ion-android-settings:before,.ion-android-share-alt:before,.ion-android-share:before,.ion-android-star-half:before,.ion-android-star-outline:before,.ion-android-star:before,.ion-android-stopwatch:before,.ion-android-subway:before,.ion-android-sunny:before,.ion-android-sync:before,.ion-android-textsms:before,.ion-android-time:before,.ion-android-train:before,.ion-android-unlock:before,.ion-android-upload:before,.ion-android-volume-down:before,.ion-android-volume-mute:before,.ion-android-volume-off:before,.ion-android-volume-up:before,.ion-android-walk:before,.ion-android-warning:before,.ion-android-watch:before,.ion-android-wifi:before,.ion-aperture:before,.ion-archive:before,.ion-arrow-down-a:before,.ion-arrow-down-b:before,.ion-arrow-down-c:before,.ion-arrow-expand:before,.ion-arrow-graph-down-left:before,.ion-arrow-graph-down-right:before,.ion-arrow-graph-up-left:before,.ion-arrow-graph-up-right:before,.ion-arrow-left-a:before,.ion-arrow-left-b:before,.ion-arrow-left-c:before,.ion-arrow-move:before,.ion-arrow-resize:before,.ion-arrow-return-left:before,.ion-arrow-return-right:before,.ion-arrow-right-a:before,.ion-arrow-right-b:before,.ion-arrow-right-c:before,.ion-arrow-shrink:before,.ion-arrow-swap:before,.ion-arrow-up-a:before,.ion-arrow-up-b:before,.ion-arrow-up-c:before,.ion-asterisk:before,.ion-at:before,.ion-backspace-outline:before,.ion-backspace:before,.ion-bag:before,.ion-battery-charging:before,.ion-battery-empty:before,.ion-battery-full:before,.ion-battery-half:before,.ion-battery-low:before,.ion-beaker:before,.ion-beer:before,.ion-bluetooth:before,.ion-bonfire:before,.ion-bookmark:before,.ion-bowtie:before,.ion-briefcase:before,.ion-bug:before,.ion-calculator:before,.ion-calendar:before,.ion-camera:before,.ion-card:before,.ion-cash:before,.ion-chatbox-working:before,.ion-chatbox:before,.ion-chatboxes:before,.ion-chatbubble-working:before,.ion-chatbubble:before,.ion-chatbubbles:before,.ion-checkmark-circled:before,.ion-checkmark-round:before,.ion-checkmark:before,.ion-chevron-down:before,.ion-chevron-left:before,.ion-chevron-right:before,.ion-chevron-up:before,.ion-clipboard:before,.ion-clock:before,.ion-close-circled:before,.ion-close-round:before,.ion-close:before,.ion-closed-captioning:before,.ion-cloud:before,.ion-code-download:before,.ion-code-working:before,.ion-code:before,.ion-coffee:before,.ion-compass:before,.ion-compose:before,.ion-connection-bars:before,.ion-contrast:before,.ion-crop:before,.ion-cube:before,.ion-disc:before,.ion-document-text:before,.ion-document:before,.ion-drag:before,.ion-earth:before,.ion-easel:before,.ion-edit:before,.ion-egg:before,.ion-eject:before,.ion-email-unread:before,.ion-email:before,.ion-erlenmeyer-flask-bubbles:before,.ion-erlenmeyer-flask:before,.ion-eye-disabled:before,.ion-eye:before,.ion-female:before,.ion-filing:before,.ion-film-marker:before,.ion-fireball:before,.ion-flag:before,.ion-flame:before,.ion-flash-off:before,.ion-flash:before,.ion-folder:before,.ion-fork-repo:before,.ion-fork:before,.ion-forward:before,.ion-funnel:before,.ion-gear-a:before,.ion-gear-b:before,.ion-grid:before,.ion-hammer:before,.ion-happy-outline:before,.ion-happy:before,.ion-headphone:before,.ion-heart-broken:before,.ion-heart:before,.ion-help-buoy:before,.ion-help-circled:before,.ion-help:before,.ion-home:before,.ion-icecream:before,.ion-image:before,.ion-images:before,.ion-information-circled:before,.ion-information:before,.ion-ionic:before,.ion-ios-alarm-outline:before,.ion-ios-alarm:before,.ion-ios-albums-outline:before,.ion-ios-albums:before,.ion-ios-americanfootball-outline:before,.ion-ios-americanfootball:before,.ion-ios-analytics-outline:before,.ion-ios-analytics:before,.ion-ios-arrow-back:before,.ion-ios-arrow-down:before,.ion-ios-arrow-forward:before,.ion-ios-arrow-left:before,.ion-ios-arrow-right:before,.ion-ios-arrow-thin-down:before,.ion-ios-arrow-thin-left:before,.ion-ios-arrow-thin-right:before,.ion-ios-arrow-thin-up:before,.ion-ios-arrow-up:before,.ion-ios-at-outline:before,.ion-ios-at:before,.ion-ios-barcode-outline:before,.ion-ios-barcode:before,.ion-ios-baseball-outline:before,.ion-ios-baseball:before,.ion-ios-basketball-outline:before,.ion-ios-basketball:before,.ion-ios-bell-outline:before,.ion-ios-bell:before,.ion-ios-body-outline:before,.ion-ios-body:before,.ion-ios-bolt-outline:before,.ion-ios-bolt:before,.ion-ios-book-outline:before,.ion-ios-book:before,.ion-ios-bookmarks-outline:before,.ion-ios-bookmarks:before,.ion-ios-box-outline:before,.ion-ios-box:before,.ion-ios-briefcase-outline:before,.ion-ios-briefcase:before,.ion-ios-browsers-outline:before,.ion-ios-browsers:before,.ion-ios-calculator-outline:before,.ion-ios-calculator:before,.ion-ios-calendar-outline:before,.ion-ios-calendar:before,.ion-ios-camera-outline:before,.ion-ios-camera:before,.ion-ios-cart-outline:before,.ion-ios-cart:before,.ion-ios-chatboxes-outline:before,.ion-ios-chatboxes:before,.ion-ios-chatbubble-outline:before,.ion-ios-chatbubble:before,.ion-ios-checkmark-empty:before,.ion-ios-checkmark-outline:before,.ion-ios-checkmark:before,.ion-ios-circle-filled:before,.ion-ios-circle-outline:before,.ion-ios-clock-outline:before,.ion-ios-clock:before,.ion-ios-close-empty:before,.ion-ios-close-outline:before,.ion-ios-close:before,.ion-ios-cloud-download-outline:before,.ion-ios-cloud-download:before,.ion-ios-cloud-outline:before,.ion-ios-cloud-upload-outline:before,.ion-ios-cloud-upload:before,.ion-ios-cloud:before,.ion-ios-cloudy-night-outline:before,.ion-ios-cloudy-night:before,.ion-ios-cloudy-outline:before,.ion-ios-cloudy:before,.ion-ios-cog-outline:before,.ion-ios-cog:before,.ion-ios-color-filter-outline:before,.ion-ios-color-filter:before,.ion-ios-color-wand-outline:before,.ion-ios-color-wand:before,.ion-ios-compose-outline:before,.ion-ios-compose:before,.ion-ios-contact-outline:before,.ion-ios-contact:before,.ion-ios-copy-outline:before,.ion-ios-copy:before,.ion-ios-crop-strong:before,.ion-ios-crop:before,.ion-ios-download-outline:before,.ion-ios-download:before,.ion-ios-drag:before,.ion-ios-email-outline:before,.ion-ios-email:before,.ion-ios-eye-outline:before,.ion-ios-eye:before,.ion-ios-fastforward-outline:before,.ion-ios-fastforward:before,.ion-ios-filing-outline:before,.ion-ios-filing:before,.ion-ios-film-outline:before,.ion-ios-film:before,.ion-ios-flag-outline:before,.ion-ios-flag:before,.ion-ios-flame-outline:before,.ion-ios-flame:before,.ion-ios-flask-outline:before,.ion-ios-flask:before,.ion-ios-flower-outline:before,.ion-ios-flower:before,.ion-ios-folder-outline:before,.ion-ios-folder:before,.ion-ios-football-outline:before,.ion-ios-football:before,.ion-ios-game-controller-a-outline:before,.ion-ios-game-controller-a:before,.ion-ios-game-controller-b-outline:before,.ion-ios-game-controller-b:before,.ion-ios-gear-outline:before,.ion-ios-gear:before,.ion-ios-glasses-outline:before,.ion-ios-glasses:before,.ion-ios-grid-view-outline:before,.ion-ios-grid-view:before,.ion-ios-heart-outline:before,.ion-ios-heart:before,.ion-ios-help-empty:before,.ion-ios-help-outline:before,.ion-ios-help:before,.ion-ios-home-outline:before,.ion-ios-home:before,.ion-ios-infinite-outline:before,.ion-ios-infinite:before,.ion-ios-information-empty:before,.ion-ios-information-outline:before,.ion-ios-information:before,.ion-ios-ionic-outline:before,.ion-ios-keypad-outline:before,.ion-ios-keypad:before,.ion-ios-lightbulb-outline:before,.ion-ios-lightbulb:before,.ion-ios-list-outline:before,.ion-ios-list:before,.ion-ios-location-outline:before,.ion-ios-location:before,.ion-ios-locked-outline:before,.ion-ios-locked:before,.ion-ios-loop-strong:before,.ion-ios-loop:before,.ion-ios-medical-outline:before,.ion-ios-medical:before,.ion-ios-medkit-outline:before,.ion-ios-medkit:before,.ion-ios-mic-off:before,.ion-ios-mic-outline:before,.ion-ios-mic:before,.ion-ios-minus-empty:before,.ion-ios-minus-outline:before,.ion-ios-minus:before,.ion-ios-monitor-outline:before,.ion-ios-monitor:before,.ion-ios-moon-outline:before,.ion-ios-moon:before,.ion-ios-more-outline:before,.ion-ios-more:before,.ion-ios-musical-note:before,.ion-ios-musical-notes:before,.ion-ios-navigate-outline:before,.ion-ios-navigate:before,.ion-ios-nutrition-outline:before,.ion-ios-nutrition:before,.ion-ios-paper-outline:before,.ion-ios-paper:before,.ion-ios-paperplane-outline:before,.ion-ios-paperplane:before,.ion-ios-partlysunny-outline:before,.ion-ios-partlysunny:before,.ion-ios-pause-outline:before,.ion-ios-pause:before,.ion-ios-paw-outline:before,.ion-ios-paw:before,.ion-ios-people-outline:before,.ion-ios-people:before,.ion-ios-person-outline:before,.ion-ios-person:before,.ion-ios-personadd-outline:before,.ion-ios-personadd:before,.ion-ios-photos-outline:before,.ion-ios-photos:before,.ion-ios-pie-outline:before,.ion-ios-pie:before,.ion-ios-pint-outline:before,.ion-ios-pint:before,.ion-ios-play-outline:before,.ion-ios-play:before,.ion-ios-plus-empty:before,.ion-ios-plus-outline:before,.ion-ios-plus:before,.ion-ios-pricetag-outline:before,.ion-ios-pricetag:before,.ion-ios-pricetags-outline:before,.ion-ios-pricetags:before,.ion-ios-printer-outline:before,.ion-ios-printer:before,.ion-ios-pulse-strong:before,.ion-ios-pulse:before,.ion-ios-rainy-outline:before,.ion-ios-rainy:before,.ion-ios-recording-outline:before,.ion-ios-recording:before,.ion-ios-redo-outline:before,.ion-ios-redo:before,.ion-ios-refresh-empty:before,.ion-ios-refresh-outline:before,.ion-ios-refresh:before,.ion-ios-reload:before,.ion-ios-reverse-camera-outline:before,.ion-ios-reverse-camera:before,.ion-ios-rewind-outline:before,.ion-ios-rewind:before,.ion-ios-rose-outline:before,.ion-ios-rose:before,.ion-ios-search-strong:before,.ion-ios-search:before,.ion-ios-settings-strong:before,.ion-ios-settings:before,.ion-ios-shuffle-strong:before,.ion-ios-shuffle:before,.ion-ios-skipbackward-outline:before,.ion-ios-skipbackward:before,.ion-ios-skipforward-outline:before,.ion-ios-skipforward:before,.ion-ios-snowy:before,.ion-ios-speedometer-outline:before,.ion-ios-speedometer:before,.ion-ios-star-half:before,.ion-ios-star-outline:before,.ion-ios-star:before,.ion-ios-stopwatch-outline:before,.ion-ios-stopwatch:before,.ion-ios-sunny-outline:before,.ion-ios-sunny:before,.ion-ios-telephone-outline:before,.ion-ios-telephone:before,.ion-ios-tennisball-outline:before,.ion-ios-tennisball:before,.ion-ios-thunderstorm-outline:before,.ion-ios-thunderstorm:before,.ion-ios-time-outline:before,.ion-ios-time:before,.ion-ios-timer-outline:before,.ion-ios-timer:before,.ion-ios-toggle-outline:before,.ion-ios-toggle:before,.ion-ios-trash-outline:before,.ion-ios-trash:before,.ion-ios-undo-outline:before,.ion-ios-undo:before,.ion-ios-unlocked-outline:before,.ion-ios-unlocked:before,.ion-ios-upload-outline:before,.ion-ios-upload:before,.ion-ios-videocam-outline:before,.ion-ios-videocam:before,.ion-ios-volume-high:before,.ion-ios-volume-low:before,.ion-ios-wineglass-outline:before,.ion-ios-wineglass:before,.ion-ios-world-outline:before,.ion-ios-world:before,.ion-ipad:before,.ion-iphone:before,.ion-ipod:before,.ion-jet:before,.ion-key:before,.ion-knife:before,.ion-laptop:before,.ion-leaf:before,.ion-levels:before,.ion-lightbulb:before,.ion-link:before,.ion-load-a:before,.ion-load-b:before,.ion-load-c:before,.ion-load-d:before,.ion-location:before,.ion-lock-combination:before,.ion-locked:before,.ion-log-in:before,.ion-log-out:before,.ion-loop:before,.ion-magnet:before,.ion-male:before,.ion-man:before,.ion-map:before,.ion-medkit:before,.ion-merge:before,.ion-mic-a:before,.ion-mic-b:before,.ion-mic-c:before,.ion-minus-circled:before,.ion-minus-round:before,.ion-minus:before,.ion-model-s:before,.ion-monitor:before,.ion-more:before,.ion-mouse:before,.ion-music-note:before,.ion-navicon-round:before,.ion-navicon:before,.ion-navigate:before,.ion-network:before,.ion-no-smoking:before,.ion-nuclear:before,.ion-outlet:before,.ion-paintbrush:before,.ion-paintbucket:before,.ion-paper-airplane:before,.ion-paperclip:before,.ion-pause:before,.ion-person-add:before,.ion-person-stalker:before,.ion-person:before,.ion-pie-graph:before,.ion-pin:before,.ion-pinpoint:before,.ion-pizza:before,.ion-plane:before,.ion-planet:before,.ion-play:before,.ion-playstation:before,.ion-plus-circled:before,.ion-plus-round:before,.ion-plus:before,.ion-podium:before,.ion-pound:before,.ion-power:before,.ion-pricetag:before,.ion-pricetags:before,.ion-printer:before,.ion-pull-request:before,.ion-qr-scanner:before,.ion-quote:before,.ion-radio-waves:before,.ion-record:before,.ion-refresh:before,.ion-reply-all:before,.ion-reply:before,.ion-ribbon-a:before,.ion-ribbon-b:before,.ion-sad-outline:before,.ion-sad:before,.ion-scissors:before,.ion-search:before,.ion-settings:before,.ion-share:before,.ion-shuffle:before,.ion-skip-backward:before,.ion-skip-forward:before,.ion-social-android-outline:before,.ion-social-android:before,.ion-social-angular-outline:before,.ion-social-angular:before,.ion-social-apple-outline:before,.ion-social-apple:before,.ion-social-bitcoin-outline:before,.ion-social-bitcoin:before,.ion-social-buffer-outline:before,.ion-social-buffer:before,.ion-social-chrome-outline:before,.ion-social-chrome:before,.ion-social-codepen-outline:before,.ion-social-codepen:before,.ion-social-css3-outline:before,.ion-social-css3:before,.ion-social-designernews-outline:before,.ion-social-designernews:before,.ion-social-dribbble-outline:before,.ion-social-dribbble:before,.ion-social-dropbox-outline:before,.ion-social-dropbox:before,.ion-social-euro-outline:before,.ion-social-euro:before,.ion-social-facebook-outline:before,.ion-social-facebook:before,.ion-social-foursquare-outline:before,.ion-social-foursquare:before,.ion-social-freebsd-devil:before,.ion-social-github-outline:before,.ion-social-github:before,.ion-social-google-outline:before,.ion-social-google:before,.ion-social-googleplus-outline:before,.ion-social-googleplus:before,.ion-social-hackernews-outline:before,.ion-social-hackernews:before,.ion-social-html5-outline:before,.ion-social-html5:before,.ion-social-instagram-outline:before,.ion-social-instagram:before,.ion-social-javascript-outline:before,.ion-social-javascript:before,.ion-social-linkedin-outline:before,.ion-social-linkedin:before,.ion-social-markdown:before,.ion-social-nodejs:before,.ion-social-octocat:before,.ion-social-pinterest-outline:before,.ion-social-pinterest:before,.ion-social-python:before,.ion-social-reddit-outline:before,.ion-social-reddit:before,.ion-social-rss-outline:before,.ion-social-rss:before,.ion-social-sass:before,.ion-social-skype-outline:before,.ion-social-skype:before,.ion-social-snapchat-outline:before,.ion-social-snapchat:before,.ion-social-tumblr-outline:before,.ion-social-tumblr:before,.ion-social-tux:before,.ion-social-twitch-outline:before,.ion-social-twitch:before,.ion-social-twitter-outline:before,.ion-social-twitter:before,.ion-social-usd-outline:before,.ion-social-usd:before,.ion-social-vimeo-outline:before,.ion-social-vimeo:before,.ion-social-whatsapp-outline:before,.ion-social-whatsapp:before,.ion-social-windows-outline:before,.ion-social-windows:before,.ion-social-wordpress-outline:before,.ion-social-wordpress:before,.ion-social-yahoo-outline:before,.ion-social-yahoo:before,.ion-social-yen-outline:before,.ion-social-yen:before,.ion-social-youtube-outline:before,.ion-social-youtube:before,.ion-soup-can-outline:before,.ion-soup-can:before,.ion-speakerphone:before,.ion-speedometer:before,.ion-spoon:before,.ion-star:before,.ion-stats-bars:before,.ion-steam:before,.ion-stop:before,.ion-thermometer:before,.ion-thumbsdown:before,.ion-thumbsup:before,.ion-toggle-filled:before,.ion-toggle:before,.ion-transgender:before,.ion-trash-a:before,.ion-trash-b:before,.ion-trophy:before,.ion-tshirt-outline:before,.ion-tshirt:before,.ion-umbrella:before,.ion-university:before,.ion-unlocked:before,.ion-upload:before,.ion-usb:before,.ion-videocamera:before,.ion-volume-high:before,.ion-volume-low:before,.ion-volume-medium:before,.ion-volume-mute:before,.ion-wand:before,.ion-waterdrop:before,.ion-wifi:before,.ion-wineglass:before,.ion-woman:before,.ion-wrench:before,.ion-xbox:before,.ionicons{display:inline-block;font-family:Ionicons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;text-rendering:auto;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ion-alert:before{content:""}.ion-alert-circled:before{content:""}.ion-android-add:before{content:""}.ion-android-add-circle:before{content:""}.ion-android-alarm-clock:before{content:""}.ion-android-alert:before{content:""}.ion-android-apps:before{content:""}.ion-android-archive:before{content:""}.ion-android-arrow-back:before{content:""}.ion-android-arrow-down:before{content:""}.ion-android-arrow-dropdown:before{content:""}.ion-android-arrow-dropdown-circle:before{content:""}.ion-android-arrow-dropleft:before{content:""}.ion-android-arrow-dropleft-circle:before{content:""}.ion-android-arrow-dropright:before{content:""}.ion-android-arrow-dropright-circle:before{content:""}.ion-android-arrow-dropup:before{content:""}.ion-android-arrow-dropup-circle:before{content:""}.ion-android-arrow-forward:before{content:""}.ion-android-arrow-up:before{content:""}.ion-android-attach:before{content:""}.ion-android-bar:before{content:""}.ion-android-bicycle:before{content:""}.ion-android-boat:before{content:""}.ion-android-bookmark:before{content:""}.ion-android-bulb:before{content:""}.ion-android-bus:before{content:""}.ion-android-calendar:before{content:""}.ion-android-call:before{content:""}.ion-android-camera:before{content:""}.ion-android-cancel:before{content:""}.ion-android-car:before{content:""}.ion-android-cart:before{content:""}.ion-android-chat:before{content:""}.ion-android-checkbox:before{content:""}.ion-android-checkbox-blank:before{content:""}.ion-android-checkbox-outline:before{content:""}.ion-android-checkbox-outline-blank:before{content:""}.ion-android-checkmark-circle:before{content:""}.ion-android-clipboard:before{content:""}.ion-android-close:before{content:""}.ion-android-cloud:before{content:""}.ion-android-cloud-circle:before{content:""}.ion-android-cloud-done:before{content:""}.ion-android-cloud-outline:before{content:""}.ion-android-color-palette:before{content:""}.ion-android-compass:before{content:""}.ion-android-contact:before{content:""}.ion-android-contacts:before{content:""}.ion-android-contract:before{content:""}.ion-android-create:before{content:""}.ion-android-delete:before{content:""}.ion-android-desktop:before{content:""}.ion-android-document:before{content:""}.ion-android-done:before{content:""}.ion-android-done-all:before{content:""}.ion-android-download:before{content:""}.ion-android-drafts:before{content:""}.ion-android-exit:before{content:""}.ion-android-expand:before{content:""}.ion-android-favorite:before{content:""}.ion-android-favorite-outline:before{content:""}.ion-android-film:before{content:""}.ion-android-folder:before{content:""}.ion-android-folder-open:before{content:""}.ion-android-funnel:before{content:""}.ion-android-globe:before{content:""}.ion-android-hand:before{content:""}.ion-android-hangout:before{content:""}.ion-android-happy:before{content:""}.ion-android-home:before{content:""}.ion-android-image:before{content:""}.ion-android-laptop:before{content:""}.ion-android-list:before{content:""}.ion-android-locate:before{content:""}.ion-android-lock:before{content:""}.ion-android-mail:before{content:""}.ion-android-map:before{content:""}.ion-android-menu:before{content:""}.ion-android-microphone:before{content:""}.ion-android-microphone-off:before{content:""}.ion-android-more-horizontal:before{content:""}.ion-android-more-vertical:before{content:""}.ion-android-navigate:before{content:""}.ion-android-notifications:before{content:""}.ion-android-notifications-none:before{content:""}.ion-android-notifications-off:before{content:""}.ion-android-open:before{content:""}.ion-android-options:before{content:""}.ion-android-people:before{content:""}.ion-android-person:before{content:""}.ion-android-person-add:before{content:""}.ion-android-phone-landscape:before{content:""}.ion-android-phone-portrait:before{content:""}.ion-android-pin:before{content:""}.ion-android-plane:before{content:""}.ion-android-playstore:before{content:""}.ion-android-print:before{content:""}.ion-android-radio-button-off:before{content:""}.ion-android-radio-button-on:before{content:""}.ion-android-refresh:before{content:""}.ion-android-remove:before{content:""}.ion-android-remove-circle:before{content:""}.ion-android-restaurant:before{content:""}.ion-android-sad:before{content:""}.ion-android-search:before{content:""}.ion-android-send:before{content:""}.ion-android-settings:before{content:""}.ion-android-share:before{content:""}.ion-android-share-alt:before{content:""}.ion-android-star:before{content:""}.ion-android-star-half:before{content:""}.ion-android-star-outline:before{content:""}.ion-android-stopwatch:before{content:""}.ion-android-subway:before{content:""}.ion-android-sunny:before{content:""}.ion-android-sync:before{content:""}.ion-android-textsms:before{content:""}.ion-android-time:before{content:""}.ion-android-train:before{content:""}.ion-android-unlock:before{content:""}.ion-android-upload:before{content:""}.ion-android-volume-down:before{content:""}.ion-android-volume-mute:before{content:""}.ion-android-volume-off:before{content:""}.ion-android-volume-up:before{content:""}.ion-android-walk:before{content:""}.ion-android-warning:before{content:""}.ion-android-watch:before{content:""}.ion-android-wifi:before{content:""}.ion-aperture:before{content:""}.ion-archive:before{content:""}.ion-arrow-down-a:before{content:""}.ion-arrow-down-b:before{content:""}.ion-arrow-down-c:before{content:""}.ion-arrow-expand:before{content:""}.ion-arrow-graph-down-left:before{content:""}.ion-arrow-graph-down-right:before{content:""}.ion-arrow-graph-up-left:before{content:""}.ion-arrow-graph-up-right:before{content:""}.ion-arrow-left-a:before{content:""}.ion-arrow-left-b:before{content:""}.ion-arrow-left-c:before{content:""}.ion-arrow-move:before{content:""}.ion-arrow-resize:before{content:""}.ion-arrow-return-left:before{content:""}.ion-arrow-return-right:before{content:""}.ion-arrow-right-a:before{content:""}.ion-arrow-right-b:before{content:""}.ion-arrow-right-c:before{content:""}.ion-arrow-shrink:before{content:""}.ion-arrow-swap:before{content:""}.ion-arrow-up-a:before{content:""}.ion-arrow-up-b:before{content:""}.ion-arrow-up-c:before{content:""}.ion-asterisk:before{content:""}.ion-at:before{content:""}.ion-backspace:before{content:""}.ion-backspace-outline:before{content:""}.ion-bag:before{content:""}.ion-battery-charging:before{content:""}.ion-battery-empty:before{content:""}.ion-battery-full:before{content:""}.ion-battery-half:before{content:""}.ion-battery-low:before{content:""}.ion-beaker:before{content:""}.ion-beer:before{content:""}.ion-bluetooth:before{content:""}.ion-bonfire:before{content:""}.ion-bookmark:before{content:""}.ion-bowtie:before{content:""}.ion-briefcase:before{content:""}.ion-bug:before{content:""}.ion-calculator:before{content:""}.ion-calendar:before{content:""}.ion-camera:before{content:""}.ion-card:before{content:""}.ion-cash:before{content:""}.ion-chatbox:before{content:""}.ion-chatbox-working:before{content:""}.ion-chatboxes:before{content:""}.ion-chatbubble:before{content:""}.ion-chatbubble-working:before{content:""}.ion-chatbubbles:before{content:""}.ion-checkmark:before{content:""}.ion-checkmark-circled:before{content:""}.ion-checkmark-round:before{content:""}.ion-chevron-down:before{content:""}.ion-chevron-left:before{content:""}.ion-chevron-right:before{content:""}.ion-chevron-up:before{content:""}.ion-clipboard:before{content:""}.ion-clock:before{content:""}.ion-close:before{content:""}.ion-close-circled:before{content:""}.ion-close-round:before{content:""}.ion-closed-captioning:before{content:""}.ion-cloud:before{content:""}.ion-code:before{content:""}.ion-code-download:before{content:""}.ion-code-working:before{content:""}.ion-coffee:before{content:""}.ion-compass:before{content:""}.ion-compose:before{content:""}.ion-connection-bars:before{content:""}.ion-contrast:before{content:""}.ion-crop:before{content:""}.ion-cube:before{content:""}.ion-disc:before{content:""}.ion-document:before{content:""}.ion-document-text:before{content:""}.ion-drag:before{content:""}.ion-earth:before{content:""}.ion-easel:before{content:""}.ion-edit:before{content:""}.ion-egg:before{content:""}.ion-eject:before{content:""}.ion-email:before{content:""}.ion-email-unread:before{content:""}.ion-erlenmeyer-flask:before{content:""}.ion-erlenmeyer-flask-bubbles:before{content:""}.ion-eye:before{content:""}.ion-eye-disabled:before{content:""}.ion-female:before{content:""}.ion-filing:before{content:""}.ion-film-marker:before{content:""}.ion-fireball:before{content:""}.ion-flag:before{content:""}.ion-flame:before{content:""}.ion-flash:before{content:""}.ion-flash-off:before{content:""}.ion-folder:before{content:""}.ion-fork:before{content:""}.ion-fork-repo:before{content:""}.ion-forward:before{content:""}.ion-funnel:before{content:""}.ion-gear-a:before{content:""}.ion-gear-b:before{content:""}.ion-grid:before{content:""}.ion-hammer:before{content:""}.ion-happy:before{content:""}.ion-happy-outline:before{content:""}.ion-headphone:before{content:""}.ion-heart:before{content:""}.ion-heart-broken:before{content:""}.ion-help:before{content:""}.ion-help-buoy:before{content:""}.ion-help-circled:before{content:""}.ion-home:before{content:""}.ion-icecream:before{content:""}.ion-image:before{content:""}.ion-images:before{content:""}.ion-information:before{content:""}.ion-information-circled:before{content:""}.ion-ionic:before{content:""}.ion-ios-alarm:before{content:""}.ion-ios-alarm-outline:before{content:""}.ion-ios-albums:before{content:""}.ion-ios-albums-outline:before{content:""}.ion-ios-americanfootball:before{content:""}.ion-ios-americanfootball-outline:before{content:""}.ion-ios-analytics:before{content:""}.ion-ios-analytics-outline:before{content:""}.ion-ios-arrow-back:before{content:""}.ion-ios-arrow-down:before{content:""}.ion-ios-arrow-forward:before{content:""}.ion-ios-arrow-left:before{content:""}.ion-ios-arrow-right:before{content:""}.ion-ios-arrow-thin-down:before{content:""}.ion-ios-arrow-thin-left:before{content:""}.ion-ios-arrow-thin-right:before{content:""}.ion-ios-arrow-thin-up:before{content:""}.ion-ios-arrow-up:before{content:""}.ion-ios-at:before{content:""}.ion-ios-at-outline:before{content:""}.ion-ios-barcode:before{content:""}.ion-ios-barcode-outline:before{content:""}.ion-ios-baseball:before{content:""}.ion-ios-baseball-outline:before{content:""}.ion-ios-basketball:before{content:""}.ion-ios-basketball-outline:before{content:""}.ion-ios-bell:before{content:""}.ion-ios-bell-outline:before{content:""}.ion-ios-body:before{content:""}.ion-ios-body-outline:before{content:""}.ion-ios-bolt:before{content:""}.ion-ios-bolt-outline:before{content:""}.ion-ios-book:before{content:""}.ion-ios-book-outline:before{content:""}.ion-ios-bookmarks:before{content:""}.ion-ios-bookmarks-outline:before{content:""}.ion-ios-box:before{content:""}.ion-ios-box-outline:before{content:""}.ion-ios-briefcase:before{content:""}.ion-ios-briefcase-outline:before{content:""}.ion-ios-browsers:before{content:""}.ion-ios-browsers-outline:before{content:""}.ion-ios-calculator:before{content:""}.ion-ios-calculator-outline:before{content:""}.ion-ios-calendar:before{content:""}.ion-ios-calendar-outline:before{content:""}.ion-ios-camera:before{content:""}.ion-ios-camera-outline:before{content:""}.ion-ios-cart:before{content:""}.ion-ios-cart-outline:before{content:""}.ion-ios-chatboxes:before{content:""}.ion-ios-chatboxes-outline:before{content:""}.ion-ios-chatbubble:before{content:""}.ion-ios-chatbubble-outline:before{content:""}.ion-ios-checkmark:before{content:""}.ion-ios-checkmark-empty:before{content:""}.ion-ios-checkmark-outline:before{content:""}.ion-ios-circle-filled:before{content:""}.ion-ios-circle-outline:before{content:""}.ion-ios-clock:before{content:""}.ion-ios-clock-outline:before{content:""}.ion-ios-close:before{content:""}.ion-ios-close-empty:before{content:""}.ion-ios-close-outline:before{content:""}.ion-ios-cloud:before{content:""}.ion-ios-cloud-download:before{content:""}.ion-ios-cloud-download-outline:before{content:""}.ion-ios-cloud-outline:before{content:""}.ion-ios-cloud-upload:before{content:""}.ion-ios-cloud-upload-outline:before{content:""}.ion-ios-cloudy:before{content:""}.ion-ios-cloudy-night:before{content:""}.ion-ios-cloudy-night-outline:before{content:""}.ion-ios-cloudy-outline:before{content:""}.ion-ios-cog:before{content:""}.ion-ios-cog-outline:before{content:""}.ion-ios-color-filter:before{content:""}.ion-ios-color-filter-outline:before{content:""}.ion-ios-color-wand:before{content:""}.ion-ios-color-wand-outline:before{content:""}.ion-ios-compose:before{content:""}.ion-ios-compose-outline:before{content:""}.ion-ios-contact:before{content:""}.ion-ios-contact-outline:before{content:""}.ion-ios-copy:before{content:""}.ion-ios-copy-outline:before{content:""}.ion-ios-crop:before{content:""}.ion-ios-crop-strong:before{content:""}.ion-ios-download:before{content:""}.ion-ios-download-outline:before{content:""}.ion-ios-drag:before{content:""}.ion-ios-email:before{content:""}.ion-ios-email-outline:before{content:""}.ion-ios-eye:before{content:""}.ion-ios-eye-outline:before{content:""}.ion-ios-fastforward:before{content:""}.ion-ios-fastforward-outline:before{content:""}.ion-ios-filing:before{content:""}.ion-ios-filing-outline:before{content:""}.ion-ios-film:before{content:""}.ion-ios-film-outline:before{content:""}.ion-ios-flag:before{content:""}.ion-ios-flag-outline:before{content:""}.ion-ios-flame:before{content:""}.ion-ios-flame-outline:before{content:""}.ion-ios-flask:before{content:""}.ion-ios-flask-outline:before{content:""}.ion-ios-flower:before{content:""}.ion-ios-flower-outline:before{content:""}.ion-ios-folder:before{content:""}.ion-ios-folder-outline:before{content:""}.ion-ios-football:before{content:""}.ion-ios-football-outline:before{content:""}.ion-ios-game-controller-a:before{content:""}.ion-ios-game-controller-a-outline:before{content:""}.ion-ios-game-controller-b:before{content:""}.ion-ios-game-controller-b-outline:before{content:""}.ion-ios-gear:before{content:""}.ion-ios-gear-outline:before{content:""}.ion-ios-glasses:before{content:""}.ion-ios-glasses-outline:before{content:""}.ion-ios-grid-view:before{content:""}.ion-ios-grid-view-outline:before{content:""}.ion-ios-heart:before{content:""}.ion-ios-heart-outline:before{content:""}.ion-ios-help:before{content:""}.ion-ios-help-empty:before{content:""}.ion-ios-help-outline:before{content:""}.ion-ios-home:before{content:""}.ion-ios-home-outline:before{content:""}.ion-ios-infinite:before{content:""}.ion-ios-infinite-outline:before{content:""}.ion-ios-information:before{content:""}.ion-ios-information-empty:before{content:""}.ion-ios-information-outline:before{content:""}.ion-ios-ionic-outline:before{content:""}.ion-ios-keypad:before{content:""}.ion-ios-keypad-outline:before{content:""}.ion-ios-lightbulb:before{content:""}.ion-ios-lightbulb-outline:before{content:""}.ion-ios-list:before{content:""}.ion-ios-list-outline:before{content:""}.ion-ios-location:before{content:""}.ion-ios-location-outline:before{content:""}.ion-ios-locked:before{content:""}.ion-ios-locked-outline:before{content:""}.ion-ios-loop:before{content:""}.ion-ios-loop-strong:before{content:""}.ion-ios-medical:before{content:""}.ion-ios-medical-outline:before{content:""}.ion-ios-medkit:before{content:""}.ion-ios-medkit-outline:before{content:""}.ion-ios-mic:before{content:""}.ion-ios-mic-off:before{content:""}.ion-ios-mic-outline:before{content:""}.ion-ios-minus:before{content:""}.ion-ios-minus-empty:before{content:""}.ion-ios-minus-outline:before{content:""}.ion-ios-monitor:before{content:""}.ion-ios-monitor-outline:before{content:""}.ion-ios-moon:before{content:""}.ion-ios-moon-outline:before{content:""}.ion-ios-more:before{content:""}.ion-ios-more-outline:before{content:""}.ion-ios-musical-note:before{content:""}.ion-ios-musical-notes:before{content:""}.ion-ios-navigate:before{content:""}.ion-ios-navigate-outline:before{content:""}.ion-ios-nutrition:before{content:""}.ion-ios-nutrition-outline:before{content:""}.ion-ios-paper:before{content:""}.ion-ios-paper-outline:before{content:""}.ion-ios-paperplane:before{content:""}.ion-ios-paperplane-outline:before{content:""}.ion-ios-partlysunny:before{content:""}.ion-ios-partlysunny-outline:before{content:""}.ion-ios-pause:before{content:""}.ion-ios-pause-outline:before{content:""}.ion-ios-paw:before{content:""}.ion-ios-paw-outline:before{content:""}.ion-ios-people:before{content:""}.ion-ios-people-outline:before{content:""}.ion-ios-person:before{content:""}.ion-ios-person-outline:before{content:""}.ion-ios-personadd:before{content:""}.ion-ios-personadd-outline:before{content:""}.ion-ios-photos:before{content:""}.ion-ios-photos-outline:before{content:""}.ion-ios-pie:before{content:""}.ion-ios-pie-outline:before{content:""}.ion-ios-pint:before{content:""}.ion-ios-pint-outline:before{content:""}.ion-ios-play:before{content:""}.ion-ios-play-outline:before{content:""}.ion-ios-plus:before{content:""}.ion-ios-plus-empty:before{content:""}.ion-ios-plus-outline:before{content:""}.ion-ios-pricetag:before{content:""}.ion-ios-pricetag-outline:before{content:""}.ion-ios-pricetags:before{content:""}.ion-ios-pricetags-outline:before{content:""}.ion-ios-printer:before{content:""}.ion-ios-printer-outline:before{content:""}.ion-ios-pulse:before{content:""}.ion-ios-pulse-strong:before{content:""}.ion-ios-rainy:before{content:""}.ion-ios-rainy-outline:before{content:""}.ion-ios-recording:before{content:""}.ion-ios-recording-outline:before{content:""}.ion-ios-redo:before{content:""}.ion-ios-redo-outline:before{content:""}.ion-ios-refresh:before{content:""}.ion-ios-refresh-empty:before{content:""}.ion-ios-refresh-outline:before{content:""}.ion-ios-reload:before{content:""}.ion-ios-reverse-camera:before{content:""}.ion-ios-reverse-camera-outline:before{content:""}.ion-ios-rewind:before{content:""}.ion-ios-rewind-outline:before{content:""}.ion-ios-rose:before{content:""}.ion-ios-rose-outline:before{content:""}.ion-ios-search:before{content:""}.ion-ios-search-strong:before{content:""}.ion-ios-settings:before{content:""}.ion-ios-settings-strong:before{content:""}.ion-ios-shuffle:before{content:""}.ion-ios-shuffle-strong:before{content:""}.ion-ios-skipbackward:before{content:""}.ion-ios-skipbackward-outline:before{content:""}.ion-ios-skipforward:before{content:""}.ion-ios-skipforward-outline:before{content:""}.ion-ios-snowy:before{content:""}.ion-ios-speedometer:before{content:""}.ion-ios-speedometer-outline:before{content:""}.ion-ios-star:before{content:""}.ion-ios-star-half:before{content:""}.ion-ios-star-outline:before{content:""}.ion-ios-stopwatch:before{content:""}.ion-ios-stopwatch-outline:before{content:""}.ion-ios-sunny:before{content:""}.ion-ios-sunny-outline:before{content:""}.ion-ios-telephone:before{content:""}.ion-ios-telephone-outline:before{content:""}.ion-ios-tennisball:before{content:""}.ion-ios-tennisball-outline:before{content:""}.ion-ios-thunderstorm:before{content:""}.ion-ios-thunderstorm-outline:before{content:""}.ion-ios-time:before{content:""}.ion-ios-time-outline:before{content:""}.ion-ios-timer:before{content:""}.ion-ios-timer-outline:before{content:""}.ion-ios-toggle:before{content:""}.ion-ios-toggle-outline:before{content:""}.ion-ios-trash:before{content:""}.ion-ios-trash-outline:before{content:""}.ion-ios-undo:before{content:""}.ion-ios-undo-outline:before{content:""}.ion-ios-unlocked:before{content:""}.ion-ios-unlocked-outline:before{content:""}.ion-ios-upload:before{content:""}.ion-ios-upload-outline:before{content:""}.ion-ios-videocam:before{content:""}.ion-ios-videocam-outline:before{content:""}.ion-ios-volume-high:before{content:""}.ion-ios-volume-low:before{content:""}.ion-ios-wineglass:before{content:""}.ion-ios-wineglass-outline:before{content:""}.ion-ios-world:before{content:""}.ion-ios-world-outline:before{content:""}.ion-ipad:before{content:""}.ion-iphone:before{content:""}.ion-ipod:before{content:""}.ion-jet:before{content:""}.ion-key:before{content:""}.ion-knife:before{content:""}.ion-laptop:before{content:""}.ion-leaf:before{content:""}.ion-levels:before{content:""}.ion-lightbulb:before{content:""}.ion-link:before{content:""}.ion-load-a:before{content:""}.ion-load-b:before{content:""}.ion-load-c:before{content:""}.ion-load-d:before{content:""}.ion-location:before{content:""}.ion-lock-combination:before{content:""}.ion-locked:before{content:""}.ion-log-in:before{content:""}.ion-log-out:before{content:""}.ion-loop:before{content:""}.ion-magnet:before{content:""}.ion-male:before{content:""}.ion-man:before{content:""}.ion-map:before{content:""}.ion-medkit:before{content:""}.ion-merge:before{content:""}.ion-mic-a:before{content:""}.ion-mic-b:before{content:""}.ion-mic-c:before{content:""}.ion-minus:before{content:""}.ion-minus-circled:before{content:""}.ion-minus-round:before{content:""}.ion-model-s:before{content:""}.ion-monitor:before{content:""}.ion-more:before{content:""}.ion-mouse:before{content:""}.ion-music-note:before{content:""}.ion-navicon:before{content:""}.ion-navicon-round:before{content:""}.ion-navigate:before{content:""}.ion-network:before{content:""}.ion-no-smoking:before{content:""}.ion-nuclear:before{content:""}.ion-outlet:before{content:""}.ion-paintbrush:before{content:""}.ion-paintbucket:before{content:""}.ion-paper-airplane:before{content:""}.ion-paperclip:before{content:""}.ion-pause:before{content:""}.ion-person:before{content:""}.ion-person-add:before{content:""}.ion-person-stalker:before{content:""}.ion-pie-graph:before{content:""}.ion-pin:before{content:""}.ion-pinpoint:before{content:""}.ion-pizza:before{content:""}.ion-plane:before{content:""}.ion-planet:before{content:""}.ion-play:before{content:""}.ion-playstation:before{content:""}.ion-plus:before{content:""}.ion-plus-circled:before{content:""}.ion-plus-round:before{content:""}.ion-podium:before{content:""}.ion-pound:before{content:""}.ion-power:before{content:""}.ion-pricetag:before{content:""}.ion-pricetags:before{content:""}.ion-printer:before{content:""}.ion-pull-request:before{content:""}.ion-qr-scanner:before{content:""}.ion-quote:before{content:""}.ion-radio-waves:before{content:""}.ion-record:before{content:""}.ion-refresh:before{content:""}.ion-reply:before{content:""}.ion-reply-all:before{content:""}.ion-ribbon-a:before{content:""}.ion-ribbon-b:before{content:""}.ion-sad:before{content:""}.ion-sad-outline:before{content:""}.ion-scissors:before{content:""}.ion-search:before{content:""}.ion-settings:before{content:""}.ion-share:before{content:""}.ion-shuffle:before{content:""}.ion-skip-backward:before{content:""}.ion-skip-forward:before{content:""}.ion-social-android:before{content:""}.ion-social-android-outline:before{content:""}.ion-social-angular:before{content:""}.ion-social-angular-outline:before{content:""}.ion-social-apple:before{content:""}.ion-social-apple-outline:before{content:""}.ion-social-bitcoin:before{content:""}.ion-social-bitcoin-outline:before{content:""}.ion-social-buffer:before{content:""}.ion-social-buffer-outline:before{content:""}.ion-social-chrome:before{content:""}.ion-social-chrome-outline:before{content:""}.ion-social-codepen:before{content:""}.ion-social-codepen-outline:before{content:""}.ion-social-css3:before{content:""}.ion-social-css3-outline:before{content:""}.ion-social-designernews:before{content:""}.ion-social-designernews-outline:before{content:""}.ion-social-dribbble:before{content:""}.ion-social-dribbble-outline:before{content:""}.ion-social-dropbox:before{content:""}.ion-social-dropbox-outline:before{content:""}.ion-social-euro:before{content:""}.ion-social-euro-outline:before{content:""}.ion-social-facebook:before{content:""}.ion-social-facebook-outline:before{content:""}.ion-social-foursquare:before{content:""}.ion-social-foursquare-outline:before{content:""}.ion-social-freebsd-devil:before{content:""}.ion-social-github:before{content:""}.ion-social-github-outline:before{content:""}.ion-social-google:before{content:""}.ion-social-google-outline:before{content:""}.ion-social-googleplus:before{content:""}.ion-social-googleplus-outline:before{content:""}.ion-social-hackernews:before{content:""}.ion-social-hackernews-outline:before{content:""}.ion-social-html5:before{content:""}.ion-social-html5-outline:before{content:""}.ion-social-instagram:before{content:""}.ion-social-instagram-outline:before{content:""}.ion-social-javascript:before{content:""}.ion-social-javascript-outline:before{content:""}.ion-social-linkedin:before{content:""}.ion-social-linkedin-outline:before{content:""}.ion-social-markdown:before{content:""}.ion-social-nodejs:before{content:""}.ion-social-octocat:before{content:""}.ion-social-pinterest:before{content:""}.ion-social-pinterest-outline:before{content:""}.ion-social-python:before{content:""}.ion-social-reddit:before{content:""}.ion-social-reddit-outline:before{content:""}.ion-social-rss:before{content:""}.ion-social-rss-outline:before{content:""}.ion-social-sass:before{content:""}.ion-social-skype:before{content:""}.ion-social-skype-outline:before{content:""}.ion-social-snapchat:before{content:""}.ion-social-snapchat-outline:before{content:""}.ion-social-tumblr:before{content:""}.ion-social-tumblr-outline:before{content:""}.ion-social-tux:before{content:""}.ion-social-twitch:before{content:""}.ion-social-twitch-outline:before{content:""}.ion-social-twitter:before{content:""}.ion-social-twitter-outline:before{content:""}.ion-social-usd:before{content:""}.ion-social-usd-outline:before{content:""}.ion-social-vimeo:before{content:""}.ion-social-vimeo-outline:before{content:""}.ion-social-whatsapp:before{content:""}.ion-social-whatsapp-outline:before{content:""}.ion-social-windows:before{content:""}.ion-social-windows-outline:before{content:""}.ion-social-wordpress:before{content:""}.ion-social-wordpress-outline:before{content:""}.ion-social-yahoo:before{content:""}.ion-social-yahoo-outline:before{content:""}.ion-social-yen:before{content:""}.ion-social-yen-outline:before{content:""}.ion-social-youtube:before{content:""}.ion-social-youtube-outline:before{content:""}.ion-soup-can:before{content:""}.ion-soup-can-outline:before{content:""}.ion-speakerphone:before{content:""}.ion-speedometer:before{content:""}.ion-spoon:before{content:""}.ion-star:before{content:""}.ion-stats-bars:before{content:""}.ion-steam:before{content:""}.ion-stop:before{content:""}.ion-thermometer:before{content:""}.ion-thumbsdown:before{content:""}.ion-thumbsup:before{content:""}.ion-toggle:before{content:""}.ion-toggle-filled:before{content:""}.ion-transgender:before{content:""}.ion-trash-a:before{content:""}.ion-trash-b:before{content:""}.ion-trophy:before{content:""}.ion-tshirt:before{content:""}.ion-tshirt-outline:before{content:""}.ion-umbrella:before{content:""}.ion-university:before{content:""}.ion-unlocked:before{content:""}.ion-upload:before{content:""}.ion-usb:before{content:""}.ion-videocamera:before{content:""}.ion-volume-high:before{content:""}.ion-volume-low:before{content:""}.ion-volume-medium:before{content:""}.ion-volume-mute:before{content:""}.ion-wand:before{content:""}.ion-waterdrop:before{content:""}.ion-wifi:before{content:""}.ion-wineglass:before{content:""}.ion-woman:before{content:""}.ion-wrench:before{content:""}.ion-xbox:before{content:""}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;vertical-align:baseline;font:inherit;font-size:100%}blockquote,q{quotes:none}audio:not([controls]){display:none;height:0}[hidden],template{display:none}script{display:none!important}html{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-ms-touch-action:pan-y;touch-action:pan-y}.ionic-body,.scroll,body{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;-webkit-touch-callout:none}:focus,a,a:active,a:focus,a:hover,button,button:focus{outline:0}a[href]:hover{cursor:pointer}b,strong{font-weight:700}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}code,kbd,pre,samp{font-size:1em;font-family:monospace,serif}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}sub,sup{font-size:75%;line-height:0}sup{top:-.5em}sub{bottom:-.25em}fieldset{margin:0 2px;padding:.35em .625em .75em;border:1px solid silver}button,input,select,textarea{margin:0;outline-offset:0;outline-style:none;outline-width:0;-webkit-font-smoothing:inherit;background-image:none}._md-nav-bar-list,.md-autocomplete-suggestions li:focus,.md-button,.md-button._md-nav-button:focus,.md-button:focus,.md-chips .md-chip-input-container input:focus,.md-chips .md-chip-input-container input:not([type]):focus,.md-chips .md-chip-input-container input[type=text]:focus,.md-chips .md-chip-input-container input[type=number]:focus,.md-chips .md-chip-input-container input[type=email]:focus,.md-chips .md-chip-input-container input[type=url]:focus,.md-chips .md-chip-input-container input[type=tel]:focus,.md-chips md-chip .md-chip-content:focus,.md-datepicker-calendar md-calendar:focus,.md-datepicker-input,.md-tab.md-focused,.md-tab:focus,.range input,[tabindex='-1']:focus,md-autocomplete .md-show-clear-button button:focus,md-autocomplete input:not(.md-input),md-bottom-sheet md-list-item,md-checkbox,md-input-container .md-input:focus,md-input-container .md-input:invalid,md-list-item .md-no-style:focus,md-list-item.md-no-proxy:focus,md-option:focus,md-radio-group:focus,md-select:focus,md-slider .md-slider-wrapper,md-slider:focus,md-switch,md-switch .md-thumb,md-tabs-wrapper md-next-button:focus,md-tabs-wrapper md-prev-button:focus{outline:0}.ionic-body,.md-select-value.md-select-placeholder,body,html{-webkit-font-smoothing:antialiased}button,select{text-transform:none}button[disabled],html input[disabled]{cursor:default}input[type=search]{-moz-box-sizing:content-box}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ionic-body,body{font-smoothing:antialiased;user-select:none;top:0;right:0;bottom:0;left:0;overflow:hidden;margin:0;padding:0;color:#000;word-wrap:break-word;font-size:14px;font-family:-apple-system;font-family:"-apple-system","Helvetica Neue",Roboto,"Segoe UI",sans-serif;line-height:20px;text-rendering:optimizeLegibility;-webkit-backface-visibility:hidden;-ms-content-zooming:none}.scroll-content,.scroll-view{overflow:hidden;margin-top:-1px}.h1,.h2,.h3,.h4,.h5,.h6,.tab-item,button,h1,h2,h3,h4,h5,h6,input,select,textarea{font-family:"-apple-system","Helvetica Neue",Roboto,"Segoe UI",sans-serif}body.grade-b,body.grade-c{text-rendering:auto}.scroll-content{position:absolute;top:0;right:0;bottom:0;left:0;padding-top:1px;margin-bottom:-1px;width:auto;height:auto}.scroll-view,.scroll-view.overflow-scroll{position:relative}.menu .scroll-content.scroll-content-false{z-index:11}.scroll-view{display:block}.scroll-view.scroll-x{overflow-x:scroll;overflow-y:hidden}.scroll-view.scroll-y{overflow-x:hidden;overflow-y:scroll}.scroll-view.scroll-xy{overflow-x:scroll;overflow-y:scroll}.scroll{user-select:none;-webkit-transform-origin:left top;transform-origin:left top}.bar,.disable-user-behavior{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}@-ms-viewport{width:device-width}.scroll-bar{position:absolute;z-index:9999}.pane,.view{z-index:1}.scroll-bar-h{right:2px;bottom:3px;left:2px;height:3px}.scroll-bar-h .scroll-bar-indicator{height:100%}.scroll-bar-v{top:2px;right:3px;bottom:2px;width:3px}.scroll-bar-v .scroll-bar-indicator{width:100%}.scroll-bar-indicator{position:absolute;border-radius:4px;background:rgba(0,0,0,.3);opacity:1;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.backdrop,.scroll-bar-indicator.scroll-bar-fade-out{opacity:0}.platform-android .scroll-bar-indicator{border-radius:0}.grade-b .scroll-bar-indicator,.grade-c .scroll-bar-indicator{background:#aaa}.grade-b .scroll-bar-indicator.scroll-bar-fade-out,.grade-c .scroll-bar-indicator.scroll-bar-fade-out{-webkit-transition:none;transition:none}ion-infinite-scroll{height:60px;width:100%;display:block;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-moz-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;-moz-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center}ion-infinite-scroll .icon{font-size:30px;color:#666}ion-infinite-scroll:not(.active) .icon:before,ion-infinite-scroll:not(.active) .spinner{display:none}.view-container,address,blockquote small{display:block}.overflow-scroll{overflow-x:hidden;overflow-y:scroll;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;top:0;right:0;bottom:0;left:0;position:absolute}.overflow-scroll.pane{overflow-x:hidden;overflow-y:scroll}.overflow-scroll .scroll{position:static;height:100%;-webkit-transform:translate3d(0,0,0)}.has-header{top:44px}.no-header{top:0}.has-subheader{top:88px}.has-tabs-top{top:93px}.has-header.has-subheader.has-tabs-top{top:137px}.has-footer{bottom:44px}.has-subfooter{bottom:88px}.bar-footer.has-tabs,.has-tabs{bottom:49px}.bar-footer.has-tabs.pane,.has-tabs.pane{bottom:49px;height:auto}.bar-subfooter.has-tabs,.has-footer.has-tabs{bottom:93px}.action-sheet-wrapper,.pane,.view{bottom:0;left:0;width:100%;right:0}.pane{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition-duration:0;transition-duration:0}.pane,.view{position:absolute;top:0;height:100%;background-color:#fff;overflow:hidden}.view-container{position:absolute;width:100%;height:100%}p{margin:0 0 10px}small{font-size:85%}.text-left{text-align:left}.text-center{text-align:center}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{color:#000;font-weight:500;line-height:1.2}.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:400;line-height:1}address,blockquote small,dd,dt{line-height:1.42857}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1:first-child,.h2:first-child,.h3:first-child,h1:first-child,h2:first-child,h3:first-child{margin-top:0}.h1+.h1,.h1+.h2,.h1+.h3,.h1+h1,.h1+h2,.h1+h3,.h2+.h1,.h2+.h2,.h2+.h3,.h2+h1,.h2+h2,.h2+h3,.h3+.h1,.h3+.h2,.h3+.h3,.h3+h1,.h3+h2,.h3+h3,h1+.h1,h1+.h2,h1+.h3,h1+h1,h1+h2,h1+h3,h2+.h1,h2+.h2,h2+.h3,h2+h1,h2+h2,h2+h3,h3+.h1,h3+.h2,h3+.h3,h3+h1,h3+h2,h3+h3{margin-top:10px}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}address,dl{margin-bottom:20px}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}.h1 small,h1 small{font-size:24px}.h2 small,h2 small{font-size:18px}.h3 small,.h4 small,h3 small,h4 small{font-size:14px}dt{font-weight:700}blockquote{margin:0 0 20px;padding:10px 20px;border-left:5px solid gray}blockquote p{font-weight:300;font-size:17.5px;line-height:1.25}.action-sheet-cancel .button,.bar .title{font-weight:500}blockquote p:last-child{margin-bottom:0}blockquote small:before{content:'\2014 \00A0'}blockquote:after,blockquote:before,q:after,q:before{content:""}a{color:#387ef5}a.subdued{padding-right:10px;color:#888;text-decoration:none}a.subdued:hover{text-decoration:none}a.subdued:last-child{padding-right:0}.action-sheet-backdrop{-webkit-transition:background-color 150ms ease-in-out;transition:background-color 150ms ease-in-out;position:fixed;top:0;left:0;z-index:11;width:100%;height:100%;background-color:rgba(0,0,0,0)}.action-sheet-backdrop.active{background-color:rgba(0,0,0,.4)}.action-sheet-wrapper{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);-webkit-transition:all cubic-bezier(.36,.66,.04,1) .5s;transition:all cubic-bezier(.36,.66,.04,1) .5s;position:absolute;max-width:500px;margin:auto}.action-sheet-up,.bar{-webkit-transform:translate3d(0,0,0)}.action-sheet-up{transform:translate3d(0,0,0)}.action-sheet{margin-left:8px;margin-right:8px;width:auto;z-index:11;overflow:hidden}.action-sheet .button{display:block;padding:1px;width:100%;border-radius:0;border-color:#d1d3d6;background-color:transparent;color:#007aff;font-size:21px}.action-sheet .button:hover{color:#007aff}.action-sheet .button.destructive,.action-sheet .button.destructive:hover{color:#ff3b30}.action-sheet .button.activated,.action-sheet .button.active{box-shadow:none;border-color:#d1d3d6;color:#007aff;background:#e4e5e7}.action-sheet-has-icons .icon{position:absolute;left:16px}.action-sheet-title{padding:16px;color:#8f8f8f;text-align:center;font-size:13px}.action-sheet-group{margin-bottom:8px;border-radius:4px;background-color:#fff;overflow:hidden}.action-sheet-group .button{border-width:1px 0 0}.action-sheet-group .button:first-child:last-child,.bar{border-width:0}.action-sheet-options{background:#f1f2f3}.action-sheet-open,.action-sheet-open.modal-open .modal{pointer-events:none}.action-sheet-open .action-sheet-backdrop{pointer-events:auto}.menu-open .menu-content .pane,.menu-open .menu-content .scroll-content,.menu-open .menu-content .scroll-content .scroll,.modal-backdrop-bg,.modal-open{pointer-events:none}.platform-android .action-sheet-backdrop.active{background-color:rgba(0,0,0,.2)}.platform-android .action-sheet{margin:0}.platform-android .action-sheet .action-sheet-title,.platform-android .action-sheet .button{text-align:left;border-color:transparent;font-size:16px;color:inherit}.platform-android .action-sheet .action-sheet-title{font-size:14px;padding:16px;color:#666}.platform-android .action-sheet .button.activated,.platform-android .action-sheet .button.active{background:#e8e8e8}.platform-android .action-sheet-group{margin:0;border-radius:0;background-color:#fafafa}.platform-android .action-sheet-cancel{display:none}.platform-android .action-sheet-has-icons .button{padding-left:56px}.backdrop{position:fixed;top:0;left:0;z-index:11;width:100%;height:100%;background-color:rgba(0,0,0,.4);-webkit-transition:.1s opacity linear;transition:.1s opacity linear}.bar,.bar .title,.bar-footer.item-input-inset,.nav-bar-block,.tabs{position:absolute}.backdrop.visible{visibility:visible}.backdrop.active{opacity:1}.bar{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;transform:translate3d(0,0,0);user-select:none;right:0;left:0;z-index:9;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:5px;width:100%;height:44px;border-style:solid;border-top:1px solid transparent;border-bottom:1px solid #ddd;background-color:#fff;background-size:0}@media (min--moz-device-pixel-ratio:1.5),(-webkit-min-device-pixel-ratio:1.5),(min-device-pixel-ratio:1.5),(min-resolution:144dpi),(min-resolution:1.5dppx){.bar{border:none;background-image:linear-gradient(0deg,#ddd,#ddd 50%,transparent 50%);background-position:bottom;background-size:100% 1px;background-repeat:no-repeat}}.bar.bar-clear{border:none;background:0 0;color:#fff}.bar.bar-clear .button,.bar.bar-clear .title{color:#fff}.bar.bar-light,.bar.bar-light .title,.bar.bar-stable .title{color:#444}.bar.item-input-inset .item-input-wrapper{margin-top:-1px}.bar.item-input-inset .item-input-wrapper input{padding-left:8px;width:94%;height:28px;background:0 0}.bar.bar-light{border-color:#ddd;background-color:#fff;background-image:linear-gradient(0deg,#ddd,#ddd 50%,transparent 50%)}.bar.bar-light.bar-footer{background-image:linear-gradient(180deg,#ddd,#ddd 50%,transparent 50%)}.bar.bar-stable{border-color:#b2b2b2;background-color:#f8f8f8;background-image:linear-gradient(0deg,#b2b2b2,#b2b2b2 50%,transparent 50%);color:#444}.bar.bar-assertive,.bar.bar-assertive .title,.bar.bar-balanced .title,.bar.bar-calm,.bar.bar-calm .title,.bar.bar-dark,.bar.bar-dark .title,.bar.bar-energized,.bar.bar-energized .title,.bar.bar-positive,.bar.bar-positive .title,.bar.bar-royal,.bar.bar-royal .title{color:#fff}.bar.bar-stable.bar-footer{background-image:linear-gradient(180deg,#b2b2b2,#b2b2b2 50%,transparent 50%)}.bar.bar-positive{border-color:#0c60ee;background-color:#387ef5;background-image:linear-gradient(0deg,#0c60ee,#0c60ee 50%,transparent 50%)}.bar.bar-positive.bar-footer{background-image:linear-gradient(180deg,#0c60ee,#0c60ee 50%,transparent 50%)}.bar.bar-calm{border-color:#0a9dc7;background-color:#11c1f3;background-image:linear-gradient(0deg,#0a9dc7,#0a9dc7 50%,transparent 50%)}.bar.bar-calm.bar-footer{background-image:linear-gradient(180deg,#0a9dc7,#0a9dc7 50%,transparent 50%)}.bar.bar-assertive{border-color:#e42112;background-color:#ef473a;background-image:linear-gradient(0deg,#e42112,#e42112 50%,transparent 50%)}.bar.bar-assertive.bar-footer{background-image:linear-gradient(180deg,#e42112,#e42112 50%,transparent 50%)}.bar.bar-balanced{border-color:#28a54c;background-color:#33cd5f;background-image:linear-gradient(0deg,#28a54c,#28a54c 50%,transparent 50%);color:#fff}.bar.bar-balanced.bar-footer{background-image:linear-gradient(180deg,#28a54c,#28a54c 50%,transparent 50%)}.bar.bar-energized{border-color:#e6b500;background-color:#ffc900;background-image:linear-gradient(0deg,#e6b500,#e6b500 50%,transparent 50%)}.bar.bar-energized.bar-footer{background-image:linear-gradient(180deg,#e6b500,#e6b500 50%,transparent 50%)}.bar.bar-royal{border-color:#6b46e5;background-color:#886aea;background-image:linear-gradient(0deg,#6b46e5,#6b46e5 50%,transparent 50%)}.bar.bar-royal.bar-footer{background-image:linear-gradient(180deg,#6b46e5,#6b46e5 50%,transparent 50%)}.bar.bar-dark{border-color:#111;background-color:#444;background-image:linear-gradient(0deg,#111,#111 50%,transparent 50%)}.bar.bar-dark.bar-footer{background-image:linear-gradient(180deg,#111,#111 50%,transparent 50%)}.bar .title{display:block;top:0;right:0;left:0;z-index:0;overflow:hidden;margin:0 10px;min-width:30px;height:43px;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:17px;line-height:44px}.bar .title.title-left{text-align:left}.bar .title.title-right{text-align:right}.bar .title a{color:inherit}.bar .button,.bar button{z-index:1;padding:0 8px;min-width:initial;min-height:31px;font-weight:400;font-size:13px;line-height:32px}.bar .button .icon:before,.bar .button.button-icon:before,.bar .button.icon-left:before,.bar .button.icon-right:before,.bar .button.icon:before,.bar button .icon:before,.bar button.button-icon:before,.bar button.icon-left:before,.bar button.icon-right:before,.bar button.icon:before{padding-right:2px;padding-left:2px;font-size:20px;line-height:32px}.bar .button.button-icon,.bar button.button-icon{font-size:17px}.bar .button.button-icon .icon:before,.bar .button.button-icon.icon-left:before,.bar .button.button-icon.icon-right:before,.bar .button.button-icon:before,.bar button.button-icon .icon:before,.bar button.button-icon.icon-left:before,.bar button.button-icon.icon-right:before,.bar button.button-icon:before{vertical-align:top;font-size:32px;line-height:32px}.bar .button.button-clear,.bar button.button-clear{padding-right:2px;padding-left:2px;font-weight:300;font-size:17px}.bar .button.button-clear .icon:before,.bar .button.button-clear.icon-left:before,.bar .button.button-clear.icon-right:before,.bar .button.button-clear.icon:before,.bar button.button-clear .icon:before,.bar button.button-clear.icon-left:before,.bar button.button-clear.icon-right:before,.bar button.button-clear.icon:before{font-size:32px;line-height:32px}.bar .button.back-button,.bar button.back-button{display:block;margin-right:5px;padding:0;white-space:nowrap;font-weight:400}.bar .button.back-button.activated,.bar .button.back-button.active,.bar button.back-button.activated,.bar button.back-button.active{opacity:.2}.bar .button-bar>.button,.bar .buttons>.button{min-height:31px;line-height:32px}.bar .button+.button-bar,.bar .button-bar+.button{margin-left:5px}.bar .buttons,.bar .buttons.primary-buttons,.bar .buttons.secondary-buttons{display:inherit}.bar .buttons span{display:inline-block}.bar .buttons-left span{margin-right:5px;display:inherit}.bar .buttons-right span{margin-left:5px;display:inherit}.bar .buttons.pull-right,.bar .title+.button:last-child,.bar .title+.buttons,.bar>.button+.button:last-child,.bar>.button.pull-right{position:absolute;top:5px;right:5px;bottom:5px}.platform-android .nav-bar-has-subheader .bar{background-image:none}.platform-android .bar .back-button .icon:before{font-size:24px}.platform-android .bar .title{font-size:19px;line-height:44px}.bar-light .button{border-color:#ddd;background-color:#fff;color:#444}.bar-light .button:hover{color:#444;text-decoration:none}.bar-light .button.activated,.bar-light .button.active{border-color:#ccc;background-color:#fafafa}.bar-light .button.button-clear,.bar-light .button.button-icon{border-color:transparent;background:0 0}.bar-light .button.button-clear{box-shadow:none;color:#444;font-size:17px}.bar-stable .button{border-color:#b2b2b2;background-color:#f8f8f8;color:#444}.bar-stable .button:hover{color:#444;text-decoration:none}.bar-stable .button.activated,.bar-stable .button.active{border-color:#a2a2a2;background-color:#e5e5e5}.bar-stable .button.button-clear,.bar-stable .button.button-icon{border-color:transparent;background:0 0}.bar-stable .button.button-clear{box-shadow:none;color:#444;font-size:17px}.bar-positive .button{border-color:#0c60ee;background-color:#387ef5;color:#fff}.bar-positive .button:hover{color:#fff;text-decoration:none}.bar-positive .button.activated,.bar-positive .button.active{border-color:#0c60ee;background-color:#0c60ee}.bar-positive .button.button-clear,.bar-positive .button.button-icon{border-color:transparent;background:0 0}.bar-positive .button.button-clear{box-shadow:none;color:#fff;font-size:17px}.bar-calm .button{border-color:#0a9dc7;background-color:#11c1f3;color:#fff}.bar-calm .button:hover{color:#fff;text-decoration:none}.bar-calm .button.activated,.bar-calm .button.active{border-color:#0a9dc7;background-color:#0a9dc7}.bar-calm .button.button-clear,.bar-calm .button.button-icon{border-color:transparent;background:0 0}.bar-calm .button.button-clear{box-shadow:none;color:#fff;font-size:17px}.bar-assertive .button{border-color:#e42112;background-color:#ef473a;color:#fff}.bar-assertive .button:hover{color:#fff;text-decoration:none}.bar-assertive .button.activated,.bar-assertive .button.active{border-color:#e42112;background-color:#e42112}.bar-assertive .button.button-clear,.bar-assertive .button.button-icon{border-color:transparent;background:0 0}.bar-assertive .button.button-clear{box-shadow:none;color:#fff;font-size:17px}.bar-balanced .button{border-color:#28a54c;background-color:#33cd5f;color:#fff}.bar-balanced .button:hover{color:#fff;text-decoration:none}.bar-balanced .button.activated,.bar-balanced .button.active{border-color:#28a54c;background-color:#28a54c}.bar-balanced .button.button-clear,.bar-balanced .button.button-icon{border-color:transparent;background:0 0}.bar-balanced .button.button-clear{box-shadow:none;color:#fff;font-size:17px}.bar-energized .button{border-color:#e6b500;background-color:#ffc900;color:#fff}.bar-energized .button:hover{color:#fff;text-decoration:none}.bar-energized .button.activated,.bar-energized .button.active{border-color:#e6b500;background-color:#e6b500}.bar-energized .button.button-clear,.bar-energized .button.button-icon{border-color:transparent;background:0 0}.bar-energized .button.button-clear{box-shadow:none;color:#fff;font-size:17px}.bar-royal .button{border-color:#6b46e5;background-color:#886aea;color:#fff}.bar-royal .button:hover{color:#fff;text-decoration:none}.bar-royal .button.activated,.bar-royal .button.active{border-color:#6b46e5;background-color:#6b46e5}.bar-royal .button.button-clear,.bar-royal .button.button-icon{border-color:transparent;background:0 0}.bar-royal .button.button-clear{box-shadow:none;color:#fff;font-size:17px}.bar-dark .button{border-color:#111;background-color:#444;color:#fff}.bar-dark .button:hover{color:#fff;text-decoration:none}.bar-dark .button.activated,.bar-dark .button.active{border-color:#000;background-color:#262626}.bar-dark .button.button-clear,.bar-dark .button.button-icon{border-color:transparent;background:0 0}.bar-dark .button.button-clear{box-shadow:none;color:#fff;font-size:17px}.bar-header{top:0;border-top-width:0;border-bottom-width:1px}.bar-footer,.tabs{border-top-width:1px;bottom:0}.bar-header.has-tabs-top,.tabs-top .bar-header{border-bottom-width:0;background-image:none}.bar-footer{border-bottom-width:0;background-position:top;height:44px}.bar-footer .title{height:43px;line-height:44px}.bar-tabs{padding:0}.bar-subheader{top:44px;height:44px}.bar-subheader .title{height:43px;line-height:44px}.bar-subfooter{bottom:44px;height:44px}.bar-subfooter .title{height:43px;line-height:44px}.nav-bar-block{top:0;right:0;left:0;z-index:9}.bar .back-button.hide,.bar .buttons .hide{display:none}.nav-bar-tabs-top .bar{background-image:none}.tabs{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:horizontal;-moz-flex-direction:horizontal;-ms-flex-direction:horizontal;flex-direction:horizontal;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;-moz-justify-content:center;justify-content:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);border-color:#b2b2b2;background-color:#f8f8f8;background-image:linear-gradient(0deg,#b2b2b2,#b2b2b2 50%,transparent 50%);color:#444;z-index:5;width:100%;height:49px;border-style:solid;background-size:0;line-height:49px}.tabs .tab-item .badge{background-color:#444;color:#f8f8f8}@media (min--moz-device-pixel-ratio:1.5),(-webkit-min-device-pixel-ratio:1.5),(min-device-pixel-ratio:1.5),(min-resolution:144dpi),(min-resolution:1.5dppx){.tabs{padding-top:2px;border-top:none!important;border-bottom:none;background-position:top;background-size:100% 1px;background-repeat:no-repeat}}.tabs-light>.tabs,.tabs.tabs-light{border-color:#ddd;background-color:#fff;background-image:linear-gradient(0deg,#ddd,#ddd 50%,transparent 50%);color:#444}.tabs-light>.tabs .tab-item .badge,.tabs.tabs-light .tab-item .badge{background-color:#444;color:#fff}.tabs-stable>.tabs,.tabs.tabs-stable{border-color:#b2b2b2;background-color:#f8f8f8;background-image:linear-gradient(0deg,#b2b2b2,#b2b2b2 50%,transparent 50%);color:#444}.tabs-stable>.tabs .tab-item .badge,.tabs.tabs-stable .tab-item .badge{background-color:#444;color:#f8f8f8}.tabs-positive>.tabs,.tabs.tabs-positive{border-color:#0c60ee;background-color:#387ef5;background-image:linear-gradient(0deg,#0c60ee,#0c60ee 50%,transparent 50%);color:#fff}.tabs-positive>.tabs .tab-item .badge,.tabs.tabs-positive .tab-item .badge{background-color:#fff;color:#387ef5}.tabs-calm>.tabs,.tabs.tabs-calm{border-color:#0a9dc7;background-color:#11c1f3;background-image:linear-gradient(0deg,#0a9dc7,#0a9dc7 50%,transparent 50%);color:#fff}.tabs-calm>.tabs .tab-item .badge,.tabs.tabs-calm .tab-item .badge{background-color:#fff;color:#11c1f3}.tabs-assertive>.tabs,.tabs.tabs-assertive{border-color:#e42112;background-color:#ef473a;background-image:linear-gradient(0deg,#e42112,#e42112 50%,transparent 50%);color:#fff}.tabs-assertive>.tabs .tab-item .badge,.tabs.tabs-assertive .tab-item .badge{background-color:#fff;color:#ef473a}.tabs-balanced>.tabs,.tabs.tabs-balanced{border-color:#28a54c;background-color:#33cd5f;background-image:linear-gradient(0deg,#28a54c,#28a54c 50%,transparent 50%);color:#fff}.tabs-balanced>.tabs .tab-item .badge,.tabs.tabs-balanced .tab-item .badge{background-color:#fff;color:#33cd5f}.tabs-energized>.tabs,.tabs.tabs-energized{border-color:#e6b500;background-color:#ffc900;background-image:linear-gradient(0deg,#e6b500,#e6b500 50%,transparent 50%);color:#fff}.tabs-energized>.tabs .tab-item .badge,.tabs.tabs-energized .tab-item .badge{background-color:#fff;color:#ffc900}.tabs-royal>.tabs,.tabs.tabs-royal{border-color:#6b46e5;background-color:#886aea;background-image:linear-gradient(0deg,#6b46e5,#6b46e5 50%,transparent 50%);color:#fff}.tabs-royal>.tabs .tab-item .badge,.tabs.tabs-royal .tab-item .badge{background-color:#fff;color:#886aea}.tabs-dark>.tabs,.tabs.tabs-dark{border-color:#111;background-color:#444;background-image:linear-gradient(0deg,#111,#111 50%,transparent 50%);color:#fff}.tabs-striped .tabs,.tabs-striped.tabs-light .tabs{background-color:#fff}.tabs-dark>.tabs .tab-item .badge,.tabs.tabs-dark .tab-item .badge{background-color:#fff;color:#444}.tabs-striped .tabs{background-image:none;border:none;border-bottom:1px solid #ddd;padding-top:2px}.tabs-striped .tab-item.activated,.tabs-striped .tab-item.active,.tabs-striped .tab-item.tab-item-active{margin-top:-2px;border-style:solid;border-width:2px 0 0;border-color:#444}.tabs-striped .tab-item.activated .badge,.tabs-striped .tab-item.active .badge,.tabs-striped .tab-item.tab-item-active .badge{top:2px;opacity:1}.tabs-striped.tabs-light .tab-item{color:rgba(68,68,68,.4);opacity:1}.tabs-striped.tabs-light .tab-item .badge{opacity:.4}.tabs-striped.tabs-light .tab-item.activated,.tabs-striped.tabs-light .tab-item.active,.tabs-striped.tabs-light .tab-item.tab-item-active{margin-top:-2px;color:#444;border-style:solid;border-width:2px 0 0;border-color:#444}.tabs-striped.tabs-stable .tabs{background-color:#f8f8f8}.tabs-striped.tabs-stable .tab-item{color:rgba(68,68,68,.4);opacity:1}.tabs-striped.tabs-stable .tab-item .badge{opacity:.4}.tabs-striped.tabs-stable .tab-item.activated,.tabs-striped.tabs-stable .tab-item.active,.tabs-striped.tabs-stable .tab-item.tab-item-active{margin-top:-2px;color:#444;border-style:solid;border-width:2px 0 0;border-color:#444}.tabs-striped.tabs-positive .tabs{background-color:#387ef5}.tabs-striped.tabs-positive .tab-item{color:rgba(255,255,255,.4);opacity:1}.tabs-striped.tabs-positive .tab-item .badge{opacity:.4}.tabs-striped.tabs-positive .tab-item.activated,.tabs-striped.tabs-positive .tab-item.active,.tabs-striped.tabs-positive .tab-item.tab-item-active{margin-top:-2px;color:#fff;border-style:solid;border-width:2px 0 0;border-color:#fff}.tabs-striped.tabs-calm .tabs{background-color:#11c1f3}.tabs-striped.tabs-calm .tab-item{color:rgba(255,255,255,.4);opacity:1}.tabs-striped.tabs-calm .tab-item .badge{opacity:.4}.tabs-striped.tabs-calm .tab-item.activated,.tabs-striped.tabs-calm .tab-item.active,.tabs-striped.tabs-calm .tab-item.tab-item-active{margin-top:-2px;color:#fff;border-style:solid;border-width:2px 0 0;border-color:#fff}.tabs-striped.tabs-assertive .tabs{background-color:#ef473a}.tabs-striped.tabs-assertive .tab-item{color:rgba(255,255,255,.4);opacity:1}.tabs-striped.tabs-assertive .tab-item .badge{opacity:.4}.tabs-striped.tabs-assertive .tab-item.activated,.tabs-striped.tabs-assertive .tab-item.active,.tabs-striped.tabs-assertive .tab-item.tab-item-active{margin-top:-2px;color:#fff;border-style:solid;border-width:2px 0 0;border-color:#fff}.tabs-striped.tabs-balanced .tabs{background-color:#33cd5f}.tabs-striped.tabs-balanced .tab-item{color:rgba(255,255,255,.4);opacity:1}.tabs-striped.tabs-balanced .tab-item .badge{opacity:.4}.tabs-striped.tabs-balanced .tab-item.activated,.tabs-striped.tabs-balanced .tab-item.active,.tabs-striped.tabs-balanced .tab-item.tab-item-active{margin-top:-2px;color:#fff;border-style:solid;border-width:2px 0 0;border-color:#fff}.tabs-striped.tabs-energized .tabs{background-color:#ffc900}.tabs-striped.tabs-energized .tab-item{color:rgba(255,255,255,.4);opacity:1}.tabs-striped.tabs-energized .tab-item .badge{opacity:.4}.tabs-striped.tabs-energized .tab-item.activated,.tabs-striped.tabs-energized .tab-item.active,.tabs-striped.tabs-energized .tab-item.tab-item-active{margin-top:-2px;color:#fff;border-style:solid;border-width:2px 0 0;border-color:#fff}.tabs-striped.tabs-royal .tabs{background-color:#886aea}.tabs-striped.tabs-royal .tab-item{color:rgba(255,255,255,.4);opacity:1}.tabs-striped.tabs-royal .tab-item .badge{opacity:.4}.tabs-striped.tabs-royal .tab-item.activated,.tabs-striped.tabs-royal .tab-item.active,.tabs-striped.tabs-royal .tab-item.tab-item-active{margin-top:-2px;color:#fff;border-style:solid;border-width:2px 0 0;border-color:#fff}.tabs-striped.tabs-dark .tabs{background-color:#444}.tabs-striped.tabs-dark .tab-item{color:rgba(255,255,255,.4);opacity:1}.tabs-striped.tabs-dark .tab-item .badge{opacity:.4}.tabs-striped.tabs-dark .tab-item.activated,.tabs-striped.tabs-dark .tab-item.active,.tabs-striped.tabs-dark .tab-item.tab-item-active{margin-top:-2px;color:#fff;border-style:solid;border-width:2px 0 0;border-color:#fff}.tabs-striped.tabs-top .tab-item.activated .badge,.tabs-striped.tabs-top .tab-item.active .badge,.tabs-striped.tabs-top .tab-item.tab-item-active .badge{top:4%}.tabs-striped.tabs-background-light .tabs{background-color:#fff;background-image:none}.tabs-striped.tabs-background-stable .tabs{background-color:#f8f8f8;background-image:none}.tabs-striped.tabs-background-positive .tabs{background-color:#387ef5;background-image:none}.tabs-striped.tabs-background-calm .tabs{background-color:#11c1f3;background-image:none}.tabs-striped.tabs-background-assertive .tabs{background-color:#ef473a;background-image:none}.tabs-striped.tabs-background-balanced .tabs{background-color:#33cd5f;background-image:none}.tabs-striped.tabs-background-energized .tabs{background-color:#ffc900;background-image:none}.tabs-striped.tabs-background-royal .tabs{background-color:#886aea;background-image:none}.tabs-striped.tabs-background-dark .tabs{background-color:#444;background-image:none}.tabs-striped.tabs-color-light .tab-item{color:rgba(255,255,255,.4);opacity:1}.tabs-striped.tabs-color-light .tab-item .badge{opacity:.4}.tabs-striped.tabs-color-light .tab-item.activated,.tabs-striped.tabs-color-light .tab-item.active,.tabs-striped.tabs-color-light .tab-item.tab-item-active{margin-top:-2px;color:#fff;border:0 solid #fff;border-top-width:2px}.tabs-striped.tabs-color-light .tab-item.activated .badge,.tabs-striped.tabs-color-light .tab-item.active .badge,.tabs-striped.tabs-color-light .tab-item.tab-item-active .badge{top:2px;opacity:1}.tabs-striped.tabs-color-stable .tab-item{color:rgba(248,248,248,.4);opacity:1}.tabs-striped.tabs-color-stable .tab-item .badge{opacity:.4}.tabs-striped.tabs-color-stable .tab-item.activated,.tabs-striped.tabs-color-stable .tab-item.active,.tabs-striped.tabs-color-stable .tab-item.tab-item-active{margin-top:-2px;color:#f8f8f8;border:0 solid #f8f8f8;border-top-width:2px}.tabs-striped.tabs-color-stable .tab-item.activated .badge,.tabs-striped.tabs-color-stable .tab-item.active .badge,.tabs-striped.tabs-color-stable .tab-item.tab-item-active .badge{top:2px;opacity:1}.tabs-striped.tabs-color-positive .tab-item{color:rgba(56,126,245,.4);opacity:1}.tabs-striped.tabs-color-positive .tab-item .badge{opacity:.4}.tabs-striped.tabs-color-positive .tab-item.activated,.tabs-striped.tabs-color-positive .tab-item.active,.tabs-striped.tabs-color-positive .tab-item.tab-item-active{margin-top:-2px;color:#387ef5;border:0 solid #387ef5;border-top-width:2px}.tabs-striped.tabs-color-positive .tab-item.activated .badge,.tabs-striped.tabs-color-positive .tab-item.active .badge,.tabs-striped.tabs-color-positive .tab-item.tab-item-active .badge{top:2px;opacity:1}.tabs-striped.tabs-color-calm .tab-item{color:rgba(17,193,243,.4);opacity:1}.tabs-striped.tabs-color-calm .tab-item .badge{opacity:.4}.tabs-striped.tabs-color-calm .tab-item.activated,.tabs-striped.tabs-color-calm .tab-item.active,.tabs-striped.tabs-color-calm .tab-item.tab-item-active{margin-top:-2px;color:#11c1f3;border:0 solid #11c1f3;border-top-width:2px}.tabs-striped.tabs-color-calm .tab-item.activated .badge,.tabs-striped.tabs-color-calm .tab-item.active .badge,.tabs-striped.tabs-color-calm .tab-item.tab-item-active .badge{top:2px;opacity:1}.tabs-striped.tabs-color-assertive .tab-item{color:rgba(239,71,58,.4);opacity:1}.tabs-striped.tabs-color-assertive .tab-item .badge{opacity:.4}.tabs-striped.tabs-color-assertive .tab-item.activated,.tabs-striped.tabs-color-assertive .tab-item.active,.tabs-striped.tabs-color-assertive .tab-item.tab-item-active{margin-top:-2px;color:#ef473a;border:0 solid #ef473a;border-top-width:2px}.tabs-striped.tabs-color-assertive .tab-item.activated .badge,.tabs-striped.tabs-color-assertive .tab-item.active .badge,.tabs-striped.tabs-color-assertive .tab-item.tab-item-active .badge{top:2px;opacity:1}.tabs-striped.tabs-color-balanced .tab-item{color:rgba(51,205,95,.4);opacity:1}.tabs-striped.tabs-color-balanced .tab-item .badge{opacity:.4}.tabs-striped.tabs-color-balanced .tab-item.activated,.tabs-striped.tabs-color-balanced .tab-item.active,.tabs-striped.tabs-color-balanced .tab-item.tab-item-active{margin-top:-2px;color:#33cd5f;border:0 solid #33cd5f;border-top-width:2px}.tabs-striped.tabs-color-balanced .tab-item.activated .badge,.tabs-striped.tabs-color-balanced .tab-item.active .badge,.tabs-striped.tabs-color-balanced .tab-item.tab-item-active .badge{top:2px;opacity:1}.tabs-striped.tabs-color-energized .tab-item{color:rgba(255,201,0,.4);opacity:1}.tabs-striped.tabs-color-energized .tab-item .badge{opacity:.4}.tabs-striped.tabs-color-energized .tab-item.activated,.tabs-striped.tabs-color-energized .tab-item.active,.tabs-striped.tabs-color-energized .tab-item.tab-item-active{margin-top:-2px;color:#ffc900;border:0 solid #ffc900;border-top-width:2px}.tabs-striped.tabs-color-energized .tab-item.activated .badge,.tabs-striped.tabs-color-energized .tab-item.active .badge,.tabs-striped.tabs-color-energized .tab-item.tab-item-active .badge{top:2px;opacity:1}.tabs-striped.tabs-color-royal .tab-item{color:rgba(136,106,234,.4);opacity:1}.tabs-striped.tabs-color-royal .tab-item .badge{opacity:.4}.tabs-striped.tabs-color-royal .tab-item.activated,.tabs-striped.tabs-color-royal .tab-item.active,.tabs-striped.tabs-color-royal .tab-item.tab-item-active{margin-top:-2px;color:#886aea;border:0 solid #886aea;border-top-width:2px}.tabs-striped.tabs-color-royal .tab-item.activated .badge,.tabs-striped.tabs-color-royal .tab-item.active .badge,.tabs-striped.tabs-color-royal .tab-item.tab-item-active .badge{top:2px;opacity:1}.tabs-striped.tabs-color-dark .tab-item{color:rgba(68,68,68,.4);opacity:1}.tabs-striped.tabs-color-dark .tab-item .badge{opacity:.4}.tabs-striped.tabs-color-dark .tab-item.activated,.tabs-striped.tabs-color-dark .tab-item.active,.tabs-striped.tabs-color-dark .tab-item.tab-item-active{margin-top:-2px;color:#444;border:0 solid #444;border-top-width:2px}.tabs-striped.tabs-color-dark .tab-item.activated .badge,.tabs-striped.tabs-color-dark .tab-item.active .badge,.tabs-striped.tabs-color-dark .tab-item.tab-item-active .badge{top:2px;opacity:1}.tabs-background-light .tabs,.tabs-background-light>.tabs{background-color:#fff;background-image:linear-gradient(0deg,#ddd,#ddd 50%,transparent 50%);border-color:#ddd}.tabs-background-stable .tabs,.tabs-background-stable>.tabs{background-color:#f8f8f8;background-image:linear-gradient(0deg,#b2b2b2,#b2b2b2 50%,transparent 50%);border-color:#b2b2b2}.tabs-background-positive .tabs,.tabs-background-positive>.tabs{background-color:#387ef5;background-image:linear-gradient(0deg,#0c60ee,#0c60ee 50%,transparent 50%);border-color:#0c60ee}.tabs-background-calm .tabs,.tabs-background-calm>.tabs{background-color:#11c1f3;background-image:linear-gradient(0deg,#0a9dc7,#0a9dc7 50%,transparent 50%);border-color:#0a9dc7}.tabs-background-assertive .tabs,.tabs-background-assertive>.tabs{background-color:#ef473a;background-image:linear-gradient(0deg,#e42112,#e42112 50%,transparent 50%);border-color:#e42112}.tabs-background-balanced .tabs,.tabs-background-balanced>.tabs{background-color:#33cd5f;background-image:linear-gradient(0deg,#28a54c,#28a54c 50%,transparent 50%);border-color:#28a54c}.tabs-background-energized .tabs,.tabs-background-energized>.tabs{background-color:#ffc900;background-image:linear-gradient(0deg,#e6b500,#e6b500 50%,transparent 50%);border-color:#e6b500}.tabs-background-royal .tabs,.tabs-background-royal>.tabs{background-color:#886aea;background-image:linear-gradient(0deg,#6b46e5,#6b46e5 50%,transparent 50%);border-color:#6b46e5}.tabs-background-dark .tabs,.tabs-background-dark>.tabs{background-color:#444;background-image:linear-gradient(0deg,#111,#111 50%,transparent 50%);border-color:#111}.tabs-color-light .tab-item{color:rgba(255,255,255,.4);opacity:1}.tabs-color-light .tab-item .badge{opacity:.4}.tabs-color-light .tab-item.activated,.tabs-color-light .tab-item.active,.tabs-color-light .tab-item.tab-item-active{color:#fff;border:0 solid #fff}.tabs-color-light .tab-item.activated .badge,.tabs-color-light .tab-item.active .badge,.tabs-color-light .tab-item.tab-item-active .badge{opacity:1}.tabs-color-stable .tab-item{color:rgba(248,248,248,.4);opacity:1}.tabs-color-stable .tab-item .badge{opacity:.4}.tabs-color-stable .tab-item.activated,.tabs-color-stable .tab-item.active,.tabs-color-stable .tab-item.tab-item-active{color:#f8f8f8;border:0 solid #f8f8f8}.tabs-color-stable .tab-item.activated .badge,.tabs-color-stable .tab-item.active .badge,.tabs-color-stable .tab-item.tab-item-active .badge{opacity:1}.tabs-color-positive .tab-item{color:rgba(56,126,245,.4);opacity:1}.tabs-color-positive .tab-item .badge{opacity:.4}.tabs-color-positive .tab-item.activated,.tabs-color-positive .tab-item.active,.tabs-color-positive .tab-item.tab-item-active{color:#387ef5;border:0 solid #387ef5}.tabs-color-positive .tab-item.activated .badge,.tabs-color-positive .tab-item.active .badge,.tabs-color-positive .tab-item.tab-item-active .badge{opacity:1}.tabs-color-calm .tab-item{color:rgba(17,193,243,.4);opacity:1}.tabs-color-calm .tab-item .badge{opacity:.4}.tabs-color-calm .tab-item.activated,.tabs-color-calm .tab-item.active,.tabs-color-calm .tab-item.tab-item-active{color:#11c1f3;border:0 solid #11c1f3}.tabs-color-calm .tab-item.activated .badge,.tabs-color-calm .tab-item.active .badge,.tabs-color-calm .tab-item.tab-item-active .badge{opacity:1}.tabs-color-assertive .tab-item{color:rgba(239,71,58,.4);opacity:1}.tabs-color-assertive .tab-item .badge{opacity:.4}.tabs-color-assertive .tab-item.activated,.tabs-color-assertive .tab-item.active,.tabs-color-assertive .tab-item.tab-item-active{color:#ef473a;border:0 solid #ef473a}.tabs-color-assertive .tab-item.activated .badge,.tabs-color-assertive .tab-item.active .badge,.tabs-color-assertive .tab-item.tab-item-active .badge{opacity:1}.tabs-color-balanced .tab-item{color:rgba(51,205,95,.4);opacity:1}.tabs-color-balanced .tab-item .badge{opacity:.4}.tabs-color-balanced .tab-item.activated,.tabs-color-balanced .tab-item.active,.tabs-color-balanced .tab-item.tab-item-active{color:#33cd5f;border:0 solid #33cd5f}.tabs-color-balanced .tab-item.activated .badge,.tabs-color-balanced .tab-item.active .badge,.tabs-color-balanced .tab-item.tab-item-active .badge{opacity:1}.tabs-color-energized .tab-item{color:rgba(255,201,0,.4);opacity:1}.tabs-color-energized .tab-item .badge{opacity:.4}.tabs-color-energized .tab-item.activated,.tabs-color-energized .tab-item.active,.tabs-color-energized .tab-item.tab-item-active{color:#ffc900;border:0 solid #ffc900}.tabs-color-energized .tab-item.activated .badge,.tabs-color-energized .tab-item.active .badge,.tabs-color-energized .tab-item.tab-item-active .badge{opacity:1}.tabs-color-royal .tab-item{color:rgba(136,106,234,.4);opacity:1}.tabs-color-royal .tab-item .badge{opacity:.4}.tabs-color-royal .tab-item.activated,.tabs-color-royal .tab-item.active,.tabs-color-royal .tab-item.tab-item-active{color:#886aea;border:0 solid #886aea}.tabs-color-royal .tab-item.activated .badge,.tabs-color-royal .tab-item.active .badge,.tabs-color-royal .tab-item.tab-item-active .badge{opacity:1}.tabs-color-dark .tab-item{color:rgba(68,68,68,.4);opacity:1}.tabs-color-dark .tab-item .badge{opacity:.4}.tabs-color-dark .tab-item.activated,.tabs-color-dark .tab-item.active,.tabs-color-dark .tab-item.tab-item-active{color:#444;border:0 solid #444}.tabs-color-dark .tab-item.activated .badge,.tabs-color-dark .tab-item.active .badge,.tabs-color-dark .tab-item.tab-item-active .badge{opacity:1}ion-tabs.tabs-color-active-light .tab-item{color:#444}ion-tabs.tabs-color-active-light .tab-item.activated,ion-tabs.tabs-color-active-light .tab-item.active,ion-tabs.tabs-color-active-light .tab-item.tab-item-active{color:#fff}ion-tabs.tabs-striped.tabs-color-active-light .tab-item.activated,ion-tabs.tabs-striped.tabs-color-active-light .tab-item.active,ion-tabs.tabs-striped.tabs-color-active-light .tab-item.tab-item-active{border-color:#fff;color:#fff}ion-tabs.tabs-color-active-stable .tab-item{color:#444}ion-tabs.tabs-color-active-stable .tab-item.activated,ion-tabs.tabs-color-active-stable .tab-item.active,ion-tabs.tabs-color-active-stable .tab-item.tab-item-active{color:#f8f8f8}ion-tabs.tabs-striped.tabs-color-active-stable .tab-item.activated,ion-tabs.tabs-striped.tabs-color-active-stable .tab-item.active,ion-tabs.tabs-striped.tabs-color-active-stable .tab-item.tab-item-active{border-color:#f8f8f8;color:#f8f8f8}ion-tabs.tabs-color-active-positive .tab-item{color:#444}ion-tabs.tabs-color-active-positive .tab-item.activated,ion-tabs.tabs-color-active-positive .tab-item.active,ion-tabs.tabs-color-active-positive .tab-item.tab-item-active{color:#387ef5}ion-tabs.tabs-striped.tabs-color-active-positive .tab-item.activated,ion-tabs.tabs-striped.tabs-color-active-positive .tab-item.active,ion-tabs.tabs-striped.tabs-color-active-positive .tab-item.tab-item-active{border-color:#387ef5;color:#387ef5}ion-tabs.tabs-color-active-calm .tab-item{color:#444}ion-tabs.tabs-color-active-calm .tab-item.activated,ion-tabs.tabs-color-active-calm .tab-item.active,ion-tabs.tabs-color-active-calm .tab-item.tab-item-active{color:#11c1f3}ion-tabs.tabs-striped.tabs-color-active-calm .tab-item.activated,ion-tabs.tabs-striped.tabs-color-active-calm .tab-item.active,ion-tabs.tabs-striped.tabs-color-active-calm .tab-item.tab-item-active{border-color:#11c1f3;color:#11c1f3}ion-tabs.tabs-color-active-assertive .tab-item{color:#444}ion-tabs.tabs-color-active-assertive .tab-item.activated,ion-tabs.tabs-color-active-assertive .tab-item.active,ion-tabs.tabs-color-active-assertive .tab-item.tab-item-active{color:#ef473a}ion-tabs.tabs-striped.tabs-color-active-assertive .tab-item.activated,ion-tabs.tabs-striped.tabs-color-active-assertive .tab-item.active,ion-tabs.tabs-striped.tabs-color-active-assertive .tab-item.tab-item-active{border-color:#ef473a;color:#ef473a}ion-tabs.tabs-color-active-balanced .tab-item{color:#444}ion-tabs.tabs-color-active-balanced .tab-item.activated,ion-tabs.tabs-color-active-balanced .tab-item.active,ion-tabs.tabs-color-active-balanced .tab-item.tab-item-active{color:#33cd5f}ion-tabs.tabs-striped.tabs-color-active-balanced .tab-item.activated,ion-tabs.tabs-striped.tabs-color-active-balanced .tab-item.active,ion-tabs.tabs-striped.tabs-color-active-balanced .tab-item.tab-item-active{border-color:#33cd5f;color:#33cd5f}ion-tabs.tabs-color-active-energized .tab-item{color:#444}ion-tabs.tabs-color-active-energized .tab-item.activated,ion-tabs.tabs-color-active-energized .tab-item.active,ion-tabs.tabs-color-active-energized .tab-item.tab-item-active{color:#ffc900}ion-tabs.tabs-striped.tabs-color-active-energized .tab-item.activated,ion-tabs.tabs-striped.tabs-color-active-energized .tab-item.active,ion-tabs.tabs-striped.tabs-color-active-energized .tab-item.tab-item-active{border-color:#ffc900;color:#ffc900}ion-tabs.tabs-color-active-royal .tab-item{color:#444}ion-tabs.tabs-color-active-royal .tab-item.activated,ion-tabs.tabs-color-active-royal .tab-item.active,ion-tabs.tabs-color-active-royal .tab-item.tab-item-active{color:#886aea}ion-tabs.tabs-striped.tabs-color-active-royal .tab-item.activated,ion-tabs.tabs-striped.tabs-color-active-royal .tab-item.active,ion-tabs.tabs-striped.tabs-color-active-royal .tab-item.tab-item-active{border-color:#886aea;color:#886aea}ion-tabs.tabs-color-active-dark .tab-item{color:#fff}ion-tabs.tabs-color-active-dark .tab-item.activated,ion-tabs.tabs-color-active-dark .tab-item.active,ion-tabs.tabs-color-active-dark .tab-item.tab-item-active{color:#444}ion-tabs.tabs-striped.tabs-color-active-dark .tab-item.activated,ion-tabs.tabs-striped.tabs-color-active-dark .tab-item.active,ion-tabs.tabs-striped.tabs-color-active-dark .tab-item.tab-item-active{border-color:#444;color:#444}.tabs-top.tabs-striped{padding-bottom:0}.tabs-top.tabs-striped .tab-item{background:0 0;-webkit-transition:color .1s ease;-moz-transition:color .1s ease;-ms-transition:color .1s ease;-o-transition:color .1s ease;transition:color .1s ease}.menu,.modal{min-height:100%;background-color:#fff;overflow:hidden}.tabs-top.tabs-striped .tab-item.activated,.tabs-top.tabs-striped .tab-item.active,.tabs-top.tabs-striped .tab-item.tab-item-active{margin-top:1px;border-width:0 0 2px!important;border-style:solid}.tabs-top.tabs-striped .tab-item.activated>.badge,.tabs-top.tabs-striped .tab-item.activated>i,.tabs-top.tabs-striped .tab-item.active>.badge,.tabs-top.tabs-striped .tab-item.active>i,.tabs-top.tabs-striped .tab-item.tab-item-active>.badge,.tabs-top.tabs-striped .tab-item.tab-item-active>i{margin-top:-1px}.tabs-top.tabs-striped .tab-item .badge{-webkit-transition:color .2s ease;-moz-transition:color .2s ease;-ms-transition:color .2s ease;-o-transition:color .2s ease;transition:color .2s ease}.tabs-top.tabs-striped:not(.tabs-icon-left):not(.tabs-icon-top) .tab-item.activated .tab-title,.tabs-top.tabs-striped:not(.tabs-icon-left):not(.tabs-icon-top) .tab-item.activated i,.tabs-top.tabs-striped:not(.tabs-icon-left):not(.tabs-icon-top) .tab-item.active .tab-title,.tabs-top.tabs-striped:not(.tabs-icon-left):not(.tabs-icon-top) .tab-item.active i,.tabs-top.tabs-striped:not(.tabs-icon-left):not(.tabs-icon-top) .tab-item.tab-item-active .tab-title,.tabs-top.tabs-striped:not(.tabs-icon-left):not(.tabs-icon-top) .tab-item.tab-item-active i{display:block;margin-top:-1px}.tabs-top.tabs-striped.tabs-icon-left .tab-item{margin-top:1px}.tabs-top.tabs-striped.tabs-icon-left .tab-item.activated .tab-title,.tabs-top.tabs-striped.tabs-icon-left .tab-item.activated i,.tabs-top.tabs-striped.tabs-icon-left .tab-item.active .tab-title,.tabs-top.tabs-striped.tabs-icon-left .tab-item.active i,.tabs-top.tabs-striped.tabs-icon-left .tab-item.tab-item-active .tab-title,.tabs-top.tabs-striped.tabs-icon-left .tab-item.tab-item-active i{margin-top:-.1em}.tabs-top>.tabs,.tabs.tabs-top{top:44px;padding-top:0;background-position:bottom;border-top-width:0;border-bottom-width:1px}.tabs-top>.tabs .tab-item.activated .badge,.tabs-top>.tabs .tab-item.active .badge,.tabs-top>.tabs .tab-item.tab-item-active .badge,.tabs.tabs-top .tab-item.activated .badge,.tabs.tabs-top .tab-item.active .badge,.tabs.tabs-top .tab-item.tab-item-active .badge{top:4%}.tabs-top~.bar-header{border-bottom-width:0}.tab-item{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1;display:block;overflow:hidden;max-width:150px;height:100%;color:inherit;text-align:center;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;font-weight:400;font-size:14px;opacity:.7}.loading-container .loading h1,.loading-container .loading h2,.loading-container .loading h3,.loading-container .loading h4,.loading-container .loading h5,.loading-container .loading h6,.tab-item.activated.tab-item-light,.tab-item.active.tab-item-light,.tab-item.tab-item-active.tab-item-light{color:#fff}.tab-item:hover{cursor:pointer}.tab-item.tab-hidden,.tabs-item-hide>.tabs,.tabs.tabs-item-hide{display:none}.tabs-icon-bottom.tabs .tab-item,.tabs-icon-bottom>.tabs .tab-item,.tabs-icon-top.tabs .tab-item,.tabs-icon-top>.tabs .tab-item{font-size:10px;line-height:14px}.tab-item .icon{display:block;margin:0 auto;height:32px;font-size:32px}.tabs-icon-left.tabs .tab-item,.tabs-icon-left>.tabs .tab-item,.tabs-icon-right.tabs .tab-item,.tabs-icon-right>.tabs .tab-item{font-size:10px}.tabs-icon-left.tabs .tab-item .icon,.tabs-icon-left.tabs .tab-item .tab-title,.tabs-icon-left>.tabs .tab-item .icon,.tabs-icon-left>.tabs .tab-item .tab-title,.tabs-icon-right.tabs .tab-item .icon,.tabs-icon-right.tabs .tab-item .tab-title,.tabs-icon-right>.tabs .tab-item .icon,.tabs-icon-right>.tabs .tab-item .tab-title{display:inline-block;vertical-align:top;margin-top:-.1em}.tabs-icon-left.tabs .tab-item .icon:before,.tabs-icon-left.tabs .tab-item .tab-title:before,.tabs-icon-left>.tabs .tab-item .icon:before,.tabs-icon-left>.tabs .tab-item .tab-title:before,.tabs-icon-right.tabs .tab-item .icon:before,.tabs-icon-right.tabs .tab-item .tab-title:before,.tabs-icon-right>.tabs .tab-item .icon:before,.tabs-icon-right>.tabs .tab-item .tab-title:before{font-size:24px;line-height:49px}.tabs-icon-left.tabs .tab-item .icon,.tabs-icon-left>.tabs .tab-item .icon{padding-right:3px}.tabs-icon-right.tabs .tab-item .icon,.tabs-icon-right>.tabs .tab-item .icon{padding-left:3px}.tabs-icon-only.tabs .icon,.tabs-icon-only>.tabs .icon{line-height:inherit}.tab-item.has-badge{position:relative}.tab-item .badge{position:absolute;top:4%;right:33%;right:calc(50% - 26px);padding:1px 6px;height:auto;font-size:12px;line-height:16px}.tab-item.activated,.tab-item.active,.tab-item.tab-item-active{opacity:1}.tab-item.activated.tab-item-stable,.tab-item.active.tab-item-stable,.tab-item.tab-item-active.tab-item-stable{color:#f8f8f8}.tab-item.activated.tab-item-positive,.tab-item.active.tab-item-positive,.tab-item.tab-item-active.tab-item-positive{color:#387ef5}.tab-item.activated.tab-item-calm,.tab-item.active.tab-item-calm,.tab-item.tab-item-active.tab-item-calm{color:#11c1f3}.tab-item.activated.tab-item-assertive,.tab-item.active.tab-item-assertive,.tab-item.tab-item-active.tab-item-assertive{color:#ef473a}.tab-item.activated.tab-item-balanced,.tab-item.active.tab-item-balanced,.tab-item.tab-item-active.tab-item-balanced{color:#33cd5f}.tab-item.activated.tab-item-energized,.tab-item.active.tab-item-energized,.tab-item.tab-item-active.tab-item-energized{color:#ffc900}.tab-item.activated.tab-item-royal,.tab-item.active.tab-item-royal,.tab-item.tab-item-active.tab-item-royal{color:#886aea}.tab-item.activated.tab-item-dark,.tab-item.active.tab-item-dark,.tab-item.tab-item-active.tab-item-dark{color:#444}.item.tabs{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;padding:0}.item.tabs .icon:before{position:relative}.tab-item.disabled,.tab-item[disabled]{opacity:.4;cursor:default;pointer-events:none}.nav-bar-tabs-top.hide~.view-container .tabs-top .tabs{top:0}.pane[hide-nav-bar=true] .has-tabs-top{top:49px}.menu{position:absolute;top:0;bottom:0;z-index:0;max-height:100%;width:275px}.menu .scroll-content{z-index:10}.menu .bar-header{z-index:11}.menu-content{-webkit-transform:none;transform:none;box-shadow:-1px 0 2px rgba(0,0,0,.2),1px 0 2px rgba(0,0,0,.2)}.menu-open .menu-content .scroll-content:not(.overflow-scroll){overflow:hidden}.grade-b .menu-content,.grade-c .menu-content{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;right:-1px;left:-1px;border-right:1px solid #ccc;border-left:1px solid #ccc;box-shadow:none}.menu-left{left:0}.menu-right{right:0}.aside-open.aside-resizing .menu-right{display:none}.modal,.popover{z-index:10;display:block}.menu-animated{-webkit-transition:-webkit-transform .2s ease;transition:transform .2s ease}.modal-backdrop,.modal-backdrop-bg{position:fixed;top:0;left:0;z-index:10;width:100%;height:100%}.modal{position:absolute;top:0;width:100%}@media (min-width:680px){.modal{top:20%;right:20%;bottom:20%;left:20%;min-height:240px;width:60%}.modal.ng-leave-active{bottom:0}.platform-ios.platform-cordova .modal-wrapper .modal .bar-header:not(.bar-subheader){height:44px}.platform-ios.platform-cordova .modal-wrapper .modal .bar-header:not(.bar-subheader)>*{margin-top:0}.platform-ios.platform-cordova .modal-wrapper .modal .bar-subheader,.platform-ios.platform-cordova .modal-wrapper .modal .has-header,.platform-ios.platform-cordova .modal-wrapper .modal .tabs-top>.tabs,.platform-ios.platform-cordova .modal-wrapper .modal .tabs.tabs-top{top:44px}.platform-ios.platform-cordova .modal-wrapper .modal .has-subheader{top:88px}.platform-ios.platform-cordova .modal-wrapper .modal .has-header.has-tabs-top{top:93px}.platform-ios.platform-cordova .modal-wrapper .modal .has-header.has-subheader.has-tabs-top{top:137px}.modal-backdrop-bg{-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out;background-color:#000;opacity:0}.active .modal-backdrop-bg{opacity:.5}}.modal-open .modal,.modal-open .modal-backdrop{pointer-events:auto}.modal-open.loading-active .modal,.modal-open.loading-active .modal-backdrop,.popover-open{pointer-events:none}.popover-backdrop{position:fixed;top:0;left:0;z-index:10;width:100%;height:100%;background-color:rgba(0,0,0,0)}.popover-backdrop.active{background-color:rgba(0,0,0,.1)}.popover{position:absolute;top:25%;left:50%;margin-top:12px;margin-left:-110px;width:220px;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4);opacity:0}.popover .item:first-child{border-top:0}.popover .item:last-child{border-bottom:0}.popover.popover-bottom{margin-top:-12px}.popover,.popover .bar-header{border-radius:2px}.popover .scroll-content{z-index:1;margin:2px 0}.popover .bar-header{border-bottom-right-radius:0;border-bottom-left-radius:0}.popover .has-header{border-top-right-radius:0;border-top-left-radius:0}.popover-arrow{display:none}.platform-ios .popover{box-shadow:0 0 40px rgba(0,0,0,.08);border-radius:10px}.platform-ios .popover .bar-header{-webkit-border-top-right-radius:10px;border-top-right-radius:10px;-webkit-border-top-left-radius:10px;border-top-left-radius:10px}.platform-ios .popover .scroll-content{margin:8px 0;border-radius:10px}.platform-ios .popover .scroll-content.has-header{margin-top:0}.platform-ios .popover-arrow{position:absolute;display:block;top:-17px;width:30px;height:19px;overflow:hidden}.popup-container,.popup-container .popup{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox}.platform-ios .popover-arrow:after{position:absolute;top:12px;left:5px;width:20px;height:20px;background-color:#fff;border-radius:3px;content:'';-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.platform-ios .popover-bottom .popover-arrow{top:auto;bottom:-10px}.platform-ios .popover-bottom .popover-arrow:after{top:-6px}.loading-container,.popup-container{position:absolute;left:0;top:0;right:0;bottom:0}.platform-android .popover{margin-top:-32px;background-color:#fafafa;box-shadow:0 2px 6px rgba(0,0,0,.35)}.platform-android .popover .item{border-color:#fafafa;background-color:#fafafa;color:#4d4d4d}.platform-android .popover.popover-bottom{margin-top:32px}.platform-android .popover-backdrop,.platform-android .popover-backdrop.active{background-color:transparent}.popover-open .popover,.popover-open .popover-backdrop{pointer-events:auto}.popover-open.loading-active .popover,.popover-open.loading-active .popover-backdrop{pointer-events:none}@media (min-width:680px){.popover{width:360px;margin-left:-180px}}.popup-container{background:rgba(0,0,0,0);display:-moz-box;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;-moz-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;z-index:12;visibility:hidden}.popup-container.popup-showing{visibility:visible}.popup-container.popup-hidden .popup{-webkit-animation-name:scaleOut;animation-name:scaleOut;-webkit-animation-duration:.1s;animation-duration:.1s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.popup-container.active .popup{-webkit-animation-name:superScaleIn;animation-name:superScaleIn;-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.popup-container .popup{width:250px;max-width:100%;max-height:90%;border-radius:0;display:-moz-box;display:flex;-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.popup-container input,.popup-container textarea{width:100%}.popup-head{padding:15px 10px;text-align:center}.popup-title{margin:0;padding:0}.popup-sub-title{margin:5px 0 0;padding:0;font-weight:400;font-size:11px}.popup-body{overflow:auto}.popup-buttons{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-direction:normal;-webkit-box-orient:horizontal;-webkit-flex-direction:row;-moz-flex-direction:row;-ms-flex-direction:row;flex-direction:row;padding:10px;min-height:65px}.popup-buttons .button{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1;display:block;min-height:45px;line-height:20px;margin-right:5px}.popup-buttons .button:last-child{margin-right:0}.popup-open,.popup-open.modal-open .modal{pointer-events:none}.popup-open .popup,.popup-open .popup-backdrop{pointer-events:auto}.loading-container{z-index:13;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;-moz-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;-webkit-transition:.2s opacity linear;transition:.2s opacity linear;visibility:hidden;opacity:0}.loading-container:not(.visible) .icon,.loading-container:not(.visible) .spinner{display:none}.loading-container.visible{visibility:visible}.loading-container.active{opacity:1}.loading-container .loading{padding:20px;border-radius:5px;background-color:rgba(0,0,0,.7);color:#fff;text-align:center;text-overflow:ellipsis;font-size:15px}.item,.item.item-light{border-color:#ddd;background-color:#fff}.item,.item h2{font-size:16px}.item{color:#444;position:relative;z-index:2;display:block;margin:-1px;padding:16px;border-width:1px;border-style:solid}.item h2{margin:0 0 2px;font-weight:400}.item h3{margin:0 0 4px;font-size:14px}.item h4{margin:0 0 4px;font-size:12px}.item h5,.item h6{margin:0 0 3px;font-size:10px}.item p{color:#666;font-size:14px;margin-bottom:2px}.item h1:last-child,.item h2:last-child,.item h3:last-child,.item h4:last-child,.item h5:last-child,.item h6:last-child,.item p:last-child{margin-bottom:0}.item .badge{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;position:absolute;top:16px;right:32px}.item.item-button-right .badge{right:67px}.item.item-divider .badge{top:8px}.item .badge+.badge{margin-right:5px}.item.item-light{color:#444}.item.item-stable{border-color:#b2b2b2;background-color:#f8f8f8;color:#444}.item.item-positive{border-color:#0c60ee;background-color:#387ef5;color:#fff}.item.item-calm{border-color:#0a9dc7;background-color:#11c1f3;color:#fff}.item.item-assertive{border-color:#e42112;background-color:#ef473a;color:#fff}.item.item-balanced{border-color:#28a54c;background-color:#33cd5f;color:#fff}.item.item-energized{border-color:#e6b500;background-color:#ffc900;color:#fff}.item.item-royal{border-color:#6b46e5;background-color:#886aea;color:#fff}.item.item-dark{border-color:#111;background-color:#444;color:#fff}a.item,a.item-content{color:inherit;text-decoration:none}.item[ng-click]:hover{cursor:pointer}.item-borderless,.list-borderless .item{border-width:0}.item .item-content.activated,.item .item-content.activated.item-complex>.item-content,.item .item-content.active,.item .item-content.active.item-complex>.item-content,.item-complex.activated .item-content,.item-complex.activated .item-content.item-complex>.item-content,.item-complex.active .item-content,.item-complex.active .item-content.item-complex>.item-content,.item.activated,.item.activated.item-complex>.item-content,.item.active,.item.active.item-complex>.item-content{border-color:#ccc;background-color:#D9D9D9}.item .item-content.activated.item-light,.item .item-content.activated.item-light.item-complex>.item-content,.item .item-content.active.item-light,.item .item-content.active.item-light.item-complex>.item-content,.item-complex.activated .item-content.item-light,.item-complex.activated .item-content.item-light.item-complex>.item-content,.item-complex.active .item-content.item-light,.item-complex.active .item-content.item-light.item-complex>.item-content,.item.activated.item-light,.item.activated.item-light.item-complex>.item-content,.item.active.item-light,.item.active.item-light.item-complex>.item-content{border-color:#ccc;background-color:#fafafa}.item .item-content.activated.item-stable,.item .item-content.activated.item-stable.item-complex>.item-content,.item .item-content.active.item-stable,.item .item-content.active.item-stable.item-complex>.item-content,.item-complex.activated .item-content.item-stable,.item-complex.activated .item-content.item-stable.item-complex>.item-content,.item-complex.active .item-content.item-stable,.item-complex.active .item-content.item-stable.item-complex>.item-content,.item.activated.item-stable,.item.activated.item-stable.item-complex>.item-content,.item.active.item-stable,.item.active.item-stable.item-complex>.item-content{border-color:#a2a2a2;background-color:#e5e5e5}.item .item-content.activated.item-positive,.item .item-content.activated.item-positive.item-complex>.item-content,.item .item-content.active.item-positive,.item .item-content.active.item-positive.item-complex>.item-content,.item-complex.activated .item-content.item-positive,.item-complex.activated .item-content.item-positive.item-complex>.item-content,.item-complex.active .item-content.item-positive,.item-complex.active .item-content.item-positive.item-complex>.item-content,.item.activated.item-positive,.item.activated.item-positive.item-complex>.item-content,.item.active.item-positive,.item.active.item-positive.item-complex>.item-content{border-color:#0c60ee;background-color:#0c60ee}.item .item-content.activated.item-calm,.item .item-content.activated.item-calm.item-complex>.item-content,.item .item-content.active.item-calm,.item .item-content.active.item-calm.item-complex>.item-content,.item-complex.activated .item-content.item-calm,.item-complex.activated .item-content.item-calm.item-complex>.item-content,.item-complex.active .item-content.item-calm,.item-complex.active .item-content.item-calm.item-complex>.item-content,.item.activated.item-calm,.item.activated.item-calm.item-complex>.item-content,.item.active.item-calm,.item.active.item-calm.item-complex>.item-content{border-color:#0a9dc7;background-color:#0a9dc7}.item .item-content.activated.item-assertive,.item .item-content.activated.item-assertive.item-complex>.item-content,.item .item-content.active.item-assertive,.item .item-content.active.item-assertive.item-complex>.item-content,.item-complex.activated .item-content.item-assertive,.item-complex.activated .item-content.item-assertive.item-complex>.item-content,.item-complex.active .item-content.item-assertive,.item-complex.active .item-content.item-assertive.item-complex>.item-content,.item.activated.item-assertive,.item.activated.item-assertive.item-complex>.item-content,.item.active.item-assertive,.item.active.item-assertive.item-complex>.item-content{border-color:#e42112;background-color:#e42112}.item .item-content.activated.item-balanced,.item .item-content.activated.item-balanced.item-complex>.item-content,.item .item-content.active.item-balanced,.item .item-content.active.item-balanced.item-complex>.item-content,.item-complex.activated .item-content.item-balanced,.item-complex.activated .item-content.item-balanced.item-complex>.item-content,.item-complex.active .item-content.item-balanced,.item-complex.active .item-content.item-balanced.item-complex>.item-content,.item.activated.item-balanced,.item.activated.item-balanced.item-complex>.item-content,.item.active.item-balanced,.item.active.item-balanced.item-complex>.item-content{border-color:#28a54c;background-color:#28a54c}.item .item-content.activated.item-energized,.item .item-content.activated.item-energized.item-complex>.item-content,.item .item-content.active.item-energized,.item .item-content.active.item-energized.item-complex>.item-content,.item-complex.activated .item-content.item-energized,.item-complex.activated .item-content.item-energized.item-complex>.item-content,.item-complex.active .item-content.item-energized,.item-complex.active .item-content.item-energized.item-complex>.item-content,.item.activated.item-energized,.item.activated.item-energized.item-complex>.item-content,.item.active.item-energized,.item.active.item-energized.item-complex>.item-content{border-color:#e6b500;background-color:#e6b500}.item .item-content.activated.item-royal,.item .item-content.activated.item-royal.item-complex>.item-content,.item .item-content.active.item-royal,.item .item-content.active.item-royal.item-complex>.item-content,.item-complex.activated .item-content.item-royal,.item-complex.activated .item-content.item-royal.item-complex>.item-content,.item-complex.active .item-content.item-royal,.item-complex.active .item-content.item-royal.item-complex>.item-content,.item.activated.item-royal,.item.activated.item-royal.item-complex>.item-content,.item.active.item-royal,.item.active.item-royal.item-complex>.item-content{border-color:#6b46e5;background-color:#6b46e5}.item .item-content.activated.item-dark,.item .item-content.activated.item-dark.item-complex>.item-content,.item .item-content.active.item-dark,.item .item-content.active.item-dark.item-complex>.item-content,.item-complex.activated .item-content.item-dark,.item-complex.activated .item-content.item-dark.item-complex>.item-content,.item-complex.active .item-content.item-dark,.item-complex.active .item-content.item-dark.item-complex>.item-content,.item.activated.item-dark,.item.activated.item-dark.item-complex>.item-content,.item.active.item-dark,.item.active.item-dark.item-complex>.item-content{border-color:#000;background-color:#262626}.item,.item h1,.item h2,.item h3,.item h4,.item h5,.item h6,.item p,.item-content,.item-content h1,.item-content h2,.item-content h3,.item-content h4,.item-content h5,.item-content h6,.item-content p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a.item:focus,a.item:hover{text-decoration:none}.item-complex,a.item.item-complex,button.item.item-complex{padding:0}.item-complex .item-content,.item-radio .item-content{position:relative;z-index:2;padding:16px 49px 16px 16px;border:none;background-color:#fff}a.item-content{display:block}.item-button-left .item-content>.button,.item-button-left>.button,.item-icon-left .icon,.item-icon-right .icon{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;position:absolute}.item-body h1,.item-body h2,.item-body h3,.item-body h4,.item-body h5,.item-body h6,.item-body p,.item-complex.item-text-wrap,.item-complex.item-text-wrap .item-content,.item-complex.item-text-wrap h1,.item-complex.item-text-wrap h2,.item-complex.item-text-wrap h3,.item-complex.item-text-wrap h4,.item-complex.item-text-wrap h5,.item-complex.item-text-wrap h6,.item-complex.item-text-wrap p,.item-text-wrap,.item-text-wrap .item,.item-text-wrap .item-content,.item-text-wrap h1,.item-text-wrap h2,.item-text-wrap h3,.item-text-wrap h4,.item-text-wrap h5,.item-text-wrap h6,.item-text-wrap p{overflow:visible;white-space:normal}.item-complex.item-light>.item-content{border-color:#ddd;background-color:#fff;color:#444}.item-complex.item-light>.item-content.active,.item-complex.item-light>.item-content.active.item-complex>.item-content,.item-complex.item-light>.item-content:active,.item-complex.item-light>.item-content:active.item-complex>.item-content{border-color:#ccc;background-color:#fafafa}.item-complex.item-stable>.item-content{border-color:#b2b2b2;background-color:#f8f8f8;color:#444}.item-complex.item-stable>.item-content.active,.item-complex.item-stable>.item-content.active.item-complex>.item-content,.item-complex.item-stable>.item-content:active,.item-complex.item-stable>.item-content:active.item-complex>.item-content{border-color:#a2a2a2;background-color:#e5e5e5}.item-complex.item-positive>.item-content{border-color:#0c60ee;background-color:#387ef5;color:#fff}.item-complex.item-positive>.item-content.active,.item-complex.item-positive>.item-content.active.item-complex>.item-content,.item-complex.item-positive>.item-content:active,.item-complex.item-positive>.item-content:active.item-complex>.item-content{border-color:#0c60ee;background-color:#0c60ee}.item-complex.item-calm>.item-content{border-color:#0a9dc7;background-color:#11c1f3;color:#fff}.item-complex.item-calm>.item-content.active,.item-complex.item-calm>.item-content.active.item-complex>.item-content,.item-complex.item-calm>.item-content:active,.item-complex.item-calm>.item-content:active.item-complex>.item-content{border-color:#0a9dc7;background-color:#0a9dc7}.item-complex.item-assertive>.item-content{border-color:#e42112;background-color:#ef473a;color:#fff}.item-complex.item-assertive>.item-content.active,.item-complex.item-assertive>.item-content.active.item-complex>.item-content,.item-complex.item-assertive>.item-content:active,.item-complex.item-assertive>.item-content:active.item-complex>.item-content{border-color:#e42112;background-color:#e42112}.item-complex.item-balanced>.item-content{border-color:#28a54c;background-color:#33cd5f;color:#fff}.item-complex.item-balanced>.item-content.active,.item-complex.item-balanced>.item-content.active.item-complex>.item-content,.item-complex.item-balanced>.item-content:active,.item-complex.item-balanced>.item-content:active.item-complex>.item-content{border-color:#28a54c;background-color:#28a54c}.item-complex.item-energized>.item-content{border-color:#e6b500;background-color:#ffc900;color:#fff}.item-complex.item-energized>.item-content.active,.item-complex.item-energized>.item-content.active.item-complex>.item-content,.item-complex.item-energized>.item-content:active,.item-complex.item-energized>.item-content:active.item-complex>.item-content{border-color:#e6b500;background-color:#e6b500}.item-complex.item-royal>.item-content{border-color:#6b46e5;background-color:#886aea;color:#fff}.item-complex.item-royal>.item-content.active,.item-complex.item-royal>.item-content.active.item-complex>.item-content,.item-complex.item-royal>.item-content:active,.item-complex.item-royal>.item-content:active.item-complex>.item-content{border-color:#6b46e5;background-color:#6b46e5}.item-complex.item-dark>.item-content{border-color:#111;background-color:#444;color:#fff}.item-complex.item-dark>.item-content.active,.item-complex.item-dark>.item-content.active.item-complex>.item-content,.item-complex.item-dark>.item-content:active,.item-complex.item-dark>.item-content:active.item-complex>.item-content{border-color:#000;background-color:#262626}.item-icon-left .icon,.item-icon-right .icon{display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;top:0;height:100%;font-size:32px}.item-icon-left .icon:before,.item-icon-right .icon:before{display:block;width:32px;text-align:center}.item .fill-icon{min-width:30px;min-height:30px;font-size:28px}.item-icon-left{padding-left:54px}.item-icon-left .icon{left:11px}.item-complex.item-icon-left{padding-left:0}.item-complex.item-icon-left .item-content{padding-left:54px}.item-icon-right{padding-right:54px}.item-icon-right .icon{right:11px}.item-complex.item-icon-right{padding-right:0}.item-complex.item-icon-right .item-content{padding-right:54px}.item-icon-left.item-icon-right .icon:first-child{right:auto}.item-icon-left .item-delete .icon,.item-icon-left.item-icon-right .icon:last-child{left:auto}.item-icon-left .icon-accessory,.item-icon-right .icon-accessory{color:#ccc;font-size:16px}.item-icon-left .icon-accessory{left:3px}.item-icon-right .icon-accessory{right:3px}.item-button-left{padding-left:72px}.item-button-left .item-content>.button,.item-button-left>.button{display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;top:8px;left:11px;min-width:34px;min-height:34px;font-size:18px;line-height:32px}.item-button-left .item-content>.button .icon:before,.item-button-left>.button .icon:before{position:relative;left:auto;width:auto;line-height:31px}.item-button-left .item-content>.button>.button,.item-button-left>.button>.button{margin:0 2px;min-height:34px;font-size:18px;line-height:32px}.item-button-right,a.item.item-button-right,button.item.item-button-right{padding-right:80px}.item-button-right .item-content>.button,.item-button-right .item-content>.buttons,.item-button-right>.button,.item-button-right>.buttons{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;position:absolute;top:8px;right:16px;min-width:34px;min-height:34px;font-size:18px;line-height:32px}.item-button-right .item-content>.button .icon:before,.item-button-right .item-content>.buttons .icon:before,.item-button-right>.button .icon:before,.item-button-right>.buttons .icon:before{position:relative;left:auto;width:auto;line-height:31px}.item-button-right .item-content>.button>.button,.item-button-right .item-content>.buttons>.button,.item-button-right>.button>.button,.item-button-right>.buttons>.button{margin:0 2px;min-width:34px;min-height:34px;font-size:18px;line-height:32px}.item-button-left.item-button-right .button:first-child{right:auto}.item-button-left.item-button-right .button:last-child{left:auto}.item-avatar,.item-avatar .item-content,.item-avatar-left,.item-avatar-left .item-content{padding-left:72px;min-height:72px}.item-avatar .item-content .item-image,.item-avatar .item-content>img:first-child,.item-avatar .item-image,.item-avatar-left .item-content .item-image,.item-avatar-left .item-content>img:first-child,.item-avatar-left .item-image,.item-avatar-left>img:first-child,.item-avatar>img:first-child{position:absolute;top:16px;left:16px;max-width:40px;max-height:40px;width:100%;height:100%;border-radius:50%}.item-avatar-right,.item-avatar-right .item-content{padding-right:72px;min-height:72px}.item-avatar-right .item-content .item-image,.item-avatar-right .item-content>img:first-child,.item-avatar-right .item-image,.item-avatar-right>img:first-child{position:absolute;top:16px;right:16px;max-width:40px;max-height:40px;width:100%;height:100%;border-radius:50%}.item-thumbnail-left,.item-thumbnail-left .item-content{padding-top:8px;padding-left:106px;min-height:100px}.item-thumbnail-left .item-content .item-image,.item-thumbnail-left .item-content>img:first-child,.item-thumbnail-left .item-image,.item-thumbnail-left>img:first-child{position:absolute;top:10px;left:10px;max-width:80px;max-height:80px;width:100%;height:100%}.item-avatar-left.item-complex,.item-avatar.item-complex,.item-thumbnail-left.item-complex{padding-top:0;padding-left:0}.item-thumbnail-right,.item-thumbnail-right .item-content{padding-top:8px;padding-right:106px;min-height:100px}.item-thumbnail-right .item-content .item-image,.item-thumbnail-right .item-content>img:first-child,.item-thumbnail-right .item-image,.item-thumbnail-right>img:first-child{position:absolute;top:10px;right:10px;max-width:80px;max-height:80px;width:100%;height:100%}.item-options,.item-right-edit{position:absolute;top:0;right:0;height:100%}.item-avatar-right.item-complex,.item-thumbnail-right.item-complex{padding-top:0;padding-right:0}.item-image{padding:0;text-align:center}.item-image .list-img,.item-image img:first-child{width:100%;vertical-align:middle}.item-body{overflow:auto;padding:16px;text-overflow:inherit;white-space:normal}.item-body h1,.item-body h2,.item-body h3,.item-body h4,.item-body h5,.item-body h6,.item-body p{margin-top:16px;margin-bottom:16px}.item-divider{padding-top:8px;padding-bottom:8px;min-height:30px;background-color:#f5f5f5;color:#222;font-weight:500}.item-divider-ios,.platform-ios .item-divider-platform{padding-top:26px;text-transform:uppercase;font-weight:300;font-size:13px;background-color:#efeff4;color:#555}.item-divider-android,.platform-android .item-divider-platform{font-weight:300;font-size:13px}.item-note{float:right;color:#aaa;font-size:14px}.item-left-editable .item-content,.item-right-editable .item-content{-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;transition-property:transform}.item-left-editing.item-left-editable .item-content,.list-left-editing .item-left-editable .item-content{-webkit-transform:translate3d(50px,0,0);transform:translate3d(50px,0,0)}.item-remove-animate.ng-leave{-webkit-transition-duration:.3s;transition-duration:.3s}.item-remove-animate.ng-leave .item-content,.item-remove-animate.ng-leave:last-of-type{-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;-webkit-transition-property:all;transition-property:all}.item-remove-animate.ng-leave.ng-leave-active .item-content{opacity:0;-webkit-transform:translate3d(-100%,0,0)!important;transform:translate3d(-100%,0,0)!important}.item-remove-animate.ng-leave.ng-leave-active:last-of-type{opacity:0}.item-remove-animate.ng-leave.ng-leave-active~ion-item:not(.ng-leave){-webkit-transform:translate3d(0,-webkit-calc(-100% + 1px),0);transform:translate3d(0,calc(-100% + 1px),0);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:cubic-bezier(.25,.81,.24,1);transition-timing-function:cubic-bezier(.25,.81,.24,1);-webkit-transition-property:all;transition-property:all}.item-left-edit{-webkit-transition:all ease-in-out 125ms;transition:all ease-in-out 125ms;position:absolute;top:0;left:0;z-index:0;width:50px;height:100%;line-height:100%;display:none;opacity:0;-webkit-transform:translate3d(-21px,0,0);transform:translate3d(-21px,0,0)}.item-left-edit .button{height:100%}.item-left-edit .button.icon{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;position:absolute;top:0;height:100%}.item-left-edit.visible{display:block}.item-left-edit.visible.active{opacity:1;-webkit-transform:translate3d(8px,0,0);transform:translate3d(8px,0,0)}.list-left-editing .item-left-edit{-webkit-transition-delay:125ms;transition-delay:125ms}.item-delete .button.icon{color:#ef473a;font-size:24px}.item-delete .button.icon:hover{opacity:.7}.item-right-edit{-webkit-transition:all ease-in-out 250ms;transition:all ease-in-out 250ms;z-index:3;width:75px;background:inherit;padding-left:20px;display:block;opacity:0;-webkit-transform:translate3d(75px,0,0);transform:translate3d(75px,0,0)}.item-right-edit .button{min-width:50px;height:100%}.item-right-edit .button.icon{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;position:absolute;top:0;height:100%;font-size:32px}.item-right-edit.visible{display:block}.item-right-edit.visible.active{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.item-reorder .button.icon{color:#444;font-size:32px}.item-reordering{position:absolute;left:0;top:0;z-index:9;width:100%;box-shadow:0 0 10px 0 #aaa}.item-reordering .item-reorder{z-index:9}.item-placeholder{opacity:.7}.item-options{z-index:1}.button .badge,.list,.slider,.slider-slide,.slider-slides{position:relative}.item-options .button{height:100%;border:none;border-radius:0;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center}.item-options .button:before{margin:0 auto}.item-options ion-option-button:last-child{padding-right:calc(env(safe-area-inset-right) + 12px)}.list{padding-top:1px;padding-bottom:1px;padding-left:0;margin-bottom:20px}.list:last-child{margin-bottom:0}.list:last-child.card{margin-bottom:40px}.list-header{margin-top:20px;padding:5px 15px;background-color:transparent;color:#222;font-weight:700}.card.list .list-item{padding-right:1px;padding-left:1px}.card,.list-inset{overflow:hidden;margin:20px 10px;border-radius:2px;background-color:#fff}.card .item,.list-inset .item,.padding .card,.padding .list-inset,.padding-horizontal>.list .item,.padding>.list .item{margin-left:0;margin-right:0}.card{padding-top:1px;padding-bottom:1px;box-shadow:0 1px 3px rgba(0,0,0,.3)}.card .item{border-left:0;border-right:0}.card .item:first-child{border-top:0}.card .item:last-child{border-bottom:0}.card .item:first-child,.card .item:first-child .item-content,.list-inset .item:first-child,.list-inset .item:first-child .item-content,.padding>.list .item:first-child,.padding>.list .item:first-child .item-content{border-top-left-radius:2px;border-top-right-radius:2px}.card .item:last-child,.card .item:last-child .item-content,.list-inset .item:last-child,.list-inset .item:last-child .item-content,.padding>.list .item:last-child,.padding>.list .item:last-child .item-content{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.card .item:last-child,.list-inset .item:last-child{margin-bottom:-1px}.card .item.item-input input,.list-inset .item.item-input input,.padding-horizontal>.list .item.item-input input,.padding>.list .item.item-input input{padding-right:44px}.padding-left>.list .item{margin-left:0}.padding-right>.list .item{margin-right:0}.badge{background-color:transparent;color:#AAA;z-index:1;display:inline-block;padding:3px 8px;min-width:10px;border-radius:10px;text-align:center;white-space:nowrap;font-weight:700;font-size:14px;line-height:16px}.button,.button .icon,.slider-slide{vertical-align:top}.badge:empty{display:none}.badge.badge-light,.tabs .tab-item .badge.badge-light{background-color:#fff;color:#444}.badge.badge-stable,.tabs .tab-item .badge.badge-stable{background-color:#f8f8f8;color:#444}.badge.badge-positive,.tabs .tab-item .badge.badge-positive{background-color:#387ef5;color:#fff}.badge.badge-calm,.tabs .tab-item .badge.badge-calm{background-color:#11c1f3;color:#fff}.badge.badge-assertive,.tabs .tab-item .badge.badge-assertive{background-color:#ef473a;color:#fff}.badge.badge-balanced,.tabs .tab-item .badge.badge-balanced{background-color:#33cd5f;color:#fff}.badge.badge-energized,.tabs .tab-item .badge.badge-energized{background-color:#ffc900;color:#fff}.badge.badge-royal,.tabs .tab-item .badge.badge-royal{background-color:#886aea;color:#fff}.badge.badge-dark,.tabs .tab-item .badge.badge-dark{background-color:#444;color:#fff}.button .badge{top:-1px}.slider{visibility:hidden;overflow:hidden}.slider-slides{height:100%}.slider-slide{display:block;float:left;width:100%;height:100%}.slider-slide-image>img{width:100%}.slider-pager{position:absolute;bottom:20px;z-index:1;width:100%;height:15px;text-align:center}.slider-pager .slider-pager-page{display:inline-block;margin:0 3px;width:15px;color:#000;text-decoration:none;opacity:.3}.slider-pager .slider-pager-page.active{-webkit-transition:opacity .4s ease-in;transition:opacity .4s ease-in;opacity:1}.slider-pager-page.ng-animate,.slider-pager-page.ng-enter,.slider-pager-page.ng-leave,.slider-slide.ng-animate,.slider-slide.ng-enter,.slider-slide.ng-leave{-webkit-transition:none!important;transition:none!important}.slider-pager-page.ng-animate,.slider-slide.ng-animate{-webkit-animation:none 0s;animation:none 0s}.swiper-container{margin:0 auto;position:relative;z-index:1}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-moz-box-orient:vertical;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.swiper-wrapper{z-index:1;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.swiper-slide,.toggle .track{box-sizing:border-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-o-transform:translate(0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.click-block,.swiper-pagination{-webkit-transform:translate3d(0,0,0)}.swiper-container-multirow>.swiper-wrapper{-webkit-box-lines:multiple;-moz-box-lines:multiple;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-moz-transition-timing-function:ease-out;-ms-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{display:block;-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0;position:relative}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-transition-property:-webkit-transform,height;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform,height}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-wp8-horizontal{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-wp8-vertical{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;-moz-background-size:27px 44px;-webkit-background-size:27px 44px;background-size:27px 44px;background-position:center;background-repeat:no-repeat}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");left:10px;right:auto}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");right:10px;left:auto}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:.3s;-moz-transition:.3s;-o-transition:.3s;transition:.3s;-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:.2}.swiper-pagination-white .swiper-pagination-bullet,.swiper-pagination-white .swiper-pagination-bullet-active{background:#fff}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none}.item-input .button-bar,.item-input input{-webkit-appearance:none;-moz-appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet-active{opacity:1}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000}.swiper-container-vertical>.swiper-pagination{right:10px;top:50%;-webkit-transform:translate3d(0,-50%,0);-moz-transform:translate3d(0,-50%,0);-o-transform:translate(0,-50%);-ms-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.swiper-container-vertical>.swiper-pagination .swiper-pagination-bullet{margin:5px 0;display:block}.swiper-container-horizontal>.swiper-pagination{bottom:10px;left:0;width:100%}.swiper-container-horizontal>.swiper-pagination .swiper-pagination-bullet{margin:0 5px}.swiper-container-3d{-webkit-perspective:1200px;-moz-perspective:1200px;-o-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-coverflow .swiper-wrapper{-ms-perspective:1200px}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-moz-transition-timing-function:ease-out;-ms-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide,.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube{overflow:visible}.swiper-container-cube .swiper-slide{pointer-events:none;visibility:hidden;-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden;width:100%;height:100%;z-index:1}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-moz-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-moz-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12,end) infinite;-moz-animation:swiper-preloader-spin 1s steps(12,end) infinite;animation:swiper-preloader-spin 1s steps(12,end) infinite}.swiper-container,.swiper-slide,.swiper-wrapper,ion-slides{width:100%;height:100%}.swiper-lazy-preloader:after{display:block;content:"";width:100%;height:100%;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-position:50%;-webkit-background-size:100%;background-size:100%;background-repeat:no-repeat}.swiper-lazy-preloader-white:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg)}}@keyframes swiper-preloader-spin{100%{transform:rotate(360deg)}}ion-slides{display:block}.slide-zoom{display:block;width:100%;text-align:center}.scroll-refresher .icon-refreshing,.scroll-refresher .text-refreshing,.scroll-refresher.active.refreshing .icon-pulling,.scroll-refresher.active.refreshing .text-pulling{display:none}.swiper-container{padding:0;overflow:hidden}.swiper-wrapper{position:absolute;left:0;top:0;padding:0}.swiper-slide img{width:auto;height:auto;max-width:100%;max-height:100%}.scroll-refresher{position:absolute;top:-60px;right:0;left:0;overflow:hidden;margin:auto;height:60px}.scroll-refresher .ionic-refresher-content{position:absolute;bottom:15px;left:0;width:100%;color:#666;text-align:center;font-size:30px}.scroll-refresher .ionic-refresher-content .text-pulling,.scroll-refresher .ionic-refresher-content .text-refreshing{font-size:16px;line-height:16px}.scroll-refresher .ionic-refresher-content.ionic-refresher-with-text{bottom:10px}.scroll-refresher .icon-pulling,.scroll-refresher .icon-refreshing{width:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.scroll-refresher .icon-pulling{-webkit-animation-name:refresh-spin-back;animation-name:refresh-spin-back;-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-fill-mode:none;animation-fill-mode:none;-webkit-transform:translate3d(0,0,0) rotate(0);transform:translate3d(0,0,0) rotate(0)}.scroll-refresher .icon-refreshing{-webkit-animation-duration:1.5s;animation-duration:1.5s}.scroll-refresher.active .icon-pulling:not(.pulling-rotation-disabled){-webkit-animation-name:refresh-spin;animation-name:refresh-spin;-webkit-transform:translate3d(0,0,0) rotate(-180deg);transform:translate3d(0,0,0) rotate(-180deg)}.scroll-refresher.active.refreshing{-webkit-transition:transform .2s;transition:transform .2s;-webkit-transform:scale(1,1);transform:scale(1,1)}.scroll-refresher.active.refreshing .icon-refreshing,.scroll-refresher.active.refreshing .text-refreshing,legend{display:block}.scroll-refresher.active.refreshing.refreshing-tail{-webkit-transform:scale(0,0);transform:scale(0,0)}.overflow-scroll>.scroll{-webkit-overflow-scrolling:touch;width:100%}.overflow-scroll>.scroll.overscroll{position:fixed;right:0;left:0}.overflow-scroll.padding>.scroll.overscroll{padding:10px}@-webkit-keyframes refresh-spin{0%{-webkit-transform:translate3d(0,0,0) rotate(0)}100%{-webkit-transform:translate3d(0,0,0) rotate(180deg)}}@keyframes refresh-spin{0%{transform:translate3d(0,0,0) rotate(0)}100%{transform:translate3d(0,0,0) rotate(180deg)}}@-webkit-keyframes refresh-spin-back{0%{-webkit-transform:translate3d(0,0,0) rotate(180deg)}100%{-webkit-transform:translate3d(0,0,0) rotate(0)}}@keyframes refresh-spin-back{0%{transform:translate3d(0,0,0) rotate(180deg)}100%{transform:translate3d(0,0,0) rotate(0)}}.spinner{stroke:#444;fill:#444}.spinner.spinner-light{stroke:#fff;fill:#fff}.spinner.spinner-stable{stroke:#f8f8f8;fill:#f8f8f8}.spinner.spinner-positive{stroke:#387ef5;fill:#387ef5}.spinner.spinner-calm{stroke:#11c1f3;fill:#11c1f3}.spinner.spinner-balanced{stroke:#33cd5f;fill:#33cd5f}.spinner.spinner-assertive{stroke:#ef473a;fill:#ef473a}.spinner.spinner-energized{stroke:#ffc900;fill:#ffc900}.spinner.spinner-royal{stroke:#886aea;fill:#886aea}.spinner.spinner-dark{stroke:#444;fill:#444}.spinner-android{stroke:#4b8bf4}.spinner-ios,.spinner-ios-small{stroke:#69717d}.spinner-spiral .stop1{stop-color:#fff;stop-opacity:0}.spinner-spiral.spinner-light .stop1{stop-color:#444}.spinner-spiral.spinner-light .stop2{stop-color:#fff}.spinner-spiral.spinner-stable .stop2{stop-color:#f8f8f8}.spinner-spiral.spinner-positive .stop2{stop-color:#387ef5}.spinner-spiral.spinner-calm .stop2{stop-color:#11c1f3}.spinner-spiral.spinner-balanced .stop2{stop-color:#33cd5f}.spinner-spiral.spinner-assertive .stop2{stop-color:#ef473a}.spinner-spiral.spinner-energized .stop2{stop-color:#ffc900}.spinner-spiral.spinner-royal .stop2{stop-color:#886aea}.spinner-spiral.spinner-dark .stop2{stop-color:#444}form{margin:0 0 1.42857}legend{margin-bottom:1.42857;padding:0;width:100%;border:1px solid #ddd;color:#444;font-size:21px;line-height:2.85714}.item-input,.item-input-inset{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;overflow:hidden}legend small{color:#f8f8f8;font-size:1.07143}button,input,label,select,textarea{font-weight:400;font-size:14px;line-height:1.42857}.item-input{display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;position:relative;padding:6px 0 5px 16px}.item-input input{-webkit-border-radius:0;border-radius:0;-webkit-box-flex:1;-webkit-flex:1 220px;-moz-box-flex:1;-moz-flex:1 220px;-ms-flex:1 220px;flex:1 220px;appearance:none;margin:0;padding-right:24px;background-color:transparent}.item-input .button .icon{-webkit-box-flex:0;-webkit-flex:0 0 24px;-moz-box-flex:0;-moz-flex:0 0 24px;-ms-flex:0 0 24px;flex:0 0 24px;position:static;display:inline-block;height:auto;text-align:center;font-size:16px}.item-input .button-bar{-webkit-border-radius:0;border-radius:0;-webkit-box-flex:1;-webkit-flex:1 0 220px;-moz-box-flex:1;-moz-flex:1 0 220px;-ms-flex:1 0 220px;flex:1 0 220px;appearance:none}.item-input .icon{min-width:14px}.platform-windowsphone .item-input input{flex-shrink:1}.item-input-inset,.range{-webkit-box-align:center}.item-input-inset{display:flex;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;position:relative;padding:10.67px}.item-input-wrapper{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1 0;-moz-box-flex:1;-moz-flex:1 0;-ms-flex:1 0;flex:1 0;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;-webkit-border-radius:4px;border-radius:4px;padding-right:8px;padding-left:8px;background:#eee}.item-input-inset .item-input-wrapper input{padding-left:4px;height:29px;background:0 0;line-height:18px}.item-input-wrapper~.button{margin-left:10.67px}.input-label{display:table;padding:7px 10px 7px 0;max-width:200px;width:35%;color:#444;font-size:16px}.placeholder-icon{color:#aaa}.placeholder-icon:first-child{padding-right:6px}.placeholder-icon:last-child{padding-left:6px}.item-stacked-label{display:block;background-color:transparent;box-shadow:none}.item-stacked-label .icon,.item-stacked-label .input-label{display:inline-block;padding:4px 0 0;vertical-align:middle}.item-stacked-label input,.item-stacked-label textarea{-webkit-border-radius:2px;border-radius:2px;padding:4px 8px 3px 0;border:none;background-color:#fff}.item-stacked-label input{overflow:hidden;height:46px}.item-select.item-stacked-label select{position:relative;padding:0;max-width:90%;direction:ltr;white-space:pre-wrap;margin:-3px}.item-floating-label{display:block;background-color:transparent;box-shadow:none}.item-floating-label .input-label{position:relative;padding:5px 0 0;opacity:0;top:10px;-webkit-transition:opacity .15s ease-in,top .2s linear;transition:opacity .15s ease-in,top .2s linear}.item-floating-label .input-label.has-input{opacity:1;top:0;-webkit-transition:opacity .15s ease-in,top .2s linear;transition:opacity .15s ease-in,top .2s linear}input[type=search],input[type=text],input[type=password],input[type=datetime],input[type=datetime-local],input[type=date],input[type=month],input[type=time],input[type=week],input[type=number],input[type=email],input[type=url],input[type=tel],input[type=color],textarea{display:block;padding-top:2px;padding-left:0;height:34px;color:#111;vertical-align:middle;font-size:14px;line-height:16px;border:0}.platform-android input[type=datetime-local],.platform-android input[type=date],.platform-android input[type=month],.platform-android input[type=time],.platform-android input[type=week],.platform-ios input[type=datetime-local],.platform-ios input[type=date],.platform-ios input[type=month],.platform-ios input[type=time],.platform-ios input[type=week]{padding-top:8px}.item-input input,.item-input textarea{width:100%}textarea{padding-left:0;height:auto}textarea::-moz-placeholder{color:#aaa}textarea:-ms-input-placeholder{color:#aaa}textarea::-webkit-input-placeholder{color:#aaa;text-indent:-3px}input[type=radio],input[type=checkbox]{margin:0;line-height:normal}.item-input input[type=button],.item-input input[type=reset],.item-input input[type=submit],.item-input input[type=radio],.item-input input[type=checkbox],.item-input input[type=file],.item-input input[type=image]{width:auto}input[type=file]{line-height:34px}.cloned-text-input+input,.cloned-text-input+textarea,.previous-input-focus{position:absolute!important;left:-9999px;width:200px}input::-moz-placeholder,textarea::-moz-placeholder{color:#aaa}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#aaa}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#aaa;text-indent:0}input[disabled],input[readonly]:not(.cloned-text-input),select[disabled],select[readonly],textarea[disabled],textarea[readonly]:not(.cloned-text-input){background-color:#f8f8f8;cursor:not-allowed}.button,.checkbox,.item-radio:hover,.item-select select,.toggle .track{cursor:pointer}input[type=radio][disabled],input[type=radio][readonly],input[type=checkbox][disabled],input[type=checkbox][readonly]{background-color:transparent}.checkbox{position:relative;display:inline-block;padding:7px}.checkbox .checkbox-icon:before,.checkbox input:before{border-color:#ddd}.checkbox input:checked+.checkbox-icon:before,.checkbox input:checked:before{background:#387ef5;border-color:#387ef5}.checkbox-light .checkbox-icon:before,.checkbox-light input:before{border-color:#ddd}.checkbox-light input:checked+.checkbox-icon:before,.checkbox-light input:checked:before{background:#ddd;border-color:#ddd}.checkbox-stable .checkbox-icon:before,.checkbox-stable input:before{border-color:#b2b2b2}.checkbox-stable input:checked+.checkbox-icon:before,.checkbox-stable input:checked:before{background:#b2b2b2;border-color:#b2b2b2}.checkbox-positive .checkbox-icon:before,.checkbox-positive input:before{border-color:#387ef5}.checkbox-positive input:checked+.checkbox-icon:before,.checkbox-positive input:checked:before{background:#387ef5;border-color:#387ef5}.checkbox-calm .checkbox-icon:before,.checkbox-calm input:before{border-color:#11c1f3}.checkbox-calm input:checked+.checkbox-icon:before,.checkbox-calm input:checked:before{background:#11c1f3;border-color:#11c1f3}.checkbox-assertive .checkbox-icon:before,.checkbox-assertive input:before{border-color:#ef473a}.checkbox-assertive input:checked+.checkbox-icon:before,.checkbox-assertive input:checked:before{background:#ef473a;border-color:#ef473a}.checkbox-balanced .checkbox-icon:before,.checkbox-balanced input:before{border-color:#33cd5f}.checkbox-balanced input:checked+.checkbox-icon:before,.checkbox-balanced input:checked:before{background:#33cd5f;border-color:#33cd5f}.checkbox-energized .checkbox-icon:before,.checkbox-energized input:before{border-color:#ffc900}.checkbox-energized input:checked+.checkbox-icon:before,.checkbox-energized input:checked:before{background:#ffc900;border-color:#ffc900}.checkbox-royal .checkbox-icon:before,.checkbox-royal input:before{border-color:#886aea}.checkbox-royal input:checked+.checkbox-icon:before,.checkbox-royal input:checked:before{background:#886aea;border-color:#886aea}.checkbox-dark .checkbox-icon:before,.checkbox-dark input:before{border-color:#444}.checkbox-dark input:checked+.checkbox-icon:before,.checkbox-dark input:checked:before{background:#444;border-color:#444}.checkbox input:disabled+.checkbox-icon:before,.checkbox input:disabled:before{border-color:#ddd}.checkbox input:disabled:checked+.checkbox-icon:before,.checkbox input:disabled:checked:before{background:#ddd}.checkbox.checkbox-input-hidden input{display:none!important}.checkbox input,.checkbox-icon{position:relative;width:28px;height:28px;display:block;border:0;background:0 0;cursor:pointer;-webkit-appearance:none}.checkbox input:before,.checkbox-icon:before{display:table;width:100%;height:100%;border-width:1px;border-style:solid;border-radius:28px;background:#fff;content:' ';-webkit-transition:background-color 20ms ease-in-out;transition:background-color 20ms ease-in-out}.checkbox input:checked:before,input:checked+.checkbox-icon:before{border-width:2px}.checkbox input:after,.checkbox-icon:after{-webkit-transition:opacity 50ms ease-in-out;transition:opacity 50ms ease-in-out;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);position:absolute;top:33%;left:25%;display:table;width:14px;height:6px;border:1px solid #fff;border-top:0;border-right:0;content:' ';opacity:0}.checkbox-square .checkbox-icon:before,.checkbox-square input:before,.platform-android .checkbox-platform .checkbox-icon:before,.platform-android .checkbox-platform input:before{border-radius:2px;width:72%;height:72%;margin-top:14%;margin-left:14%;border-width:2px}.checkbox-square .checkbox-icon:after,.checkbox-square input:after,.platform-android .checkbox-platform .checkbox-icon:after,.platform-android .checkbox-platform input:after{border-width:2px;top:19%;left:25%;width:13px;height:7px}.platform-android .item-checkbox-right .checkbox-square .checkbox-icon::after{top:31%}.grade-c .checkbox input:after,.grade-c .checkbox-icon:after{-webkit-transform:rotate(0);transform:rotate(0);top:3px;left:4px;border:none;color:#fff;content:'\2713';font-weight:700;font-size:20px}.checkbox input:checked:after,input:checked+.checkbox-icon:after{opacity:1}.item-checkbox{padding-left:60px}.item-checkbox.active{box-shadow:none}.item-checkbox .checkbox{position:absolute;top:50%;right:8px;left:8px;z-index:3;margin-top:-21px}.item-checkbox.item-checkbox-right{padding-right:60px;padding-left:16px}.item-checkbox-right .checkbox input,.item-checkbox-right .checkbox-icon{float:right}.item-toggle{pointer-events:none}.toggle{position:relative;display:inline-block;pointer-events:auto;margin:-5px;padding:5px}.toggle input:checked+.track{border-color:#4cd964;background-color:#4cd964}.toggle.dragging .handle{background-color:#f2f2f2!important}.toggle.toggle-light input:checked+.track{border-color:#ddd;background-color:#ddd}.toggle.toggle-stable input:checked+.track{border-color:#b2b2b2;background-color:#b2b2b2}.toggle.toggle-positive input:checked+.track{border-color:#387ef5;background-color:#387ef5}.toggle.toggle-calm input:checked+.track{border-color:#11c1f3;background-color:#11c1f3}.toggle.toggle-assertive input:checked+.track{border-color:#ef473a;background-color:#ef473a}.toggle.toggle-balanced input:checked+.track{border-color:#33cd5f;background-color:#33cd5f}.toggle.toggle-energized input:checked+.track{border-color:#ffc900;background-color:#ffc900}.toggle.toggle-royal input:checked+.track{border-color:#886aea;background-color:#886aea}.toggle.toggle-dark input:checked+.track{border-color:#444;background-color:#444}.toggle input{display:none}.toggle .track{-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:background-color,border;transition-property:background-color,border;display:inline-block;width:51px;height:31px;border:2px solid #e6e6e6;border-radius:20px;background-color:#fff;content:' ';pointer-events:none}.platform-android4_2 .toggle .track{-webkit-background-clip:padding-box}.toggle .handle{-webkit-transition:.3s cubic-bezier(0,1.1,1,1.1);transition:.3s cubic-bezier(0,1.1,1,1.1);-webkit-transition-property:background-color,transform;transition-property:background-color,transform;position:absolute;display:block;width:27px;height:27px;border-radius:27px;background-color:#fff;top:7px;left:7px;box-shadow:0 2px 7px rgba(0,0,0,.35),0 1px 1px rgba(0,0,0,.15)}.toggle .handle:before{position:absolute;top:-4px;left:-21.5px;padding:18.5px 34px;content:" "}.toggle input:checked+.track .handle{-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0);background-color:#fff}.item-toggle.active{box-shadow:none}.item-toggle,.item-toggle.item-complex .item-content{padding-right:99px}.item-toggle.item-complex{padding-right:0}.item-toggle .toggle{position:absolute;top:10px;right:16px;z-index:3}.toggle input:disabled+.track{opacity:.6}.toggle-small .track{border:0;width:34px;height:15px;background:#9e9e9e}.toggle-small input:checked+.track{background:rgba(0,150,137,.5)}.toggle-small .handle{top:2px;left:4px;width:21px;height:21px;box-shadow:0 2px 5px rgba(0,0,0,.25)}.toggle-small input:checked+.track .handle{-webkit-transform:translate3d(16px,0,0);transform:translate3d(16px,0,0);background:#009689}.toggle-small.item-toggle .toggle{top:19px}.toggle-small .toggle-light input:checked+.track{background-color:rgba(221,221,221,.5)}.toggle-small .toggle-light input:checked+.track .handle{background-color:#ddd}.toggle-small .toggle-stable input:checked+.track{background-color:rgba(178,178,178,.5)}.toggle-small .toggle-stable input:checked+.track .handle{background-color:#b2b2b2}.toggle-small .toggle-positive input:checked+.track{background-color:rgba(56,126,245,.5)}.toggle-small .toggle-positive input:checked+.track .handle{background-color:#387ef5}.toggle-small .toggle-calm input:checked+.track{background-color:rgba(17,193,243,.5)}.toggle-small .toggle-calm input:checked+.track .handle{background-color:#11c1f3}.toggle-small .toggle-assertive input:checked+.track{background-color:rgba(239,71,58,.5)}.toggle-small .toggle-assertive input:checked+.track .handle{background-color:#ef473a}.toggle-small .toggle-balanced input:checked+.track{background-color:rgba(51,205,95,.5)}.toggle-small .toggle-balanced input:checked+.track .handle{background-color:#33cd5f}.toggle-small .toggle-energized input:checked+.track{background-color:rgba(255,201,0,.5)}.toggle-small .toggle-energized input:checked+.track .handle{background-color:#ffc900}.toggle-small .toggle-royal input:checked+.track{background-color:rgba(136,106,234,.5)}.toggle-small .toggle-royal input:checked+.track .handle{background-color:#886aea}.toggle-small .toggle-dark input:checked+.track{background-color:rgba(68,68,68,.5)}.toggle-small .toggle-dark input:checked+.track .handle{background-color:#444}.item-radio{padding:0}.item-radio .item-content{padding-right:64px}.item-radio .radio-icon{position:absolute;top:0;right:0;z-index:3;visibility:hidden;padding:14px;height:100%;font-size:24px}.item-radio input{position:absolute;left:-9999px}.item-radio input:checked+.radio-content .item-content{background:#f7f7f7}.item-radio input:checked+.radio-content .radio-icon{visibility:visible}.range input{overflow:hidden;margin-top:5px;margin-bottom:5px;padding-right:2px;padding-left:1px;width:auto;height:43px;background:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0,#ccc),color-stop(100%,#ccc));background:linear-gradient(to right,#ccc 0,#ccc 100%);background-position:center;background-size:99% 2px;background-repeat:no-repeat;-webkit-appearance:none}.range input::-moz-focus-outer{border:0}.range input::-webkit-slider-thumb{position:relative;width:28px;height:28px;border-radius:50%;background-color:#fff;box-shadow:0 0 2px rgba(0,0,0,.3),0 3px 5px rgba(0,0,0,.2);cursor:pointer;-webkit-appearance:none;border:0}.range input::-webkit-slider-thumb:before{position:absolute;top:13px;left:-2001px;width:2000px;height:2px;background:#444;content:' '}.range input::-webkit-slider-thumb:after{position:absolute;top:-15px;left:-15px;padding:30px;content:' '}.range input::-ms-fill-lower{height:2px;background:#444}.range{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;padding:2px 11px}.range.range-light input::-webkit-slider-thumb:before{background:#ddd}.range.range-light input::-ms-fill-lower{background:#ddd}.range.range-stable input::-webkit-slider-thumb:before{background:#b2b2b2}.range.range-stable input::-ms-fill-lower{background:#b2b2b2}.range.range-positive input::-webkit-slider-thumb:before{background:#387ef5}.range.range-positive input::-ms-fill-lower{background:#387ef5}.range.range-calm input::-webkit-slider-thumb:before{background:#11c1f3}.range.range-calm input::-ms-fill-lower{background:#11c1f3}.range.range-balanced input::-webkit-slider-thumb:before{background:#33cd5f}.range.range-balanced input::-ms-fill-lower{background:#33cd5f}.range.range-assertive input::-webkit-slider-thumb:before{background:#ef473a}.range.range-assertive input::-ms-fill-lower{background:#ef473a}.range.range-energized input::-webkit-slider-thumb:before{background:#ffc900}.range.range-energized input::-ms-fill-lower{background:#ffc900}.range.range-royal input::-webkit-slider-thumb:before{background:#886aea}.range.range-royal input::-ms-fill-lower{background:#886aea}.range.range-dark input::-webkit-slider-thumb:before{background:#444}.range.range-dark input::-ms-fill-lower{background:#444}.range .icon{-webkit-box-flex:0;-webkit-flex:0;-moz-box-flex:0;-moz-flex:0;-ms-flex:0;flex:0;display:block;min-width:24px;text-align:center;font-size:24px}.range input{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1;display:block;margin-right:10px;margin-left:10px}.range-label{-webkit-box-flex:0;-webkit-flex:0 0 auto;-moz-box-flex:0;-moz-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;display:block;white-space:nowrap}.range-label:first-child{padding-left:5px}.range input+.range-label{padding-right:5px;padding-left:0}.platform-windowsphone .range input{height:auto}.item-select{position:relative}.item-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;top:0;bottom:0;right:0;max-width:65%;border:none;background:#fff;color:#333;text-indent:.01px;text-overflow:'';white-space:nowrap;font-size:14px;direction:rtl}.item-select option,bdo[dir=ltr]{direction:ltr}.item-select select::-ms-expand{display:none}.item-select:after{position:absolute;top:50%;right:16px;margin-top:-3px;width:0;height:0;border-top:5px solid;border-right:5px solid transparent;border-left:5px solid transparent;color:#999;content:"";pointer-events:none}.button-full>button.button,button.button-block,button.button-full,input.button.button-block,progress{width:100%}.item-select.item-light select{background:#fff;color:#444}.item-select.item-stable select{background:#f8f8f8;color:#444}.item-select.item-stable .input-label,.item-select.item-stable:after{color:#666}.item-select.item-positive select{background:#387ef5;color:#fff}.item-select.item-positive .input-label,.item-select.item-positive:after{color:#fff}.item-select.item-calm select{background:#11c1f3;color:#fff}.item-select.item-calm .input-label,.item-select.item-calm:after{color:#fff}.item-select.item-assertive select{background:#ef473a;color:#fff}.item-select.item-assertive .input-label,.item-select.item-assertive:after{color:#fff}.item-select.item-balanced select{background:#33cd5f;color:#fff}.item-select.item-balanced .input-label,.item-select.item-balanced:after{color:#fff}.item-select.item-energized select{background:#ffc900;color:#fff}.item-select.item-energized .input-label,.item-select.item-energized:after{color:#fff}.item-select.item-royal select{background:#886aea;color:#fff}.item-select.item-royal .input-label,.item-select.item-royal:after{color:#fff}.item-select.item-dark select{background:#444;color:#fff}.item-select.item-dark .input-label,.item-select.item-dark:after{color:#fff}select[multiple],select[size]{height:auto}progress{display:block;margin:15px auto}.button{border-color:transparent;background-color:#f8f8f8;color:#444;position:relative;display:inline-block;margin:0;padding:0 12px;min-width:52px;min-height:47px;border-width:1px;border-style:solid;border-radius:4px;text-align:center;text-overflow:ellipsis;font-size:16px;line-height:42px}.button:hover{color:#444;text-decoration:none}.button.activated,.button.active{border-color:#a2a2a2;background-color:#e5e5e5}.button:after{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;content:' '}.button .icon{pointer-events:none}.button .icon:before,.button.icon-left:before,.button.icon-right:before,.button.icon:before{display:inline-block;padding:0 0 1px;vertical-align:inherit;font-size:24px;line-height:41px;pointer-events:none}.button.icon-left:before{float:left;padding-right:.2em;padding-left:0}.button.icon-right:before{float:right;padding-right:0;padding-left:.2em}.button.button-block,.button.button-full{margin-top:10px;margin-bottom:10px}.button.button-light{border-color:transparent;background-color:#fff;color:#444}.button.button-light:hover{color:#444;text-decoration:none}.button.button-light.activated,.button.button-light.active{border-color:#a2a2a2;background-color:#fafafa}.button.button-light.button-clear,.button.button-light.button-icon{border-color:transparent;background:0 0}.button.button-light.button-clear{box-shadow:none;color:#ddd}.button.button-light.button-outline{border-color:#ddd;background:0 0;color:#ddd}.button.button-light.button-outline.activated,.button.button-light.button-outline.active{background-color:#ddd;box-shadow:none;color:#fff}.button.button-stable{border-color:transparent;background-color:#f8f8f8;color:#444}.button.button-stable:hover{color:#444;text-decoration:none}.button.button-stable.activated,.button.button-stable.active{border-color:#a2a2a2;background-color:#e5e5e5}.button.button-stable.button-clear,.button.button-stable.button-icon{border-color:transparent;background:0 0}.button.button-stable.button-clear{box-shadow:none;color:#b2b2b2}.button.button-stable.button-outline{border-color:#b2b2b2;background:0 0;color:#b2b2b2}.button.button-stable.button-outline.activated,.button.button-stable.button-outline.active{background-color:#b2b2b2;box-shadow:none;color:#fff}.button.button-positive{border-color:transparent;background-color:#387ef5;color:#fff}.button.button-positive:hover{color:#fff;text-decoration:none}.button.button-positive.activated,.button.button-positive.active{border-color:#a2a2a2;background-color:#0c60ee}.button.button-positive.button-clear,.button.button-positive.button-icon{border-color:transparent;background:0 0}.button.button-positive.button-clear{box-shadow:none;color:#387ef5}.button.button-positive.button-outline{border-color:#387ef5;background:0 0;color:#387ef5}.button.button-positive.button-outline.activated,.button.button-positive.button-outline.active{background-color:#387ef5;box-shadow:none;color:#fff}.button.button-calm{border-color:transparent;background-color:#11c1f3;color:#fff}.button.button-calm:hover{color:#fff;text-decoration:none}.button.button-calm.activated,.button.button-calm.active{border-color:#a2a2a2;background-color:#0a9dc7}.button.button-calm.button-clear,.button.button-calm.button-icon{border-color:transparent;background:0 0}.button.button-calm.button-clear{box-shadow:none;color:#11c1f3}.button.button-calm.button-outline{border-color:#11c1f3;background:0 0;color:#11c1f3}.button.button-calm.button-outline.activated,.button.button-calm.button-outline.active{background-color:#11c1f3;box-shadow:none;color:#fff}.button.button-assertive{border-color:transparent;background-color:#ef473a;color:#fff}.button.button-assertive:hover{color:#fff;text-decoration:none}.button.button-assertive.activated,.button.button-assertive.active{border-color:#a2a2a2;background-color:#e42112}.button.button-assertive.button-clear,.button.button-assertive.button-icon{border-color:transparent;background:0 0}.button.button-assertive.button-clear{box-shadow:none;color:#ef473a}.button.button-assertive.button-outline{border-color:#ef473a;background:0 0;color:#ef473a}.button.button-assertive.button-outline.activated,.button.button-assertive.button-outline.active{background-color:#ef473a;box-shadow:none;color:#fff}.button.button-balanced{border-color:transparent;background-color:#33cd5f;color:#fff}.button.button-balanced:hover{color:#fff;text-decoration:none}.button.button-balanced.activated,.button.button-balanced.active{border-color:#a2a2a2;background-color:#28a54c}.button.button-balanced.button-clear,.button.button-balanced.button-icon{border-color:transparent;background:0 0}.button.button-balanced.button-clear{box-shadow:none;color:#33cd5f}.button.button-balanced.button-outline{border-color:#33cd5f;background:0 0;color:#33cd5f}.button.button-balanced.button-outline.activated,.button.button-balanced.button-outline.active{background-color:#33cd5f;box-shadow:none;color:#fff}.button.button-energized{border-color:transparent;background-color:#ffc900;color:#fff}.button.button-energized:hover{color:#fff;text-decoration:none}.button.button-energized.activated,.button.button-energized.active{border-color:#a2a2a2;background-color:#e6b500}.button.button-energized.button-clear,.button.button-energized.button-icon{border-color:transparent;background:0 0}.button.button-energized.button-clear{box-shadow:none;color:#ffc900}.button.button-energized.button-outline{border-color:#ffc900;background:0 0;color:#ffc900}.button.button-energized.button-outline.activated,.button.button-energized.button-outline.active{background-color:#ffc900;box-shadow:none;color:#fff}.button.button-royal{border-color:transparent;background-color:#886aea;color:#fff}.button.button-royal:hover{color:#fff;text-decoration:none}.button.button-royal.activated,.button.button-royal.active{border-color:#a2a2a2;background-color:#6b46e5}.button.button-royal.button-clear,.button.button-royal.button-icon{border-color:transparent;background:0 0}.button.button-royal.button-clear{box-shadow:none;color:#886aea}.button.button-royal.button-outline{border-color:#886aea;background:0 0;color:#886aea}.button.button-royal.button-outline.activated,.button.button-royal.button-outline.active{background-color:#886aea;box-shadow:none;color:#fff}.button.button-dark{border-color:transparent;background-color:#444;color:#fff}.button.button-dark:hover{color:#fff;text-decoration:none}.button.button-dark.activated,.button.button-dark.active{border-color:#a2a2a2;background-color:#262626}.button.button-dark.button-clear,.button.button-dark.button-icon{border-color:transparent;background:0 0}.button.button-dark.button-clear{box-shadow:none;color:#444}.button.button-dark.button-outline{border-color:#444;background:0 0;color:#444}.button.button-dark.button-outline.activated,.button.button-dark.button-outline.active{background-color:#444;box-shadow:none;color:#fff}.button-small{padding:2px 4px 1px;min-width:28px;min-height:30px;font-size:12px;line-height:26px}.button-small .icon:before,.button-small.icon-left:before,.button-small.icon-right:before,.button-small.icon:before{font-size:16px;line-height:19px;margin-top:3px}.button-large{padding:0 16px;min-width:68px;min-height:59px;font-size:20px;line-height:53px}.button-large .icon:before,.button-large.icon-left:before,.button-large.icon-right:before,.button-large.icon:before{padding-bottom:2px;font-size:32px;line-height:51px}.button-clear,.button-icon{-webkit-transition:opacity .1s;padding:0 6px;border-color:transparent;background:0 0}.button-icon{transition:opacity .1s;min-width:initial}.button-icon.button.activated,.button-icon.button.active{border-color:transparent;background:0 0;box-shadow:none;opacity:.3}.button-icon .icon:before,.button-icon.icon:before{font-size:32px}.button-clear{transition:opacity .1s;max-height:42px;box-shadow:none}.button-clear.button-clear{border-color:transparent;background:0 0;box-shadow:none;color:transparent}.button-clear.button-icon{border-color:transparent;background:0 0}.button-clear.activated,.button-clear.active{opacity:.3}.button-outline{-webkit-transition:opacity .1s;transition:opacity .1s;background:0 0;box-shadow:none}.button-outline.button-outline{border-color:transparent;background:0 0;color:transparent}.button-outline.button-outline.activated,.button-outline.button-outline.active{background-color:transparent;box-shadow:none;color:#fff}.md-button.md-fab,.md-button.md-raised:not([disabled]),.md-button:not([disabled]).md-fab.md-focused,.md-button:not([disabled]).md-raised.md-focused,.md-shadow-bottom-z-1{box-shadow:0 2px 5px 0 rgba(0,0,0,.26)}.padding>.button.button-block:first-child{margin-top:0}.button-block{display:block}.button-full,.button-full>.button{display:block;margin-right:0;margin-left:0;border-right-width:0;border-left-width:0;border-radius:0}a.button{text-decoration:none}a.button .icon:before,a.button.icon-left:before,a.button.icon-right:before,a.button.icon:before{margin-top:2px}.button.disabled,.button[disabled]{opacity:.4;cursor:default!important;pointer-events:none}button[disabled],html input[type=button][disabled],input[type=reset][disabled],input[type=submit][disabled],md-autocomplete[disabled] input{cursor:default}.button-bar{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1;width:100%}.button-bar.button-bar-inline{display:block;width:auto}.button-bar.button-bar-inline:after,.button-bar.button-bar-inline:before{display:table;content:"";line-height:0}.button-bar.button-bar-inline>.button{width:auto;display:inline-block;float:left}.button-bar.bar-light>.button{border-color:#ddd}.button-bar.bar-stable>.button{border-color:#b2b2b2}.button-bar.bar-positive>.button{border-color:#0c60ee}.button-bar.bar-calm>.button{border-color:#0a9dc7}.button-bar.bar-assertive>.button{border-color:#e42112}.button-bar.bar-balanced>.button{border-color:#28a54c}.button-bar.bar-energized>.button{border-color:#e6b500}.button-bar.bar-royal>.button{border-color:#6b46e5}.button-bar.bar-dark>.button{border-color:#111}.button-bar>.button{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1;display:block;overflow:hidden;padding:0 16px;width:0;border-width:1px 0 1px 1px;border-radius:0;text-align:center;text-overflow:ellipsis;white-space:nowrap}.col,.full-image,.row{width:100%}.button-bar>.button .icon:before,.button-bar>.button:before{line-height:44px}.button-bar>.button:first-child{border-radius:4px 0 0 4px}.button-bar>.button:last-child{border-right-width:1px;border-radius:0 4px 4px 0}.button-bar>.button:only-child,.rounded{border-radius:4px}.button-bar>.button-small .icon:before,.button-bar>.button-small:before{line-height:28px}.row{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;padding:5px}.row-wrap{-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.row-no-padding,.row-no-padding>.col{padding:0}.col{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1;display:block;padding:5px}.row-top{-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;-moz-align-items:flex-start;align-items:flex-start}.row-bottom{-webkit-box-align:end;-ms-flex-align:end;-webkit-align-items:flex-end;-moz-align-items:flex-end;align-items:flex-end}.row-center{-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center}.row-stretch{-webkit-box-align:stretch;-ms-flex-align:stretch;-webkit-align-items:stretch;-moz-align-items:stretch;align-items:stretch}.row-baseline{-webkit-box-align:baseline;-ms-flex-align:baseline;-webkit-align-items:baseline;-moz-align-items:baseline;align-items:baseline}.col-top{-webkit-align-self:flex-start;-moz-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.col-bottom{-webkit-align-self:flex-end;-moz-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end}.col-center{-webkit-align-self:center;-moz-align-self:center;-ms-flex-item-align:center;align-self:center}.col-10,.col-20{-webkit-box-flex:0}.col-offset-10{margin-left:10%}.col-offset-20{margin-left:20%}.col-offset-25{margin-left:25%}.col-offset-33,.col-offset-34{margin-left:33.3333%}.col-offset-50{margin-left:50%}.col-offset-66,.col-offset-67{margin-left:66.6666%}.col-offset-75{margin-left:75%}.col-offset-80{margin-left:80%}.col-offset-90{margin-left:90%}.col-10{-webkit-flex:0 0 10%;-moz-box-flex:0;-moz-flex:0 0 10%;-ms-flex:0 0 10%;flex:0 0 10%;max-width:10%}.col-20{-webkit-flex:0 0 20%;-moz-box-flex:0;-moz-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.col-25{-webkit-box-flex:0;-webkit-flex:0 0 25%;-moz-box-flex:0;-moz-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-33,.col-34{-webkit-box-flex:0;-webkit-flex:0 0 33.3333%;-moz-box-flex:0;-moz-flex:0 0 33.3333%;-ms-flex:0 0 33.3333%;flex:0 0 33.3333%;max-width:33.3333%}.col-40,.col-50{-webkit-box-flex:0}.col-40{-webkit-flex:0 0 40%;-moz-box-flex:0;-moz-flex:0 0 40%;-ms-flex:0 0 40%;flex:0 0 40%;max-width:40%}.col-50{-webkit-flex:0 0 50%;-moz-box-flex:0;-moz-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-60{-webkit-box-flex:0;-webkit-flex:0 0 60%;-moz-box-flex:0;-moz-flex:0 0 60%;-ms-flex:0 0 60%;flex:0 0 60%;max-width:60%}.col-66,.col-67{-webkit-box-flex:0;-webkit-flex:0 0 66.6666%;-moz-box-flex:0;-moz-flex:0 0 66.6666%;-ms-flex:0 0 66.6666%;flex:0 0 66.6666%;max-width:66.6666%}.col-75,.col-80{-webkit-box-flex:0}.col-75{-webkit-flex:0 0 75%;-moz-box-flex:0;-moz-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-80{-webkit-flex:0 0 80%;-moz-box-flex:0;-moz-flex:0 0 80%;-ms-flex:0 0 80%;flex:0 0 80%;max-width:80%}.col-90{-webkit-box-flex:0;-webkit-flex:0 0 90%;-moz-box-flex:0;-moz-flex:0 0 90%;-ms-flex:0 0 90%;flex:0 0 90%;max-width:90%}@media (max-width:567px){.responsive-sm{-webkit-box-direction:normal;-moz-box-direction:normal;-webkit-box-orient:vertical;-moz-box-orient:vertical;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.responsive-sm .col,.responsive-sm .col-10,.responsive-sm .col-20,.responsive-sm .col-25,.responsive-sm .col-33,.responsive-sm .col-34,.responsive-sm .col-50,.responsive-sm .col-66,.responsive-sm .col-67,.responsive-sm .col-75,.responsive-sm .col-80,.responsive-sm .col-90{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1;margin-bottom:15px;margin-left:0;max-width:100%;width:100%}}@media (max-width:767px){.responsive-md{-webkit-box-direction:normal;-moz-box-direction:normal;-webkit-box-orient:vertical;-moz-box-orient:vertical;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.responsive-md .col,.responsive-md .col-10,.responsive-md .col-20,.responsive-md .col-25,.responsive-md .col-33,.responsive-md .col-34,.responsive-md .col-50,.responsive-md .col-66,.responsive-md .col-67,.responsive-md .col-75,.responsive-md .col-80,.responsive-md .col-90{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1;margin-bottom:15px;margin-left:0;max-width:100%;width:100%}}@media (max-width:1023px){.responsive-lg{-webkit-box-direction:normal;-moz-box-direction:normal;-webkit-box-orient:vertical;-moz-box-orient:vertical;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.responsive-lg .col,.responsive-lg .col-10,.responsive-lg .col-20,.responsive-lg .col-25,.responsive-lg .col-33,.responsive-lg .col-34,.responsive-lg .col-50,.responsive-lg .col-66,.responsive-lg .col-67,.responsive-lg .col-75,.responsive-lg .col-80,.responsive-lg .col-90{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1;margin-bottom:15px;margin-left:0;max-width:100%;width:100%}}.hide{display:none}.opacity-hide{opacity:0}.grade-b .opacity-hide,.grade-c .opacity-hide{opacity:1;display:none}.show{display:block}.opacity-show{opacity:1}.keyboard-open .hide-on-keyboard-open{display:none}.keyboard-open .bar-footer.hide-on-keyboard-open+.pane .has-footer,.keyboard-open .tabs.hide-on-keyboard-open+.pane .has-tabs{bottom:0}.inline{display:inline-block}.disable-pointer-events{pointer-events:none}.enable-pointer-events{pointer-events:auto}.md-ripple-container,.md-shadow,md-fab-speed-dial:not(.md-hover-full){pointer-events:none}.disable-user-behavior{user-select:none;-webkit-touch-callout:none;-ms-touch-action:none;-ms-content-zooming:none}.click-block{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;z-index:99999;transform:translate3d(0,0,0);overflow:hidden}.click-block-hide{-webkit-transform:translate3d(-9999px,0,0);transform:translate3d(-9999px,0,0)}.no-resize{resize:none}.block:after{display:block;visibility:hidden;height:0;content:"."}.clearfix:after,.clearfix:before{display:table;content:"";line-height:0}.md-chips:after,md-checkbox .md-container:after,md-checkbox .md-container:before{content:''}.padding{padding:10px}.padding-top,.padding-vertical{padding-top:10px}.padding-horizontal,.padding-right{padding-right:10px}.padding-bottom,.padding-vertical{padding-bottom:10px}.padding-horizontal,.padding-left{padding-left:10px}.iframe-wrapper{position:fixed;-webkit-overflow-scrolling:touch;overflow:scroll}.iframe-wrapper iframe{height:100%;width:100%}.light,a.light{color:#fff}.light-bg{background-color:#fff}.light-border{border-color:#ddd}.stable,a.stable{color:#f8f8f8}.stable-bg{background-color:#f8f8f8}.stable-border{border-color:#b2b2b2}.positive,a.positive{color:#387ef5}.positive-bg{background-color:#387ef5}.positive-border{border-color:#0c60ee}.calm,a.calm{color:#11c1f3}.calm-bg{background-color:#11c1f3}.calm-border{border-color:#0a9dc7}.assertive,a.assertive{color:#ef473a}.assertive-bg{background-color:#ef473a}.assertive-border{border-color:#e42112}.balanced,a.balanced{color:#33cd5f}.balanced-bg{background-color:#33cd5f}.balanced-border{border-color:#28a54c}.energized,a.energized{color:#ffc900}.energized-bg{background-color:#ffc900}.energized-border{border-color:#e6b500}.royal,a.royal{color:#886aea}.royal-bg{background-color:#886aea}.royal-border{border-color:#6b46e5}.dark,a.dark{color:#444}.dark-bg{background-color:#444}.dark-border{border-color:#111}[collection-repeat]{left:0!important;top:0!important;position:absolute!important;z-index:1}.collection-repeat-container{position:relative;z-index:1}.collection-repeat-after-container{z-index:0;display:block}[nav-view-transition=ios] [nav-view=active],[nav-view-transition=ios][nav-view-direction=forward] [nav-view=entering],[nav-view-transition=ios][nav-view-direction=back] [nav-view=leaving],[nav-view-transition=android] [nav-view=active],[nav-view-transition=android][nav-view-direction=forward] [nav-view=entering],[nav-view-transition=android][nav-view-direction=back] [nav-view=leaving]{z-index:3}[nav-view-transition=ios][nav-view-direction=forward] [nav-view=leaving],[nav-view-transition=ios][nav-view-direction=back] [nav-view=entering],[nav-view-transition=android][nav-view-direction=forward] [nav-view=leaving],[nav-view-transition=android][nav-view-direction=back] [nav-view=entering]{z-index:2}[nav-bar-transition=ios] [nav-bar=entering],[nav-bar-transition=ios] [nav-bar=active],[nav-bar-transition=android] [nav-bar=entering],[nav-bar-transition=android] [nav-bar=active]{z-index:10}.collection-repeat-after-container.horizontal{display:inline-block}.ng-cloak,.ng-hide:not(.ng-hide-animate),.x-ng-cloak,[data-ng-cloak],[ng-cloak],[ng\:cloak],[x-ng-cloak]{display:none!important}[nav-bar-transition=ios] [nav-bar=cached] .header-item,[nav-bar-transition=android] [nav-bar=cached] .header-item,[nav-bar=cached],[nav-view=cached]{display:none}.platform-ios.platform-cordova:not(.fullscreen) .bar-header:not(.bar-subheader){height:64px;height:calc(constant(safe-area-inset-top) + 44px);height:calc(env(safe-area-inset-top) + 44px)}.platform-ios.platform-cordova:not(.fullscreen) .bar-header:not(.bar-subheader).item-input-inset .item-input-wrapper{margin-top:19px!important}.platform-ios.platform-cordova:not(.fullscreen) .bar-header:not(.bar-subheader)>*{margin-top:20px;margin-top:env(safe-area-inset-top)}.platform-ios.platform-cordova:not(.fullscreen) .bar-header{padding-left:calc(env(safe-area-inset-left) + 5px);padding-right:calc(env(safe-area-inset-right) + 5px)}.platform-ios.platform-cordova:not(.fullscreen) .bar-header .buttons:last-child{right:calc(constant(safe-area-inset-right) + 5px);right:calc(env(safe-area-inset-right) + 5px)}.platform-ios.platform-cordova:not(.fullscreen) .bar-footer.has-tabs,.platform-ios.platform-cordova:not(.fullscreen) .has-tabs{bottom:calc(constant(safe-area-inset-bottom) + 49px);bottom:calc(env(safe-area-inset-bottom) + 49px)}.platform-ios.platform-cordova:not(.fullscreen) .tabs-top>.tabs,.platform-ios.platform-cordova:not(.fullscreen) .tabs.tabs-top{top:64px}.platform-ios.platform-cordova:not(.fullscreen) .tabs{padding-bottom:env(safe-area-inset-bottom);height:calc(constant(safe-area-inset-bottom) + 49px);height:calc(env(safe-area-inset-bottom) + 49px)}.platform-ios.platform-cordova:not(.fullscreen) .bar-subheader,.platform-ios.platform-cordova:not(.fullscreen) .has-header{top:64px;top:calc(constant(safe-area-inset-top) + 44px);top:calc(env(safe-area-inset-top) + 44px)}.platform-ios.platform-cordova:not(.fullscreen) .has-subheader{top:108px;top:calc(constant(safe-area-inset-top) + 88px);top:calc(env(safe-area-inset-top) + 88px)}.platform-ios.platform-cordova:not(.fullscreen) .has-header.has-tabs-top{top:113px;top:calc(93px + constant(safe-area-inset-top));top:calc(93px + env(safe-area-inset-top))}.platform-ios.platform-cordova:not(.fullscreen) .has-header.has-subheader.has-tabs-top{top:157px;top:calc(137px + constant(safe-area-inset-right));top:calc(137px + env(safe-area-inset-right))}.platform-ios.platform-cordova .popover .bar-header:not(.bar-subheader){height:44px}.platform-ios.platform-cordova .popover .bar-header:not(.bar-subheader).item-input-inset .item-input-wrapper{margin-top:-1px}.platform-ios.platform-cordova .popover .bar-header:not(.bar-subheader)>*{margin-top:0}.platform-ios.platform-cordova .popover .bar-subheader,.platform-ios.platform-cordova .popover .has-header{top:44px}.platform-ios.platform-cordova .popover .has-subheader{top:88px}.platform-ios.platform-cordova.status-bar-hide{margin-bottom:20px}@media (orientation:landscape){.item{padding:16px calc(constant(safe-area-inset-right) + 16px)}.item .badge{right:calc(constant(safe-area-inset-right) + 32px)}.item-icon-left{padding-left:calc(constant(safe-area-inset-left) + 54px)}.item-icon-left .icon{left:calc(constant(safe-area-inset-left) + 11px)}.item-icon-right{padding-right:calc(constant(safe-area-inset-right) + 54px)}.item-icon-right .icon{right:calc(constant(safe-area-inset-right) + 11px)}.item-complex,a.item.item-complex,button.item.item-complex{padding:0}.item-complex .item-content,a.item.item-complex .item-content,button.item.item-complex .item-content{padding:16px calc(constant(safe-area-inset-right) + 49px) 16px calc(constant(safe-area-inset-left) + 16px)}.item-left-edit.visible.active{-webkit-transform:translate3d(calc(constant(safe-area-inset-left) + 8px),0,0);transform:translate3d(calc(constant(safe-area-inset-left) + 8px),0,0)}.item-left-editing.item-left-editable .item-content,.list-left-editing .item-left-editable .item-content{-webkit-transform:translate3d(calc(constant(safe-area-inset-left) + 50px),0,0);transform:translate3d(calc(constant(safe-area-inset-left) + 50px),0,0)}.item-right-edit{right:constant(safe-area-inset-right);right:env(safe-area-inset-right)}.platform-ios.platform-browser.platform-ipad{position:fixed}}.platform-c:not(.enable-transitions) *{-webkit-transition:none!important;transition:none!important}.slide-in-up{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.slide-in-up.ng-enter,.slide-in-up>.ng-enter{-webkit-transition:all cubic-bezier(.1,.7,.1,1) .4s;transition:all cubic-bezier(.1,.7,.1,1) .4s}.slide-in-up.ng-enter-active,.slide-in-up>.ng-enter-active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slide-in-up.ng-leave,.slide-in-up>.ng-leave{-webkit-transition:all ease-in-out 250ms;transition:all ease-in-out 250ms}@-webkit-keyframes scaleOut{from{-webkit-transform:scale(1);opacity:1}to{-webkit-transform:scale(.8);opacity:0}}@keyframes scaleOut{from{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}@-webkit-keyframes superScaleIn{from{-webkit-transform:scale(1.2);opacity:0}to{-webkit-transform:scale(1);opacity:1}}@keyframes superScaleIn{from{transform:scale(1.2);opacity:0}to{transform:scale(1);opacity:1}}[nav-view-transition=ios] [nav-view=entering],[nav-view-transition=ios] [nav-view=leaving]{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:cubic-bezier(.36,.66,.04,1);transition-timing-function:cubic-bezier(.36,.66,.04,1);-webkit-transition-property:opacity,-webkit-transform,box-shadow;transition-property:opacity,transform,box-shadow}[nav-view-transition=ios][nav-view-direction=forward],[nav-view-transition=ios][nav-view-direction=back]{background-color:#000}[nav-bar-transition=ios] [nav-bar=entering] .bar,[nav-bar-transition=ios] [nav-bar=active] .bar,[nav-bar-transition=android] [nav-bar=entering] .bar,[nav-bar-transition=android] [nav-bar=active] .bar{background:0 0}[nav-bar-transition=ios] .back-text,[nav-bar-transition=ios] .buttons,[nav-bar-transition=ios] .title{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:cubic-bezier(.36,.66,.04,1);transition-timing-function:cubic-bezier(.36,.66,.04,1);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,transform}[nav-bar-transition=ios] [nav-bar=cached]{display:block}[nav-view-transition=android] [nav-view=entering],[nav-view-transition=android] [nav-view=leaving]{-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:cubic-bezier(.4,.6,.2,1);transition-timing-function:cubic-bezier(.4,.6,.2,1);-webkit-transition-property:-webkit-transform;transition-property:transform}[nav-bar-transition=android] .buttons,[nav-bar-transition=android] .title{-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:cubic-bezier(.4,.6,.2,1);transition-timing-function:cubic-bezier(.4,.6,.2,1);-webkit-transition-property:opacity;transition-property:opacity}[nav-bar-transition=android] [nav-bar=cached]{display:block}[nav-swipe=fast] .back-text,[nav-swipe=fast] .buttons,[nav-swipe=fast] .title,[nav-swipe=fast] [nav-view]{-webkit-transition-duration:50ms;transition-duration:50ms;-webkit-transition-timing-function:linear;transition-timing-function:linear}[nav-swipe=slow] .back-text,[nav-swipe=slow] .buttons,[nav-swipe=slow] .title,[nav-swipe=slow] [nav-view]{-webkit-transition-duration:160ms;transition-duration:160ms;-webkit-transition-timing-function:linear;transition-timing-function:linear}[nav-view=stage]{opacity:0;-webkit-transition-duration:0;transition-duration:0}[nav-bar=stage] .back-text,[nav-bar=stage] .buttons,[nav-bar=stage] .title{position:absolute;opacity:0;-webkit-transition-duration:0s;transition-duration:0s}body,html{height:100%;position:relative;-webkit-touch-callout:none;min-height:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0}.inset{padding:10px}a.md-no-style,button.md-no-style{font-weight:400;background-color:inherit;text-align:left;border:none;padding:0;margin:0}button,input,select,textarea{vertical-align:baseline}button,html,input,md-bottom-sheet .md-subheader,select,textarea{font-family:Roboto,"Helvetica Neue",sans-serif}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}textarea{vertical-align:top;overflow:auto}.md-button,.md-button.md-fab,.md-calendar-month-label span,.md-chips,.md-datepicker-button,md-checkbox .md-label,md-datepicker{vertical-align:middle}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box;-webkit-box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input:-webkit-autofill{text-shadow:none}.md-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;text-transform:none;width:1px}.md-padding,md-card md-card-header md-card-avatar md-icon{padding:8px}.md-shadow{position:absolute;top:0;left:0;bottom:0;right:0;border-radius:inherit}.md-shadow-bottom-z-2{box-shadow:0 4px 8px 0 rgba(0,0,0,.4)}.md-shadow-animated.md-shadow{transition:box-shadow .28s cubic-bezier(.4,0,.2,1)}.md-ripple-container{position:absolute;overflow:hidden;left:0;top:0;width:100%;height:100%;transition:all .55s cubic-bezier(.25,.8,.25,1)}.md-ripple{position:absolute;transform:translate(-50%,-50%) scale(0);transform-origin:50% 50%;opacity:0;border-radius:50%}.md-ripple.md-ripple-placed{transition:margin .9s cubic-bezier(.25,.8,.25,1),border .9s cubic-bezier(.25,.8,.25,1),width .9s cubic-bezier(.25,.8,.25,1),height .9s cubic-bezier(.25,.8,.25,1),opacity .9s cubic-bezier(.25,.8,.25,1),transform .9s cubic-bezier(.25,.8,.25,1)}.md-ripple.md-ripple-scaled{transform:translate(-50%,-50%) scale(1)}.md-ripple.md-ripple-active,.md-ripple.md-ripple-full,.md-ripple.md-ripple-visible{opacity:.2}.md-ripple.md-ripple-remove{animation:md-remove-ripple .9s cubic-bezier(.25,.8,.25,1)}@keyframes md-remove-ripple{0%{opacity:.15}100%{opacity:0}}.md-margin{margin:8px}.md-scroll-mask{position:absolute;background-color:transparent;top:0;right:0;bottom:0;left:0;z-index:50}.md-scroll-mask>.md-scroll-mask-bar{display:block;position:absolute;background-color:#fafafa;right:0;top:0;bottom:0;z-index:65;box-shadow:inset 0 0 1px rgba(0,0,0,.3)}.md-no-momentum{-webkit-overflow-scrolling:auto}.md-no-flicker{-webkit-filter:blur(0)}@media (min-width:960px){.md-padding{padding:16px}}body[dir=ltr],body[dir=rtl],html[dir=ltr],html[dir=rtl]{unicode-bidi:embed}bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}bdo[dir=ltr]{unicode-bidi:bidi-override}.md-display-4{font-size:112px;font-weight:300;letter-spacing:-.010em;line-height:112px}.md-display-3{font-size:56px;font-weight:400;letter-spacing:-.005em;line-height:56px}.md-display-2{font-size:45px;font-weight:400;line-height:64px}.md-display-1{font-size:34px;font-weight:400;line-height:40px}.md-headline{font-size:24px;font-weight:400;line-height:32px}.md-title{font-size:20px;font-weight:500;letter-spacing:.005em}.md-subhead{font-size:16px;font-weight:400;letter-spacing:.010em;line-height:24px}.md-body-1,.md-body-2{font-size:14px;letter-spacing:.010em}.md-body-1{font-weight:400;line-height:20px}.md-body-2{font-weight:500;line-height:24px}.md-caption{font-size:12px;letter-spacing:.020em}button,input,select,textarea{font-size:100%}.md-panel-outer-wrapper{height:100%;left:0;position:absolute;top:0;width:100%}._md-panel-hidden{display:none}._md-panel-offscreen{left:-9999px}._md-panel-fullscreen{border-radius:0;left:0;min-height:100%;min-width:100%;position:fixed;top:0}._md-panel-shown .md-panel{opacity:1;transition:none}.md-panel{opacity:0;position:fixed}.md-panel._md-panel-shown{opacity:1;transition:none}.md-panel._md-panel-animate-enter{opacity:1;transition:all .3s cubic-bezier(0,0,.2,1)}.md-panel._md-panel-animate-leave{opacity:1;transition:all .3s cubic-bezier(.4,0,1,1)}.md-panel._md-panel-animate-fade-out,.md-panel._md-panel-animate-scale-out{opacity:0}.md-panel._md-panel-backdrop{height:100%;position:absolute;width:100%}.md-panel._md-opaque-enter{opacity:.48;transition:opacity .3s cubic-bezier(0,0,.2,1)}.md-panel._md-opaque-leave{transition:opacity .3s cubic-bezier(.4,0,1,1)}md-autocomplete{border-radius:2px;display:block;height:40px;position:relative;overflow:visible;min-width:190px}md-autocomplete[md-floating-label]{border-radius:0;background:0 0;height:auto}md-autocomplete[md-floating-label] md-input-container{padding-bottom:0}md-autocomplete[md-floating-label] md-autocomplete-wrap{height:auto}md-autocomplete[md-floating-label] .md-show-clear-button button{display:block;position:absolute;right:0;top:20px;width:30px;height:30px}md-autocomplete[md-floating-label] .md-show-clear-button input{padding-right:30px}[dir=rtl] md-autocomplete[md-floating-label] .md-show-clear-button input{padding-right:0;padding-left:30px}md-autocomplete md-autocomplete-wrap{display:flex;flex-direction:row;box-sizing:border-box;position:relative;overflow:visible;height:40px}md-autocomplete md-autocomplete-wrap.md-menu-showing{z-index:12}md-autocomplete md-autocomplete-wrap input,md-autocomplete md-autocomplete-wrap md-input-container{flex:1 1 0%;box-sizing:border-box;min-width:0}md-autocomplete md-autocomplete-wrap md-progress-linear{position:absolute;bottom:-2px;left:0}md-autocomplete md-autocomplete-wrap md-progress-linear.md-inline{bottom:40px;right:2px;left:2px;width:auto}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate{position:absolute;top:0;left:0;width:100%;height:3px;transition:none}.md-button,md-autocomplete .md-show-clear-button button{position:relative;cursor:pointer;background:0 0;text-align:center}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate .md-container{transition:none;height:3px}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-enter,md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-leave{transition:opacity .15s linear}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-enter.ng-enter-active{opacity:1}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-leave.ng-leave-active{opacity:0}md-autocomplete input:not(.md-input){font-size:14px;box-sizing:border-box;border:none;box-shadow:none;background:0 0;width:100%;padding:0 15px;line-height:40px;height:40px}md-autocomplete input:not(.md-input)::-ms-clear{display:none}md-autocomplete .md-show-clear-button button{line-height:20px;width:30px;height:30px;border:none;border-radius:50%;padding:0;font-size:12px;margin:auto 5px}md-autocomplete .md-show-clear-button button:after{content:'';position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;transform:scale(0);opacity:0;transition:all .4s cubic-bezier(.25,.8,.25,1)}md-autocomplete .md-show-clear-button button:focus:after{transform:scale(1);opacity:1}md-autocomplete .md-show-clear-button button md-icon{position:absolute;top:50%;left:50%;transform:translate3d(-50%,-50%,0) scale(.9)}md-autocomplete .md-show-clear-button button md-icon path{stroke-width:0}md-autocomplete .md-show-clear-button button.ng-enter{transform:scale(0);transition:transform .15s ease-out}md-autocomplete .md-show-clear-button button.ng-enter.ng-enter-active{transform:scale(1)}md-autocomplete .md-show-clear-button button.ng-leave{transition:transform .15s ease-out}md-autocomplete .md-show-clear-button button.ng-leave.ng-leave-active{transform:scale(0)}.md-virtual-repeat-container.md-autocomplete-suggestions-container{position:absolute;box-shadow:0 2px 5px rgba(0,0,0,.25);z-index:100;height:100%}.md-autocomplete-suggestions{margin:0;list-style:none;padding:0}.md-autocomplete-suggestions li{font-size:14px;overflow:hidden;padding:0 15px;line-height:48px;height:48px;transition:background .15s linear;margin:0;white-space:nowrap;text-overflow:ellipsis}.md-autocomplete-suggestions li:not(.md-not-found-wrapper){cursor:pointer}@media screen and (-ms-high-contrast:active){.md-autocomplete-suggestions,md-autocomplete,md-autocomplete input{border:1px solid #fff}md-autocomplete li:focus{color:#fff}}md-backdrop{transition:opacity 450ms;position:absolute;top:0;bottom:0;left:0;right:0;z-index:11}md-backdrop.md-menu-backdrop{position:fixed!important;z-index:-1}md-backdrop.md-click-catcher,md-bottom-sheet{position:absolute}md-backdrop.md-select-backdrop{z-index:81;transition-duration:0}md-backdrop.md-dialog-backdrop{z-index:79}md-backdrop.md-bottom-sheet-backdrop{z-index:69}md-backdrop.md-sidenav-backdrop{z-index:59}md-backdrop.md-opaque{opacity:.48}md-backdrop.md-opaque.ng-enter{opacity:0}md-backdrop.md-opaque.ng-enter.md-opaque.ng-enter-active{opacity:.48}md-backdrop.md-opaque.ng-leave{opacity:.48;transition:opacity .4s}md-backdrop.md-opaque.ng-leave.md-opaque.ng-leave-active{opacity:0}md-bottom-sheet{left:0;right:0;bottom:0;padding:8px 16px 88px;z-index:70;border-top-width:1px;border-top-style:solid;transform:translate3d(0,80px,0);transition:all .4s cubic-bezier(.25,.8,.25,1);transition-property:transform}md-bottom-sheet.md-has-header{padding-top:0}md-bottom-sheet.ng-enter{opacity:0;transform:translate3d(0,100%,0)}md-bottom-sheet.ng-enter-active{opacity:1;display:block;transform:translate3d(0,80px,0)!important}md-bottom-sheet.ng-leave-active{transform:translate3d(0,100%,0)!important;transition:all .3s cubic-bezier(.55,0,.55,.2)}md-bottom-sheet .md-subheader{background-color:transparent;line-height:56px;padding:0;white-space:nowrap}md-bottom-sheet md-inline-icon{display:inline-block;height:24px;width:24px;fill:#444}md-bottom-sheet md-list-item{display:flex}md-bottom-sheet md-list-item:hover{cursor:pointer}md-bottom-sheet.md-list md-list-item{padding:0;align-items:center;height:48px}md-bottom-sheet.md-grid{padding-left:24px;padding-right:24px;padding-top:0}md-bottom-sheet.md-grid md-list{display:flex;flex-direction:row;flex-wrap:wrap;transition:all .5s;align-items:center}md-bottom-sheet.md-grid md-list-item{flex-direction:column;align-items:center;transition:all .5s;height:96px;margin-top:8px;margin-bottom:8px}@media (max-width:960px){md-bottom-sheet.md-grid md-list-item{flex:1 1 33.33333%;max-width:33.33333%}md-bottom-sheet.md-grid md-list-item:nth-of-type(3n+1){align-items:flex-start}md-bottom-sheet.md-grid md-list-item:nth-of-type(3n){align-items:flex-end}}@media (min-width:960px) and (max-width:1279px){md-bottom-sheet.md-grid md-list-item{flex:1 1 25%;max-width:25%}}@media (min-width:1280px) and (max-width:1919px){md-bottom-sheet.md-grid md-list-item{flex:1 1 16.66667%;max-width:16.66667%}}@media (min-width:1920px){md-bottom-sheet.md-grid md-list-item{flex:1 1 14.28571%;max-width:14.28571%}}md-bottom-sheet.md-grid md-list-item::before{display:none}md-bottom-sheet.md-grid md-list-item .md-list-item-content{display:flex;flex-direction:column;align-items:center;width:48px;padding-bottom:16px}md-bottom-sheet.md-grid md-list-item .md-grid-item-content{border:1px solid transparent;display:flex;flex-direction:column;align-items:center;width:80px}md-bottom-sheet.md-grid md-list-item .md-grid-text{font-weight:400;line-height:16px;font-size:13px;margin:0;white-space:nowrap;width:64px;text-align:center;text-transform:none;padding-top:8px}@media screen and (-ms-high-contrast:active){md-bottom-sheet{border:1px solid #fff}}button.md-button::-moz-focus-inner{border:0}.md-button{letter-spacing:.010em;display:inline-block;min-height:36px;min-width:88px;line-height:36px;align-items:center;border-radius:4px;box-sizing:border-box;user-select:none;border:0;padding:12px;margin:6px 8px;color:currentColor;white-space:nowrap;text-transform:uppercase;font-weight:500;font-size:16px;font-style:inherit;font-variant:inherit;font-family:inherit;text-decoration:none;overflow:hidden;transition:box-shadow .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.md-dense :not(.md-dense-disabled) .md-button:not(.md-dense-disabled),.md-dense>.md-button:not(.md-dense-disabled){min-height:32px;line-height:32px;font-size:13px}.md-button:focus,.md-button:hover{text-decoration:none}.md-button.ng-hide,.md-button.ng-leave{transition:none}.md-button.md-cornered{border-radius:0}.md-button.md-icon{padding:0;background:0 0}.md-button.md-icon-button{margin:0 6px;height:40px;min-width:0;line-height:24px;padding:8px;width:40px;border-radius:50%}.md-button.md-icon-button .md-ripple-container{border-radius:50%;overflow:hidden}.md-button.md-fab{z-index:20;line-height:56px;min-width:0;width:56px;height:56px;border-radius:50%;background-clip:padding-box;overflow:hidden;transition:all .3s cubic-bezier(.55,0,.55,.2);transition-property:background-color,box-shadow,transform}.md-button.md-fab.md-fab-bottom-right{top:auto;right:20px;bottom:20px;left:auto;position:absolute}.md-button.md-fab.md-fab-bottom-left{top:auto;right:auto;bottom:20px;left:20px;position:absolute}.md-button.md-fab.md-fab-top-right{top:20px;right:20px;bottom:auto;left:auto;position:absolute}.md-button.md-fab.md-fab-top-left{top:20px;right:auto;bottom:auto;left:20px;position:absolute}.md-button.md-fab .md-ripple-container{border-radius:50%;overflow:hidden}.md-button.md-fab.md-mini{line-height:40px;width:40px;height:40px}.md-button.md-fab.ng-hide,.md-button.md-fab.ng-leave{transition:none}.md-button:not([disabled]).md-fab:active,.md-button:not([disabled]).md-raised:active{box-shadow:0 4px 8px 0 rgba(0,0,0,.4)}.md-button .md-ripple-container{border-radius:4px;overflow:hidden}.md-button.md-icon-button md-icon,button.md-button.md-fab md-icon{display:block}.md-toast-open-top .md-button.md-fab-top-left,.md-toast-open-top .md-button.md-fab-top-right{transition:all .4s cubic-bezier(.25,.8,.25,1);transform:translate3d(0,42px,0)}.md-toast-open-top .md-button.md-fab-top-left:not([disabled]).md-focused,.md-toast-open-top .md-button.md-fab-top-left:not([disabled]):hover,.md-toast-open-top .md-button.md-fab-top-right:not([disabled]).md-focused,.md-toast-open-top .md-button.md-fab-top-right:not([disabled]):hover{transform:translate3d(0,41px,0)}.md-toast-open-bottom .md-button.md-fab-bottom-left,.md-toast-open-bottom .md-button.md-fab-bottom-right{transition:all .4s cubic-bezier(.25,.8,.25,1);transform:translate3d(0,-42px,0)}.md-toast-open-bottom .md-button.md-fab-bottom-left:not([disabled]).md-focused,.md-toast-open-bottom .md-button.md-fab-bottom-left:not([disabled]):hover,.md-toast-open-bottom .md-button.md-fab-bottom-right:not([disabled]).md-focused,.md-toast-open-bottom .md-button.md-fab-bottom-right:not([disabled]):hover{transform:translate3d(0,-43px,0)}.md-button-group{display:flex;flex:1;width:100%}.md-button-group>.md-button{flex:1;display:block;overflow:hidden;width:0;border-width:1px 0 1px 1px;border-radius:0;text-align:center;text-overflow:ellipsis;white-space:nowrap}.md-button-group>.md-button:first-child{border-radius:2px 0 0 2px}.md-button-group>.md-button:last-child{border-right-width:1px;border-radius:0 2px 2px 0}@media screen and (-ms-high-contrast:active){.md-button.md-fab,.md-button.md-raised{border:1px solid #fff}}md-card{box-sizing:border-box;display:flex;flex-direction:column;margin:8px;box-shadow:0 1px 3px rgba(0,0,0,.3)}.md-chips .md-chip-input-container md-autocomplete,.md-chips .md-chip-input-container md-autocomplete md-autocomplete-wrap{box-shadow:none}md-card md-card-header{padding:10px;display:flex;flex-direction:row}md-card md-card-header:first-child md-card-avatar{margin-right:12px}[dir=rtl] md-card md-card-header:first-child md-card-avatar{margin-right:auto;margin-left:12px}md-card md-card-header:last-child md-card-avatar{margin-left:12px}[dir=rtl] md-card md-card-header:last-child md-card-avatar{margin-left:auto;margin-right:12px}md-card md-card-header md-card-avatar{width:40px;height:40px}md-card md-card-header md-card-avatar .md-user-avatar,md-card md-card-header md-card-avatar md-icon{border-radius:50%}md-card md-card-header md-card-avatar md-icon>svg{height:inherit;width:inherit}md-card md-card-header md-card-avatar+md-card-header-text{max-height:40px}md-card md-card-header md-card-avatar+md-card-header-text .md-title{font-size:14px}md-card md-card-header md-card-header-text{display:flex;flex:1;flex-direction:column}md-card md-card-header md-card-header-text .md-subhead{font-size:14px}md-card md-card-title-media img,md-card>img,md-card>md-card-header img{box-sizing:border-box;display:flex;flex:0 0 auto;width:100%;height:auto}md-card md-card-title{padding:15px 10px 10px;display:flex;flex:1 1 auto;flex-direction:row}md-card md-card-title+md-card-content{padding-top:0}md-card md-card-title md-card-title-text{flex:1;flex-direction:column;display:flex}md-card md-card-title md-card-title-text .md-subhead{padding-top:0;font-size:14px}md-card md-card-title md-card-title-text:only-child .md-subhead{padding-top:7.5px}md-card md-card-title md-card-title-media{margin-top:-5px}md-card md-card-title md-card-title-media .md-media-sm{height:80px;width:80px}md-card md-card-title md-card-title-media .md-media-md{height:112px;width:112px}md-card md-card-title md-card-title-media .md-media-lg{height:152px;width:152px}md-card md-card-content{display:block;padding:10px}md-card md-card-content>p:first-child{margin-top:0}md-card md-card-content>p:last-child{margin-bottom:0}md-card md-card-content .md-media-xl{height:240px;width:240px}md-card .md-actions,md-card md-card-actions{margin:8px}md-card .md-actions.layout-column .md-button:not(.md-icon-button),md-card md-card-actions.layout-column .md-button:not(.md-icon-button){margin:2px 0}md-card .md-actions.layout-column .md-button:not(.md-icon-button):first-of-type,md-card md-card-actions.layout-column .md-button:not(.md-icon-button):first-of-type{margin-top:0}md-card .md-actions.layout-column .md-button:not(.md-icon-button):last-of-type,md-card md-card-actions.layout-column .md-button:not(.md-icon-button):last-of-type{margin-bottom:0}md-card .md-actions.layout-column .md-button.md-icon-button,md-card md-card-actions.layout-column .md-button.md-icon-button{margin-top:6px;margin-bottom:6px}md-card .md-actions md-card-icon-actions,md-card md-card-actions md-card-icon-actions{flex:1;justify-content:flex-start;display:flex;flex-direction:row}md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button),md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button){margin:0 4px}md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type,md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type{margin-left:0}[dir=rtl] md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type,[dir=rtl] md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type{margin-left:auto;margin-right:0}md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type,md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type{margin-right:0}[dir=rtl] md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type,[dir=rtl] md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type{margin-right:auto;margin-left:0}md-card .md-actions:not(.layout-column) .md-button.md-icon-button,md-card md-card-actions:not(.layout-column) .md-button.md-icon-button{margin-left:6px;margin-right:6px}md-card .md-actions:not(.layout-column) .md-button.md-icon-button:first-of-type,md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:first-of-type{margin-left:12px}[dir=rtl] md-card .md-actions:not(.layout-column) .md-button.md-icon-button:first-of-type,[dir=rtl] md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:first-of-type{margin-left:auto;margin-right:12px}md-card .md-actions:not(.layout-column) .md-button.md-icon-button:last-of-type,md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:last-of-type{margin-right:12px}[dir=rtl] md-card .md-actions:not(.layout-column) .md-button.md-icon-button:last-of-type,[dir=rtl] md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:last-of-type{margin-right:auto;margin-left:12px}md-card .md-actions:not(.layout-column) .md-button+md-card-icon-actions,md-card md-card-actions:not(.layout-column) .md-button+md-card-icon-actions{flex:1;justify-content:flex-end;display:flex;flex-direction:row}md-card md-card-footer{margin-top:auto;padding:10px}@media screen and (-ms-high-contrast:active){md-card{border:1px solid #fff}}.md-image-no-fill>img{width:auto;height:auto}.md-contact-chips .md-chips md-chip{padding:0 25px 0 0}[dir=rtl] .md-contact-chips .md-chips md-chip{padding:0 0 0 25px}.md-contact-chips .md-chips md-chip .md-contact-avatar{float:left}[dir=rtl] .md-contact-chips .md-chips md-chip .md-contact-avatar{float:right}.md-contact-chips .md-chips md-chip .md-contact-avatar img{height:32px;border-radius:16px}.md-contact-chips .md-chips md-chip .md-contact-name{display:inline-block;height:32px;margin-left:8px}[dir=rtl] .md-contact-chips .md-chips md-chip .md-contact-name{margin-left:auto;margin-right:8px}.md-contact-suggestion{height:56px}.md-contact-suggestion img{height:40px;border-radius:20px;margin-top:8px}.md-contact-suggestion .md-contact-name{margin-left:8px;width:120px}[dir=rtl] .md-contact-suggestion .md-contact-name{margin-left:auto;margin-right:8px}.md-contact-suggestion .md-contact-email,.md-contact-suggestion .md-contact-name{display:inline-block;overflow:hidden;text-overflow:ellipsis}.md-contact-chips-suggestions li{height:100%}.md-chips{display:block;font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;padding:0 0 8px 3px}.md-chips:after{display:table}[dir=rtl] .md-chips{padding:0 3px 8px 0}.md-chips.md-readonly .md-chip-input-container{min-height:32px}.md-chips:not(.md-readonly){cursor:text}.md-chips.md-removable md-chip{padding-right:22px}[dir=rtl] .md-chips.md-removable md-chip{padding-right:0;padding-left:22px}.md-chips.md-removable md-chip .md-chip-content{padding-right:4px}[dir=rtl] .md-chips.md-removable md-chip .md-chip-content{padding-right:0;padding-left:4px}.md-chips md-chip{cursor:default;border-radius:16px;display:block;height:32px;line-height:32px;margin:8px 8px 0 0;padding:0 12px;float:left;box-sizing:border-box;max-width:100%;position:relative}[dir=rtl] .md-chips md-chip{margin:8px 0 0 8px;float:right}.md-chips md-chip .md-chip-content{display:block;float:left;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}[dir=rtl] .md-chips md-chip .md-chip-content{float:right}.md-chips md-chip._md-chip-content-edit-is-enabled{-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}.md-chips md-chip .md-chip-remove-container{position:absolute;right:0;line-height:22px}[dir=rtl] .md-chips md-chip .md-chip-remove-container{right:auto;left:0}.md-chips md-chip .md-chip-remove{text-align:center;width:32px;height:32px;min-width:0;padding:0;background:0 0;border:none;box-shadow:none;margin:0;position:relative}.md-chips md-chip .md-chip-remove md-icon{height:18px;width:18px;position:absolute;top:50%;left:50%;transform:translate3d(-50%,-50%,0)}.md-chips .md-chip-input-container md-autocomplete input,md-checkbox{position:relative}.md-chips .md-chip-input-container{display:block;line-height:32px;margin:8px 8px 0 0;padding:0;float:left}[dir=rtl] .md-chips .md-chip-input-container{margin:8px 0 0 8px;float:right}.md-chips .md-chip-input-container input:not([type]),.md-chips .md-chip-input-container input[type=text],.md-chips .md-chip-input-container input[type=number],.md-chips .md-chip-input-container input[type=email],.md-chips .md-chip-input-container input[type=url],.md-chips .md-chip-input-container input[type=tel]{border:0;height:32px;line-height:32px;padding:0}.md-chips .md-chip-input-container md-autocomplete,.md-chips .md-chip-input-container md-autocomplete-wrap{background:0 0;height:32px}.md-chips .md-chip-input-container input{border:0;height:32px;line-height:32px;padding:0;background:0 0}.md-chips .md-chip-input-container:not(:first-child){margin:8px 8px 0 0}[dir=rtl] .md-chips .md-chip-input-container:not(:first-child){margin:8px 0 0 8px}.md-chips md-autocomplete button{display:none}md-checkbox,md-checkbox .md-container{display:inline-block;box-sizing:border-box}@media screen and (-ms-high-contrast:active){.md-chip-input-container,md-chip{border:1px solid #fff}.md-chip-input-container md-autocomplete{border:none}}.md-inline-form md-checkbox{margin:19px 0 18px}md-checkbox{margin-bottom:16px;white-space:nowrap;cursor:pointer;user-select:none;min-width:28px;min-height:28px;margin-left:0;margin-right:16px}.md-calendar-date.md-calendar-date-disabled,md-checkbox[disabled]{cursor:default}[dir=rtl] md-checkbox{margin-left:16px;margin-right:0}md-checkbox:last-of-type{margin-left:0;margin-right:0}md-checkbox.md-focused:not([disabled]) .md-container:before{left:-8px;top:-8px;right:-8px;bottom:-8px}md-checkbox.md-focused:not([disabled]):not(.md-checked) .md-container:before{background-color:rgba(0,0,0,.12)}md-checkbox.md-align-top-left>div.md-container{top:12px}md-checkbox .md-container{position:absolute;top:50%;transform:translateY(-50%);width:28px;height:28px;left:0;right:auto}[dir=rtl] md-checkbox .md-container{left:auto;right:0}md-checkbox .md-container:before{box-sizing:border-box;background-color:transparent;border-radius:50%;position:absolute;display:block;height:auto;left:0;top:0;right:0;bottom:0;transition:all .5s;width:auto}md-checkbox .md-container:after{box-sizing:border-box;position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}md-checkbox .md-container .md-ripple-container{position:absolute;display:block;width:auto;height:auto;left:-15px;top:-15px;right:-15px;bottom:-15px}md-checkbox.md-checked .md-icon:after,md-checkbox.md-indeterminate .md-icon:after{position:absolute;display:table;box-sizing:border-box;content:''}md-checkbox .md-icon{box-sizing:border-box;transition:240ms;position:absolute;top:0;left:0;width:28px;height:28px;border-width:1px;border-style:solid;border-radius:28px}md-checkbox.md-checked .md-icon{border-color:transparent}md-checkbox.md-checked .md-icon:after{transform:rotate(45deg);left:8.33px;top:2.11px;width:9.33px;height:18.67px;border-width:1px;border-style:solid;border-top:0;border-left:0}md-checkbox.md-indeterminate .md-icon:after{top:50%;left:50%;transform:translate(-50%,-50%);width:16.8px;height:1px;border-width:1px;border-style:solid;border-top:0;border-left:0}md-checkbox .md-label{box-sizing:border-box;position:relative;display:inline-block;white-space:normal;user-select:text;margin-left:38px;margin-right:0}[dir=rtl] md-checkbox .md-label{margin-left:0;margin-right:38px}md-content{display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}md-content[md-scroll-y]{overflow-y:auto;overflow-x:hidden}md-content[md-scroll-x]{overflow-x:auto;overflow-y:hidden}@media print{md-content{overflow:visible!important}}md-calendar{font-size:13px;user-select:none}.md-calendar-scroll-mask{display:inline-block;overflow:hidden;height:308px}.md-calendar-scroll-mask .md-virtual-repeat-scroller{overflow-y:scroll;-webkit-overflow-scrolling:touch}.md-calendar-scroll-mask .md-virtual-repeat-scroller::-webkit-scrollbar{display:none}.md-calendar-scroll-mask .md-virtual-repeat-offsetter{width:100%}.md-calendar-scroll-container{box-shadow:inset -3px 3px 6px rgba(0,0,0,.2);display:inline-block;height:308px;width:346px}.md-calendar-date{height:44px;width:44px;text-align:center;padding:0;border:none;box-sizing:content-box}.md-calendar-date:first-child{padding-left:16px}[dir=rtl] .md-calendar-date:first-child{padding-left:0;padding-right:16px}.md-calendar-date:last-child{padding-right:16px}[dir=rtl] .md-calendar-date:last-child{padding-right:0;padding-left:16px}.md-calendar-date:not(.md-disabled) .md-calendar-date-selection-indicator,md-calendar-month .md-calendar-month-label:not(.md-calendar-month-label-disabled){cursor:pointer}.md-calendar-date-selection-indicator{transition:background-color,color .4s cubic-bezier(.25,.8,.25,1);border-radius:50%;display:inline-block;width:40px;height:40px;line-height:40px}.md-calendar-month-label{height:44px;font-size:14px;font-weight:500;padding:0 0 0 24px}[dir=rtl] .md-calendar-month-label{padding:0 24px 0 0}.md-calendar-month-label md-icon{transform:rotate(180deg)}[dir=rtl] .md-calendar-month-label md-icon{transform:none}.md-calendar-day-header{table-layout:fixed}.md-calendar-day-header th{height:40px;width:44px;text-align:center;padding:0;border:none;box-sizing:content-box;font-weight:400}.md-calendar-day-header th:first-child{padding-left:16px}[dir=rtl] .md-calendar-day-header th:first-child{padding-left:0;padding-right:16px}.md-calendar-day-header th:last-child{padding-right:16px}[dir=rtl] .md-calendar-day-header th:last-child{padding-right:0;padding-left:16px}.md-calendar{table-layout:fixed}.md-calendar tr:last-child td{border-bottom-width:1px;border-bottom-style:solid}.md-calendar:first-child{border-top:1px solid transparent}.md-calendar tbody,.md-calendar td,.md-calendar tr{vertical-align:middle;box-sizing:content-box}md-datepicker{white-space:nowrap;overflow:hidden}.md-inline-form md-datepicker{margin-top:12px}.md-datepicker-button{display:inline-block;box-sizing:border-box;background:0 0;position:relative}.md-datepicker-button:before{top:0;left:0;bottom:0;right:0;position:absolute;content:'';speak:none}.md-datepicker-input{font-size:14px;box-sizing:border-box;border:none;box-shadow:none;background:0 0;min-width:120px;max-width:328px;padding:0 0 5px}.md-datepicker-input::-ms-clear{display:none}._md-datepicker-floating-label>md-datepicker{overflow:visible}._md-datepicker-floating-label>md-datepicker .md-datepicker-input-container{border:none}.md-datepicker-open .md-datepicker-input-container,.md-datepicker-open input.md-input,md-datepicker[disabled] .md-datepicker-input-container{border-bottom-color:transparent}._md-datepicker-floating-label>md-datepicker .md-datepicker-button{float:left;margin-top:-12px;top:9.5px}[dir=rtl] ._md-datepicker-floating-label>md-datepicker .md-datepicker-button{float:right}._md-datepicker-floating-label .md-input{float:none}._md-datepicker-floating-label._md-datepicker-has-calendar-icon>label:not(.md-no-float):not(.md-container-ignore){right:18px;left:auto;width:calc(100% - 84px)}[dir=rtl] ._md-datepicker-floating-label._md-datepicker-has-calendar-icon>label:not(.md-no-float):not(.md-container-ignore){right:auto;left:18px}._md-datepicker-floating-label._md-datepicker-has-calendar-icon .md-input-message-animation{margin-left:64px}[dir=rtl] ._md-datepicker-floating-label._md-datepicker-has-calendar-icon .md-input-message-animation{margin-left:auto;margin-right:64px}._md-datepicker-has-triangle-icon{padding-right:18px;margin-right:-18px}[dir=rtl] ._md-datepicker-has-triangle-icon{padding-right:0;padding-left:18px;margin-right:auto;margin-left:-18px}.md-datepicker-input-container{position:relative;border-bottom-width:1px;border-bottom-style:solid;display:inline-block;width:auto}.md-datepicker-open .md-datepicker-triangle-button,.md-datepicker-open.md-input-has-placeholder>label,.md-datepicker-open.md-input-has-value>label,.md-datepicker-pos-adjusted .md-datepicker-input-mask,md-datepicker[disabled] .md-datepicker-triangle-button{display:none}.md-icon-button+.md-datepicker-input-container{margin-left:12px}[dir=rtl] .md-icon-button+.md-datepicker-input-container{margin-left:auto;margin-right:12px}.md-datepicker-input-container.md-datepicker-focused{border-bottom-width:2px}.md-datepicker-is-showing .md-scroll-mask{z-index:99}.md-datepicker-calendar-pane{position:absolute;top:0;left:-100%;z-index:100;border-width:1px;border-style:solid;background:0 0;transform:scale(0);transform-origin:0 0;transition:transform .2s cubic-bezier(.25,.8,.25,1)}.md-datepicker-calendar-pane.md-pane-open{transform:scale(1)}.md-datepicker-input-mask{height:40px;width:340px;position:relative;overflow:hidden;background:0 0;pointer-events:none;cursor:text}.md-datepicker-calendar{opacity:0;transition:opacity .2s cubic-bezier(.5,0,.25,1)}.md-pane-open .md-datepicker-calendar{opacity:1}.md-datepicker-expand-triangle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid}.md-datepicker-triangle-button{position:absolute;right:0;bottom:-2.5px;transform:translateX(45%)}[dir=rtl] .md-datepicker-triangle-button{right:auto;left:0;transform:translateX(-45%)}.md-datepicker-triangle-button.md-button.md-icon-button{height:36px;width:36px;position:absolute;padding:8px}.md-datepicker-open{overflow:hidden}.md-datepicker-calendar-pane .md-calendar{transform:translateY(-85px);transition:transform .65s cubic-bezier(.25,.8,.25,1);transition-delay:125ms}.md-datepicker-calendar-pane.md-pane-open .md-calendar{transform:translateY(0)}.md-dialog-is-showing{max-height:100%}.md-dialog-container{display:flex;justify-content:center;align-items:center;position:absolute;top:0;left:0;width:100%;height:100%;z-index:80;overflow:hidden}md-dialog,md-dialog>form{flex-direction:column;overflow:auto}md-dialog,md-fab-speed-dial{position:relative;display:flex}md-dialog{opacity:0;min-width:240px;max-width:80%;max-height:80%;box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}md-dialog.md-transition-in{opacity:1;transition:all .4s cubic-bezier(.25,.8,.25,1);transform:translate(0,0) scale(1)}md-dialog.md-transition-out{opacity:0;transition:all .4s cubic-bezier(.25,.8,.25,1);transform:translate(0,100%) scale(.2)}md-fab-speed-dial md-fab-actions .md-fab-action-item,md-fab-speed-dial.md-left md-fab-actions .md-fab-action-item,md-fab-speed-dial.md-right md-fab-actions .md-fab-action-item{transition:all .3s cubic-bezier(.55,0,.55,.2)}md-dialog>form{display:flex}md-dialog .md-dialog-content{padding:24px}md-dialog md-dialog-content{order:1;flex-direction:column;overflow:auto;-webkit-overflow-scrolling:touch}md-dialog md-dialog-content:not([layout=row])>:first-child:not(.md-subheader){margin-top:0}md-dialog md-dialog-content:focus{outline:0}md-dialog md-dialog-content .md-subheader{margin:0}md-dialog md-dialog-content .md-dialog-content-body{width:100%}md-dialog md-dialog-content .md-prompt-input-container{width:100%;box-sizing:border-box}md-dialog .md-actions,md-dialog md-dialog-actions{display:flex;order:2;box-sizing:border-box;align-items:center;justify-content:flex-end;margin-bottom:0;padding-right:8px;padding-left:16px;min-height:52px;overflow:hidden}[dir=rtl] md-dialog .md-actions,[dir=rtl] md-dialog md-dialog-actions{padding-right:16px;padding-left:8px}md-dialog .md-actions .md-button,md-dialog md-dialog-actions .md-button{margin:8px 0 8px 8px}[dir=rtl] md-dialog .md-actions .md-button,[dir=rtl] md-dialog md-dialog-actions .md-button{margin-left:0;margin-right:8px}md-dialog.md-content-overflow .md-actions,md-dialog.md-content-overflow md-dialog-actions{border-top-width:1px;border-top-style:solid}@media screen and (-ms-high-contrast:active){md-dialog{border:1px solid #fff}}@media (max-width:959px){md-dialog.md-dialog-fullscreen{min-height:100%;min-width:100%;border-radius:0}}md-divider{display:block;border-top-width:1px;border-top-style:solid;margin:0}md-divider[md-inset]{margin-left:80px}[dir=rtl] md-divider[md-inset]{margin-left:auto;margin-right:80px}.layout-gt-lg-row>md-divider,.layout-gt-md-row>md-divider,.layout-gt-sm-row>md-divider,.layout-gt-xs-row>md-divider,.layout-lg-row>md-divider,.layout-md-row>md-divider,.layout-row>md-divider,.layout-sm-row>md-divider,.layout-xl-row>md-divider,.layout-xs-row>md-divider{border-top-width:0;border-right-width:1px;border-right-style:solid}md-fab-speed-dial{align-items:center;z-index:20}md-fab-speed-dial.md-fab-bottom-right{top:auto;right:20px;bottom:20px;left:auto;position:absolute}md-fab-speed-dial.md-fab-bottom-left{top:auto;right:auto;bottom:20px;left:20px;position:absolute}md-fab-speed-dial.md-fab-top-right{top:20px;right:20px;bottom:auto;left:auto;position:absolute}md-fab-speed-dial.md-fab-top-left{top:20px;right:auto;bottom:auto;left:20px;position:absolute}md-fab-speed-dial:not(.md-hover-full) .md-fab-action-item,md-fab-speed-dial:not(.md-hover-full) md-fab-trigger,md-fab-speed-dial:not(.md-hover-full).md-is-open{pointer-events:auto}md-fab-speed-dial ._md-css-variables{z-index:20}md-fab-speed-dial.md-is-open .md-fab-action-item{align-items:center}md-fab-speed-dial md-fab-actions{display:flex;height:auto}md-fab-speed-dial.md-down{flex-direction:column}md-fab-speed-dial.md-down md-fab-trigger{order:1}md-fab-speed-dial.md-down md-fab-actions{flex-direction:column;order:2}md-fab-speed-dial.md-up{flex-direction:column}md-fab-speed-dial.md-up md-fab-trigger{order:2}md-fab-speed-dial.md-up md-fab-actions{flex-direction:column-reverse;order:1}md-fab-speed-dial.md-left,md-fab-speed-dial.md-right{flex-direction:row}md-fab-speed-dial.md-left md-fab-trigger{order:2}md-fab-speed-dial.md-left md-fab-actions{flex-direction:row-reverse;order:1}md-fab-speed-dial.md-right md-fab-trigger{order:1}md-fab-speed-dial.md-right md-fab-actions{flex-direction:row;order:2}md-fab-speed-dial.md-fling-remove .md-fab-action-item>*,md-fab-speed-dial.md-scale-remove .md-fab-action-item>*{visibility:hidden}md-fab-speed-dial.md-fling .md-fab-action-item{opacity:1}md-fab-speed-dial.md-fling.md-animations-waiting .md-fab-action-item{opacity:0;transition-duration:0s}md-fab-speed-dial.md-scale .md-fab-action-item{transform:scale(0);transition:all .3s cubic-bezier(.55,0,.55,.2);transition-duration:.14286s}md-fab-toolbar{display:block}md-fab-toolbar.md-fab-bottom-right{top:auto;right:20px;bottom:20px;left:auto;position:absolute}md-fab-toolbar.md-fab-bottom-left{top:auto;right:auto;bottom:20px;left:20px;position:absolute}md-fab-toolbar.md-fab-top-right{top:20px;right:20px;bottom:auto;left:auto;position:absolute}md-fab-toolbar.md-fab-top-left{top:20px;right:auto;bottom:auto;left:20px;position:absolute}md-fab-toolbar .md-fab-toolbar-wrapper{display:block;position:relative;overflow:hidden;height:68px}md-fab-toolbar md-fab-trigger{position:absolute;z-index:20}md-fab-toolbar md-fab-trigger button{overflow:visible!important}md-fab-toolbar md-fab-trigger .md-fab-toolbar-background{display:block;position:absolute;z-index:21;opacity:1;transition:all .3s cubic-bezier(.55,0,.55,.2)}md-icon,md-input-container{display:inline-block;vertical-align:middle}md-fab-toolbar md-fab-trigger md-icon{position:relative;z-index:22;opacity:1;transition:all .2s ease-in}md-fab-toolbar.md-left md-fab-trigger{right:0}[dir=rtl] md-fab-toolbar.md-left md-fab-trigger{right:auto;left:0}md-fab-toolbar.md-left .md-toolbar-tools{flex-direction:row-reverse}md-fab-toolbar.md-left .md-toolbar-tools>.md-button:first-child{margin-right:.6rem;margin-left:-.8rem}[dir=rtl] md-fab-toolbar.md-left .md-toolbar-tools>.md-button:first-child{margin-left:auto;margin-right:-.8rem}md-fab-toolbar.md-left .md-toolbar-tools>.md-button:last-child{margin-right:8px}[dir=rtl] md-fab-toolbar.md-left .md-toolbar-tools>.md-button:last-child{margin-right:auto;margin-left:8px}md-fab-toolbar.md-right md-fab-trigger{left:0}[dir=rtl] md-fab-toolbar.md-right md-fab-trigger{left:auto;right:0}md-fab-toolbar.md-right .md-toolbar-tools{flex-direction:row}md-fab-toolbar md-toolbar{background-color:transparent!important;pointer-events:none;z-index:23}md-fab-toolbar md-toolbar .md-toolbar-tools{padding:0 20px;margin-top:3px}md-fab-toolbar md-toolbar .md-fab-action-item{opacity:0;transform:scale(0);transition:all .3s cubic-bezier(.55,0,.55,.2);transition-duration:.15s}md-fab-toolbar.md-is-open md-fab-trigger>button{box-shadow:none}md-fab-toolbar.md-is-open md-fab-trigger>button md-icon{opacity:0}md-fab-toolbar.md-is-open .md-fab-action-item{opacity:1;transform:scale(1)}md-icon{margin:auto;background-repeat:no-repeat no-repeat;fill:currentColor;height:24px;width:24px;min-height:24px;min-width:24px}md-icon svg{pointer-events:none;display:block}md-icon[md-font-icon]{line-height:24px;width:auto}md-grid-list{box-sizing:border-box;display:block;position:relative}md-grid-list md-grid-tile,md-grid-list md-grid-tile-footer,md-grid-list md-grid-tile-header,md-grid-list md-grid-tile>figure{box-sizing:border-box}md-grid-list md-grid-tile{display:block;position:absolute}md-grid-list md-grid-tile figure{display:flex;align-items:center;justify-content:center;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;padding:0;margin:0}md-grid-list md-grid-tile md-grid-tile-footer,md-grid-list md-grid-tile md-grid-tile-header{display:flex;flex-direction:row;align-items:center;height:48px;color:#fff;background:rgba(0,0,0,.18);overflow:hidden;position:absolute;left:0;right:0}md-grid-list md-grid-tile md-grid-tile-footer h3,md-grid-list md-grid-tile md-grid-tile-footer h4,md-grid-list md-grid-tile md-grid-tile-header h3,md-grid-list md-grid-tile md-grid-tile-header h4{font-weight:400;margin:0 0 0 16px}md-grid-list md-grid-tile md-grid-tile-footer h3,md-grid-list md-grid-tile md-grid-tile-header h3{font-size:14px}md-grid-list md-grid-tile md-grid-tile-footer h4,md-grid-list md-grid-tile md-grid-tile-header h4{font-size:12px}md-grid-list md-grid-tile md-grid-tile-header{top:0}md-grid-list md-grid-tile md-grid-tile-footer{bottom:0}@media screen and (-ms-high-contrast:active){md-grid-tile{border:1px solid #fff}md-grid-tile-footer{border-top:1px solid #fff}md-input-container.md-default-theme>md-icon{fill:#fff}}md-input-container{position:relative;padding:2px;margin:18px 0}md-input-container:after{content:'';display:table;clear:both}md-input-container.md-block{display:block}md-input-container .md-errors-spacer{float:right;min-height:24px;min-width:1px}[dir=rtl] md-input-container .md-errors-spacer{float:left}md-input-container>md-icon{position:absolute;top:8px;left:2px;right:auto}[dir=rtl] md-input-container>md-icon{left:auto;right:2px}md-input-container input[type=search],md-input-container input[type=text],md-input-container input[type=password],md-input-container input[type=datetime],md-input-container input[type=datetime-local],md-input-container input[type=date],md-input-container input[type=month],md-input-container input[type=time],md-input-container input[type=week],md-input-container input[type=number],md-input-container input[type=email],md-input-container input[type=url],md-input-container input[type=tel],md-input-container input[type=color],md-input-container textarea{-moz-appearance:none;-webkit-appearance:none}md-input-container input[type=datetime-local],md-input-container input[type=date],md-input-container input[type=month],md-input-container input[type=time],md-input-container input[type=week]{min-height:26px}md-input-container textarea{resize:none;overflow:hidden}md-input-container textarea.md-input{min-height:26px;-ms-flex-preferred-size:auto}md-input-container textarea[md-no-autogrow]{height:auto;overflow:auto}md-input-container label:not(.md-container-ignore){position:absolute;bottom:100%;left:0;right:auto}[dir=rtl] md-input-container label:not(.md-container-ignore){left:auto;right:0}md-input-container label:not(.md-container-ignore).md-required:after{content:' *';font-size:13px;vertical-align:top}md-input-container .md-placeholder,md-input-container label:not(.md-no-float):not(.md-container-ignore){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;order:1;pointer-events:none;-webkit-font-smoothing:antialiased;padding-left:3px;padding-right:0;z-index:1;transform:translate3d(0,28px,0) scale(1);transition:transform .4s cubic-bezier(.25,.8,.25,1);max-width:100%;transform-origin:left top}[dir=rtl] md-input-container .md-placeholder,[dir=rtl] md-input-container label:not(.md-no-float):not(.md-container-ignore){padding-left:0;padding-right:3px;transform-origin:right top}md-input-container .md-placeholder{position:absolute;top:0;opacity:0;transition-property:opacity,transform;transform:translate3d(0,30px,0)}md-input-container.md-input-focused .md-placeholder{opacity:1;transform:translate3d(0,24px,0)}md-input-container.md-input-has-value .md-placeholder{transition:none;opacity:0}md-input-container:not(.md-input-has-value) input:not(:focus),md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-ampm-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-day-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-hour-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-millisecond-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-minute-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-month-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-second-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-text,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-week-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-year-field{color:transparent}md-input-container .md-input{order:2;display:block;margin-top:0;background:0 0;border-width:0 0 1px;line-height:26px;height:30px;-ms-flex-preferred-size:26px;border-radius:0;border-style:solid;width:100%;box-sizing:border-box;float:left;padding:2px 2px 1px;padding:2px 2px 1px}[dir=rtl] md-input-container .md-input{float:right}md-input-container .md-input:invalid{box-shadow:none}md-input-container .md-input.md-no-flex{flex:none!important}md-input-container .md-char-counter{text-align:right;padding-right:2px;padding-left:0}[dir=rtl] md-input-container .md-char-counter{text-align:left;padding-right:0;padding-left:2px}md-input-container .md-input-messages-animation{position:relative;order:4;overflow:hidden;clear:left}[dir=rtl] md-input-container .md-input-messages-animation{clear:right}md-input-container .md-char-counter,md-input-container .md-input-message-animation{font-size:12px;line-height:14px;overflow:hidden;transition:all .3s cubic-bezier(.55,0,.55,.2);opacity:1;margin-top:0;padding-top:5px}md-input-container .md-char-counter:not(.md-char-counter),md-input-container .md-input-message-animation:not(.md-char-counter){padding-right:5px;padding-left:0}[dir=rtl] md-input-container .md-char-counter:not(.md-char-counter),[dir=rtl] md-input-container .md-input-message-animation:not(.md-char-counter){padding-right:0;padding-left:5px}md-input-container .md-input-message-animation.ng-enter-prepare,md-input-container .md-input-message-animation.ng-enter:not(.ng-enter-active),md-input-container:not(.md-input-invalid) .md-auto-hide .md-input-message-animation{opacity:0;margin-top:-100px}md-input-container.md-input-focused label:not(.md-no-float),md-input-container.md-input-has-placeholder label:not(.md-no-float),md-input-container.md-input-has-value label:not(.md-no-float){transform:translate3d(0,6px,0) scale(.75);transition:transform cubic-bezier(.25,.8,.25,1) .4s,width cubic-bezier(.25,.8,.25,1) .4s}md-input-container.md-input-has-value label{transition:none}md-input-container .md-input.ng-invalid.ng-dirty,md-input-container.md-input-focused .md-input,md-input-container.md-input-resized .md-input{padding-bottom:0;border-width:0 0 2px}[disabled] md-input-container .md-input,md-input-container .md-input[disabled]{background-position:bottom -1px left 0;background-size:4px 1px;background-repeat:repeat-x}md-input-container.md-icon-float{transition:margin-top .4s cubic-bezier(.25,.8,.25,1)}md-input-container.md-icon-float>label{pointer-events:none;position:absolute}md-input-container.md-icon-float>md-icon{top:8px;left:2px;right:auto}[dir=rtl] md-input-container.md-icon-float>md-icon{left:auto;right:2px}md-input-container.md-icon-left>label .md-placeholder,md-input-container.md-icon-left>label:not(.md-no-float):not(.md-container-ignore),md-input-container.md-icon-right>label .md-placeholder,md-input-container.md-icon-right>label:not(.md-no-float):not(.md-container-ignore){width:calc(100% - 36px - 18px)}md-input-container.md-icon-left{padding-left:36px;padding-right:0}[dir=rtl] md-input-container.md-icon-left,md-input-container.md-icon-right{padding-left:0;padding-right:36px}md-input-container.md-icon-left>label{left:36px;right:auto}[dir=rtl] md-input-container.md-icon-left>label{left:auto;right:36px}[dir=rtl] md-input-container.md-icon-right{padding-left:36px;padding-right:0}md-input-container.md-icon-right>md-icon:last-of-type{margin:0;right:2px;left:auto}[dir=rtl] md-input-container.md-icon-right>md-icon:last-of-type{right:auto;left:2px}md-input-container.md-icon-left.md-icon-right{padding-left:36px;padding-right:36px}md-input-container.md-icon-left.md-icon-right>label .md-placeholder,md-input-container.md-icon-left.md-icon-right>label:not(.md-no-float):not(.md-container-ignore){width:calc(100% - (36px * 2))}.md-resize-wrapper{position:relative}.md-resize-wrapper:after{content:'';display:table;clear:both}.md-resize-handle{position:absolute;bottom:-5px;left:0;height:10px;background:0 0;width:100%;cursor:ns-resize}md-list-item,md-list-item._md-button-wrap{position:relative}md-list{display:block;padding:8px 0}md-list .md-subheader{font-size:14px;font-weight:500;letter-spacing:.010em;line-height:1.2em}md-list.md-dense md-list-item,md-list.md-dense md-list-item .md-list-item-inner{min-height:48px}md-list.md-dense md-list-item .md-list-item-inner::before,md-list.md-dense md-list-item::before{content:'';min-height:48px;visibility:hidden;display:inline-block}md-list.md-dense md-list-item .md-list-item-inner md-icon:first-child,md-list.md-dense md-list-item md-icon:first-child{width:20px;height:20px}md-list.md-dense md-list-item .md-list-item-inner>md-icon:first-child:not(.md-avatar-icon),md-list.md-dense md-list-item>md-icon:first-child:not(.md-avatar-icon){margin-right:36px}[dir=rtl] md-list.md-dense md-list-item .md-list-item-inner>md-icon:first-child:not(.md-avatar-icon),[dir=rtl] md-list.md-dense md-list-item>md-icon:first-child:not(.md-avatar-icon){margin-right:auto;margin-left:36px}md-list.md-dense md-list-item .md-avatar,md-list.md-dense md-list-item .md-avatar-icon,md-list.md-dense md-list-item .md-list-item-inner .md-avatar,md-list.md-dense md-list-item .md-list-item-inner .md-avatar-icon{margin-right:20px}[dir=rtl] md-list.md-dense md-list-item .md-avatar,[dir=rtl] md-list.md-dense md-list-item .md-avatar-icon,[dir=rtl] md-list.md-dense md-list-item .md-list-item-inner .md-avatar,[dir=rtl] md-list.md-dense md-list-item .md-list-item-inner .md-avatar-icon{margin-right:auto;margin-left:20px}md-list.md-dense md-list-item .md-avatar,md-list.md-dense md-list-item .md-list-item-inner .md-avatar{flex:none;width:36px;height:36px}md-list.md-dense md-list-item.md-2-line .md-list-item-text.md-offset,md-list.md-dense md-list-item.md-2-line>.md-no-style .md-list-item-text.md-offset,md-list.md-dense md-list-item.md-3-line .md-list-item-text.md-offset,md-list.md-dense md-list-item.md-3-line>.md-no-style .md-list-item-text.md-offset{margin-left:56px}[dir=rtl] md-list.md-dense md-list-item.md-2-line .md-list-item-text.md-offset,[dir=rtl] md-list.md-dense md-list-item.md-2-line>.md-no-style .md-list-item-text.md-offset,[dir=rtl] md-list.md-dense md-list-item.md-3-line .md-list-item-text.md-offset,[dir=rtl] md-list.md-dense md-list-item.md-3-line>.md-no-style .md-list-item-text.md-offset{margin-left:auto;margin-right:56px}md-list.md-dense md-list-item.md-2-line .md-list-item-text h3,md-list.md-dense md-list-item.md-2-line .md-list-item-text h4,md-list.md-dense md-list-item.md-2-line .md-list-item-text p,md-list.md-dense md-list-item.md-2-line>.md-no-style .md-list-item-text h3,md-list.md-dense md-list-item.md-2-line>.md-no-style .md-list-item-text h4,md-list.md-dense md-list-item.md-2-line>.md-no-style .md-list-item-text p,md-list.md-dense md-list-item.md-3-line .md-list-item-text h3,md-list.md-dense md-list-item.md-3-line .md-list-item-text h4,md-list.md-dense md-list-item.md-3-line .md-list-item-text p,md-list.md-dense md-list-item.md-3-line>.md-no-style .md-list-item-text h3,md-list.md-dense md-list-item.md-3-line>.md-no-style .md-list-item-text h4,md-list.md-dense md-list-item.md-3-line>.md-no-style .md-list-item-text p{line-height:1.05;font-size:12px}md-list.md-dense md-list-item.md-2-line .md-list-item-text h3,md-list.md-dense md-list-item.md-2-line>.md-no-style .md-list-item-text h3,md-list.md-dense md-list-item.md-3-line .md-list-item-text h3,md-list.md-dense md-list-item.md-3-line>.md-no-style .md-list-item-text h3{font-size:13px}md-list.md-dense md-list-item.md-2-line,md-list.md-dense md-list-item.md-2-line>.md-no-style{min-height:60px}md-list.md-dense md-list-item.md-2-line::before,md-list.md-dense md-list-item.md-2-line>.md-no-style::before{content:'';min-height:60px;visibility:hidden;display:inline-block}md-list.md-dense md-list-item.md-2-line .md-avatar-icon,md-list.md-dense md-list-item.md-2-line>.md-avatar,md-list.md-dense md-list-item.md-2-line>.md-no-style .md-avatar-icon,md-list.md-dense md-list-item.md-2-line>.md-no-style>.md-avatar{margin-top:12px}md-list.md-dense md-list-item.md-3-line,md-list.md-dense md-list-item.md-3-line>.md-no-style{min-height:76px}md-list.md-dense md-list-item.md-3-line::before,md-list.md-dense md-list-item.md-3-line>.md-no-style::before{content:'';min-height:76px;visibility:hidden;display:inline-block}md-list.md-dense md-list-item.md-3-line>.md-avatar,md-list.md-dense md-list-item.md-3-line>.md-no-style>.md-avatar,md-list.md-dense md-list-item.md-3-line>.md-no-style>md-icon:first-child,md-list.md-dense md-list-item.md-3-line>md-icon:first-child{margin-top:16px}md-list-item.md-proxy-focus.md-focused .md-no-style{transition:background-color .15s linear}md-list-item._md-button-wrap>div.md-button:first-child{display:flex;align-items:center;justify-content:flex-start;padding:0 16px;margin:0;font-weight:400;text-align:left;border:none}[dir=rtl] md-list-item._md-button-wrap>div.md-button:first-child{text-align:right}md-list-item._md-button-wrap>div.md-button:first-child>.md-button:first-child{position:absolute;top:0;left:0;height:100%;margin:0;padding:0}md-list-item._md-button-wrap>div.md-button:first-child .md-list-item-inner{width:100%;min-height:inherit}md-list-item .md-no-style,md-list-item.md-no-proxy{position:relative;padding:0 16px;flex:1 1 auto}md-list-item .md-no-style.md-button,md-list-item.md-no-proxy.md-button{font-size:inherit;height:inherit;text-align:left;text-transform:none;width:100%;white-space:normal;flex-direction:inherit;align-items:inherit;border-radius:0;margin:0}[dir=rtl] md-list-item .md-no-style.md-button,[dir=rtl] md-list-item.md-no-proxy.md-button{text-align:right}md-list-item .md-no-style.md-button>.md-ripple-container,md-list-item.md-no-proxy.md-button>.md-ripple-container{border-radius:0}md-list-item.md-clickable:hover{cursor:pointer}md-list-item md-divider{position:absolute;bottom:0;left:0;width:100%}[dir=rtl] md-list-item md-divider{left:auto;right:0}md-list-item md-divider[md-inset]{left:72px;width:calc(100% - 72px);margin:0!important}[dir=rtl] md-list-item md-divider[md-inset]{left:auto;right:72px}md-list-item,md-list-item .md-list-item-inner{display:flex;justify-content:flex-start;align-items:center;min-height:48px;height:auto}md-list-item .md-list-item-inner::before,md-list-item::before{content:'';min-height:48px;visibility:hidden;display:inline-block}md-list-item .md-list-item-inner>div.md-primary>md-icon:not(.md-avatar-icon),md-list-item .md-list-item-inner>div.md-secondary>md-icon:not(.md-avatar-icon),md-list-item .md-list-item-inner>md-icon.md-secondary:not(.md-avatar-icon),md-list-item .md-list-item-inner>md-icon:first-child:not(.md-avatar-icon),md-list-item>div.md-primary>md-icon:not(.md-avatar-icon),md-list-item>div.md-secondary>md-icon:not(.md-avatar-icon),md-list-item>md-icon.md-secondary:not(.md-avatar-icon),md-list-item>md-icon:first-child:not(.md-avatar-icon){width:24px;margin-top:16px;margin-bottom:12px;box-sizing:content-box}md-list-item .md-list-item-inner md-checkbox.md-secondary,md-list-item .md-list-item-inner>div.md-primary>md-checkbox,md-list-item .md-list-item-inner>div.md-secondary>md-checkbox,md-list-item .md-list-item-inner>md-checkbox,md-list-item md-checkbox.md-secondary,md-list-item>div.md-primary>md-checkbox,md-list-item>div.md-secondary>md-checkbox,md-list-item>md-checkbox{align-self:center}md-list-item .md-list-item-inner md-checkbox.md-secondary .md-label,md-list-item .md-list-item-inner>div.md-primary>md-checkbox .md-label,md-list-item .md-list-item-inner>div.md-secondary>md-checkbox .md-label,md-list-item .md-list-item-inner>md-checkbox .md-label,md-list-item md-checkbox.md-secondary .md-label,md-list-item>div.md-primary>md-checkbox .md-label,md-list-item>div.md-secondary>md-checkbox .md-label,md-list-item>md-checkbox .md-label{display:none}md-list-item .md-list-item-inner>md-icon:first-child:not(.md-avatar-icon),md-list-item>md-icon:first-child:not(.md-avatar-icon){margin-right:32px}[dir=rtl] md-list-item .md-list-item-inner>md-icon:first-child:not(.md-avatar-icon),[dir=rtl] md-list-item>md-icon:first-child:not(.md-avatar-icon){margin-right:auto;margin-left:32px}md-list-item .md-avatar,md-list-item .md-avatar-icon,md-list-item .md-list-item-inner .md-avatar,md-list-item .md-list-item-inner .md-avatar-icon{margin-top:8px;margin-bottom:8px;margin-right:16px;border-radius:50%;box-sizing:content-box}[dir=rtl] md-list-item .md-avatar,[dir=rtl] md-list-item .md-avatar-icon,[dir=rtl] md-list-item .md-list-item-inner .md-avatar,[dir=rtl] md-list-item .md-list-item-inner .md-avatar-icon{margin-right:auto;margin-left:16px}md-list-item .md-avatar,md-list-item .md-list-item-inner .md-avatar{flex:none;width:40px;height:40px}md-list-item .md-avatar-icon,md-list-item .md-list-item-inner .md-avatar-icon{padding:8px}md-list-item .md-avatar-icon svg,md-list-item .md-list-item-inner .md-avatar-icon svg{width:24px;height:24px}md-list-item .md-list-item-inner>md-checkbox,md-list-item>md-checkbox{width:24px;margin-left:3px;margin-right:29px;margin-top:16px}[dir=rtl] md-list-item .md-list-item-inner>md-checkbox,[dir=rtl] md-list-item>md-checkbox{margin-left:29px;margin-right:3px}md-list-item .md-list-item-inner .md-secondary-container,md-list-item .md-secondary-container{display:flex;align-items:center;flex-shrink:0;margin:auto 0 auto auto}[dir=rtl] md-list-item .md-list-item-inner .md-secondary-container,[dir=rtl] md-list-item .md-secondary-container{margin-right:auto;margin-left:0}md-list-item .md-list-item-inner .md-secondary-container .md-button:last-of-type,md-list-item .md-list-item-inner .md-secondary-container .md-icon-button:last-of-type,md-list-item .md-secondary-container .md-button:last-of-type,md-list-item .md-secondary-container .md-icon-button:last-of-type{margin-right:0}[dir=rtl] md-list-item .md-list-item-inner .md-secondary-container .md-button:last-of-type,[dir=rtl] md-list-item .md-list-item-inner .md-secondary-container .md-icon-button:last-of-type,[dir=rtl] md-list-item .md-secondary-container .md-button:last-of-type,[dir=rtl] md-list-item .md-secondary-container .md-icon-button:last-of-type{margin-right:auto;margin-left:0}md-list-item .md-list-item-inner .md-secondary-container md-checkbox,md-list-item .md-secondary-container md-checkbox{margin-top:0;margin-bottom:0}md-list-item .md-list-item-inner .md-secondary-container md-checkbox:last-child,md-list-item .md-secondary-container md-checkbox:last-child{width:24px;margin-right:0}[dir=rtl] md-list-item .md-list-item-inner .md-secondary-container md-checkbox:last-child,[dir=rtl] md-list-item .md-secondary-container md-checkbox:last-child{margin-right:auto;margin-left:0}md-list-item .md-list-item-inner .md-secondary-container md-switch,md-list-item .md-secondary-container md-switch{margin-top:0;margin-bottom:0;margin-right:-6px}[dir=rtl] md-list-item .md-list-item-inner .md-secondary-container md-switch,[dir=rtl] md-list-item .md-secondary-container md-switch{margin-right:auto;margin-left:-6px}md-list-item .md-list-item-inner>.md-list-item-inner>p,md-list-item .md-list-item-inner>p,md-list-item>.md-list-item-inner>p,md-list-item>p{flex:1 1 auto;margin:0}md-list-item.md-2-line,md-list-item.md-2-line>.md-no-style,md-list-item.md-3-line,md-list-item.md-3-line>.md-no-style{align-items:flex-start;justify-content:center}md-list-item.md-2-line.md-long-text,md-list-item.md-2-line>.md-no-style.md-long-text,md-list-item.md-3-line.md-long-text,md-list-item.md-3-line>.md-no-style.md-long-text{margin-top:8px;margin-bottom:8px}md-list-item.md-2-line .md-list-item-text,md-list-item.md-2-line>.md-no-style .md-list-item-text,md-list-item.md-3-line .md-list-item-text,md-list-item.md-3-line>.md-no-style .md-list-item-text{flex:1 1 auto;margin:auto;text-overflow:ellipsis;overflow:hidden}md-list-item.md-2-line .md-list-item-text.md-offset,md-list-item.md-2-line>.md-no-style .md-list-item-text.md-offset,md-list-item.md-3-line .md-list-item-text.md-offset,md-list-item.md-3-line>.md-no-style .md-list-item-text.md-offset{margin-left:56px}[dir=rtl] md-list-item.md-2-line .md-list-item-text.md-offset,[dir=rtl] md-list-item.md-2-line>.md-no-style .md-list-item-text.md-offset,[dir=rtl] md-list-item.md-3-line .md-list-item-text.md-offset,[dir=rtl] md-list-item.md-3-line>.md-no-style .md-list-item-text.md-offset{margin-left:auto;margin-right:56px}md-list-item.md-2-line .md-list-item-text h3,md-list-item.md-2-line>.md-no-style .md-list-item-text h3,md-list-item.md-3-line .md-list-item-text h3,md-list-item.md-3-line>.md-no-style .md-list-item-text h3{font-size:16px;font-weight:400;letter-spacing:.010em;margin:0;line-height:1.2em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}md-list-item.md-2-line .md-list-item-text h4,md-list-item.md-2-line>.md-no-style .md-list-item-text h4,md-list-item.md-3-line .md-list-item-text h4,md-list-item.md-3-line>.md-no-style .md-list-item-text h4{font-size:14px;letter-spacing:.010em;margin:3px 0 1px;font-weight:400;line-height:1.2em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}md-list-item.md-2-line .md-list-item-text p,md-list-item.md-2-line>.md-no-style .md-list-item-text p,md-list-item.md-3-line .md-list-item-text p,md-list-item.md-3-line>.md-no-style .md-list-item-text p{font-size:14px;font-weight:500;letter-spacing:.010em;margin:0;line-height:1.6em}md-list-item.md-2-line,md-list-item.md-2-line>.md-no-style{height:auto;min-height:72px}md-list-item.md-2-line::before,md-list-item.md-2-line>.md-no-style::before{content:'';min-height:72px;visibility:hidden;display:inline-block}md-list-item.md-2-line .md-avatar-icon,md-list-item.md-2-line>.md-avatar,md-list-item.md-2-line>.md-no-style .md-avatar-icon,md-list-item.md-2-line>.md-no-style>.md-avatar{margin-top:12px}md-list-item.md-2-line>.md-no-style>md-icon:first-child,md-list-item.md-2-line>md-icon:first-child{align-self:flex-start}md-list-item.md-2-line .md-list-item-text,md-list-item.md-2-line>.md-no-style .md-list-item-text{flex:1 1 auto}md-list-item.md-3-line,md-list-item.md-3-line>.md-no-style{height:auto;min-height:88px}md-list-item.md-3-line::before,md-list-item.md-3-line>.md-no-style::before{content:'';min-height:88px;visibility:hidden;display:inline-block}md-list-item.md-3-line>.md-avatar,md-list-item.md-3-line>.md-no-style>.md-avatar,md-list-item.md-3-line>.md-no-style>md-icon:first-child,md-list-item.md-3-line>md-icon:first-child{margin-top:16px}.md-open-menu-container{position:fixed;left:0;top:0;z-index:0;opacity:0;border-radius:2px;max-height:calc(100vh - 10px);overflow:auto}md-menu-bar,md-menu-bar .md-menu,md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent{position:relative}.md-open-menu-container md-menu-divider{margin-top:4px;margin-bottom:4px;height:1px;min-height:1px;max-height:1px;width:100%}.md-open-menu-container md-menu-content>*{opacity:0}.md-open-menu-container:not(.md-clickable){pointer-events:none}.md-open-menu-container.md-active{opacity:1;transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:.2s}.md-open-menu-container.md-active>md-menu-content>*{opacity:1;transition:all .3s cubic-bezier(.55,0,.55,.2);transition-duration:.2s;transition-delay:.1s}.md-open-menu-container.md-leave{opacity:0;transition:all .3s cubic-bezier(.55,0,.55,.2);transition-duration:250ms}md-menu-content{display:flex;flex-direction:column;padding:8px 0;max-height:304px;overflow-y:auto}md-menu-item>*,md-menu-item>.md-button{margin:auto 0;padding-left:16px;padding-right:16px;width:100%}md-menu-content.md-dense{max-height:208px}md-menu-content.md-dense md-menu-item{height:32px;min-height:0}md-menu-item{display:flex;flex-direction:row;min-height:48px;height:48px;align-content:center;justify-content:flex-start}md-menu-item>a.md-button{padding-top:5px}md-menu-item>.md-button{text-align:left;display:inline-block;border-radius:0;font-size:15px;text-transform:none;font-weight:400;height:100%}md-menu-item>.md-button::-moz-focus-inner{padding:0;border:0}[dir=rtl] md-menu-item>.md-button{text-align:right}md-menu-item>.md-button md-icon{margin:auto 16px auto 0}[dir=rtl] md-menu-item>.md-button md-icon{margin:auto 0 auto 16px}md-menu-item>.md-button p{display:inline-block;margin:auto}md-menu-item>.md-button span{margin-top:auto;margin-bottom:auto}md-menu-item>.md-button .md-ripple-container{border-radius:inherit}md-toolbar .md-menu{height:auto;margin:auto;padding:0}@media (max-width:959px){md-menu-content{min-width:112px}md-menu-content[width="3"]{min-width:168px}md-menu-content[width="4"]{min-width:224px}md-menu-content[width="5"]{min-width:280px}md-menu-content[width="6"]{min-width:336px}md-menu-content[width="7"]{min-width:392px}}@media (min-width:960px){md-menu-content{min-width:96px}md-menu-content[width="3"]{min-width:192px}md-menu-content[width="4"]{min-width:256px}md-menu-content[width="5"]{min-width:320px}md-menu-content[width="6"]{min-width:384px}md-menu-content[width="7"]{min-width:448px}}md-toolbar.md-menu-toolbar h2.md-toolbar-tools{line-height:1rem;height:auto;padding:28px 28px 12px}md-toolbar.md-has-open-menu{position:relative;z-index:0}md-menu-bar{padding:0 20px;display:block;z-index:2}md-menu-bar .md-menu{display:inline-block;padding:0}md-menu-bar button{font-size:14px;padding:0 10px;margin:0;border:0;background-color:transparent;height:40px}md-input-container:not(.md-input-has-value) md-select.ng-required:not(.md-no-asterisk) .md-select-value span:first-child:after,md-input-container:not(.md-input-has-value) md-select[required]:not(.md-no-asterisk) .md-select-value span:first-child:after,md-select.ng-required.ng-invalid:not(.md-no-asterisk) .md-select-value span:first-child:after,md-select[required].ng-invalid:not(.md-no-asterisk) .md-select-value span:first-child:after{font-size:13px;content:' *';vertical-align:top}md-menu-bar md-backdrop.md-menu-backdrop{z-index:-2}md-menu-content.md-menu-bar-menu.md-dense{max-height:none;padding:16px 0}md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent>md-icon{position:absolute;padding:0;width:24px;top:6px;left:24px}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent>md-icon{left:auto;right:24px}md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent .md-menu>.md-button,md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent>.md-button{padding:0 32px 0 64px}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent .md-menu>.md-button,[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent>.md-button{padding:0 64px 0 32px}md-menu-content.md-menu-bar-menu.md-dense .md-button{min-height:0;height:32px}md-menu-content.md-menu-bar-menu.md-dense .md-button span{float:left}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense .md-button span{float:right}md-menu-content.md-menu-bar-menu.md-dense .md-button span.md-alt-text{float:right;margin:0 8px}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense .md-button span.md-alt-text{float:left}md-menu-content.md-menu-bar-menu.md-dense md-menu-divider{margin:8px 0}md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button,md-menu-content.md-menu-bar-menu.md-dense md-menu-item>.md-button{text-align:left}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button,[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense md-menu-item>.md-button{text-align:right}md-menu-content.md-menu-bar-menu.md-dense .md-menu{padding:0}md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button{position:relative;margin:0;width:100%;text-transform:none;font-weight:400;border-radius:0;padding-left:16px}.md-tab,md-optgroup label,md-toast .md-action{text-transform:uppercase}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button{padding-left:0;padding-right:16px}md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button:after{display:block;content:'\25BC';position:absolute;top:0;speak:none;transform:rotate(270deg) scaleY(.45) scaleX(.9);right:28px}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button:after{transform:rotate(90deg) scaleY(.45) scaleX(.9);right:auto;left:28px}.md-nav-bar{border-style:solid;border-width:0 0 1px;height:48px;position:relative}._md-nav-bar-list{margin:0;padding:0;box-sizing:border-box;display:flex;flex-direction:row}.md-nav-item:first-of-type{margin-left:8px}.md-button._md-nav-button{line-height:24px;margin:0 4px;padding:12px 16px;transition:background-color .35s cubic-bezier(.35,0,.25,1)}.md-button._md-nav-button:hover{background-color:inherit}md-nav-ink-bar{bottom:0;height:2px;left:auto;position:absolute;right:auto;background-color:#000}md-nav-ink-bar._md-left{transition:left 125ms cubic-bezier(.35,0,.25,1),right .25s cubic-bezier(.35,0,.25,1)}md-nav-ink-bar._md-right{transition:left .25s cubic-bezier(.35,0,.25,1),right 125ms cubic-bezier(.35,0,.25,1)}md-nav-ink-bar.ng-animate{transition:none}md-nav-extra-content{min-height:48px;padding-right:12px}@keyframes indeterminate-rotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}md-progress-circular{position:relative;display:block}md-progress-circular._md-progress-circular-disabled{visibility:hidden}md-progress-circular.md-mode-indeterminate svg{animation:indeterminate-rotate 1.568s linear infinite}md-progress-circular svg{position:absolute;overflow:visible;top:0;left:0}md-progress-linear,md-progress-linear .md-container{display:block;position:relative;height:5px;width:100%}md-progress-linear{padding-top:0!important;margin-bottom:0!important}md-radio-button,md-radio-group.layout-column md-radio-button,md-radio-group.layout-gt-lg-column md-radio-button,md-radio-group.layout-gt-md-column md-radio-button,md-radio-group.layout-gt-sm-column md-radio-button,md-radio-group.layout-gt-xs-column md-radio-button,md-radio-group.layout-lg-column md-radio-button,md-radio-group.layout-md-column md-radio-button,md-radio-group.layout-sm-column md-radio-button,md-radio-group.layout-xl-column md-radio-button,md-radio-group.layout-xs-column md-radio-button{margin-bottom:16px}md-progress-linear._md-progress-linear-disabled{visibility:hidden}md-progress-linear .md-container{overflow:hidden;transform:translate(0,0) scale(1,1)}md-progress-linear .md-container.md-mode-determinate .md-bar1,md-progress-linear .md-container.md-mode-query .md-bar1{display:none}md-progress-linear .md-container .md-bar{position:absolute;left:0;top:0;bottom:0;width:100%;height:5px}md-progress-linear .md-container .md-dashed:before{content:"";display:none;position:absolute;margin-top:0;height:5px;width:100%;background-color:transparent;background-size:10px 10px!important;background-position:0 -23px}md-progress-linear .md-container .md-bar1,md-progress-linear .md-container .md-bar2{transition:transform .2s linear}md-progress-linear .md-container.md-mode-query .md-bar2{transition:all .2s linear;animation:query .8s infinite cubic-bezier(.39,.575,.565,1)}md-progress-linear .md-container.md-mode-indeterminate .md-bar1{animation:md-progress-linear-indeterminate-scale-1 4s infinite,md-progress-linear-indeterminate-1 4s infinite}md-progress-linear .md-container.md-mode-indeterminate .md-bar2{animation:md-progress-linear-indeterminate-scale-2 4s infinite,md-progress-linear-indeterminate-2 4s infinite}md-progress-linear .md-container.ng-hide ._md-progress-linear-disabled md-progress-linear .md-container{animation:none}md-progress-linear .md-container.ng-hide ._md-progress-linear-disabled md-progress-linear .md-container .md-bar1,md-progress-linear .md-container.ng-hide ._md-progress-linear-disabled md-progress-linear .md-container .md-bar2{animation-name:none}md-progress-linear .md-container.md-mode-buffer{background-color:transparent!important;transition:all .2s linear}md-progress-linear .md-container.md-mode-buffer .md-dashed:before{display:block;animation:buffer 3s infinite linear}@keyframes query{0%{opacity:1;transform:translateX(35%) scale(.3,1)}100%{opacity:0;transform:translateX(-50%) scale(0,1)}}@keyframes buffer{0%{opacity:1;background-position:0 -23px}50%{opacity:0}100%{opacity:1;background-position:-200px -23px}}@keyframes md-progress-linear-indeterminate-scale-1{0%{transform:scaleX(.1);animation-timing-function:linear}36.6%{transform:scaleX(.1);animation-timing-function:cubic-bezier(.33473,.12482,.78584,1)}69.15%{transform:scaleX(.83);animation-timing-function:cubic-bezier(.22573,0,.23365,1.37098)}100%{transform:scaleX(.1)}}@keyframes md-progress-linear-indeterminate-1{0%{left:-105.16667%;animation-timing-function:linear}20%{left:-105.16667%;animation-timing-function:cubic-bezier(.5,0,.70173,.49582)}69.15%{left:21.5%;animation-timing-function:cubic-bezier(.30244,.38135,.55,.95635)}100%{left:95.44444%}}@keyframes md-progress-linear-indeterminate-scale-2{0%{transform:scaleX(.1);animation-timing-function:cubic-bezier(.20503,.05705,.57661,.45397)}19.15%{transform:scaleX(.57);animation-timing-function:cubic-bezier(.15231,.19643,.64837,1.00432)}44.15%{transform:scaleX(.91);animation-timing-function:cubic-bezier(.25776,-.00316,.21176,1.38179)}100%{transform:scaleX(.1)}}@keyframes md-progress-linear-indeterminate-2{0%{left:-54.88889%;animation-timing-function:cubic-bezier(.15,0,.51506,.40968)}25%{left:-17.25%;animation-timing-function:cubic-bezier(.31033,.28406,.8,.73372)}48.35%{left:29.5%;animation-timing-function:cubic-bezier(.4,.62703,.6,.90203)}100%{left:117.38889%}}md-radio-button{box-sizing:border-box;display:block;white-space:nowrap;cursor:pointer;position:relative}md-radio-button[disabled],md-radio-button[disabled] .md-container{cursor:default}md-radio-button .md-container{position:absolute;top:50%;transform:translateY(-50%);box-sizing:border-box;display:inline-block;width:20px;height:20px;cursor:pointer;left:0;right:auto}md-radio-group[disabled] md-radio-button,md-radio-group[disabled] md-radio-button .md-container,md-select[disabled]:hover{cursor:default}[dir=rtl] md-radio-button .md-container{left:auto;right:0}md-radio-button .md-container .md-ripple-container{position:absolute;display:block;width:auto;height:auto;left:-15px;top:-15px;right:-15px;bottom:-15px}md-radio-button .md-container:before{box-sizing:border-box;background-color:transparent;border-radius:50%;content:'';position:absolute;display:block;height:auto;left:0;top:0;right:0;bottom:0;transition:all .5s;width:auto}md-radio-button.md-align-top-left>div.md-container{top:12px}md-radio-button .md-off,md-radio-button .md-on{position:absolute;top:0;left:0;width:20px;height:20px;border-radius:50%;box-sizing:border-box}md-radio-button .md-off{border-style:solid;border-width:2px;transition:border-color ease .28s}md-radio-button .md-on{transition:transform ease .28s;transform:scale(0)}md-radio-button.md-checked .md-on{transform:scale(.5)}md-radio-button .md-label{box-sizing:border-box;position:relative;display:inline-block;margin-left:30px;margin-right:0;vertical-align:middle;white-space:normal;pointer-events:none;width:auto}[dir=rtl] md-radio-button .md-label{margin-left:0;margin-right:30px}md-radio-group.layout-gt-lg-row md-radio-button,md-radio-group.layout-gt-md-row md-radio-button,md-radio-group.layout-gt-sm-row md-radio-button,md-radio-group.layout-gt-xs-row md-radio-button,md-radio-group.layout-lg-row md-radio-button,md-radio-group.layout-md-row md-radio-button,md-radio-group.layout-row md-radio-button,md-radio-group.layout-sm-row md-radio-button,md-radio-group.layout-xl-row md-radio-button,md-radio-group.layout-xs-row md-radio-button{margin:0 16px 0 0}[dir=rtl] md-radio-group.layout-gt-lg-row md-radio-button,[dir=rtl] md-radio-group.layout-gt-md-row md-radio-button,[dir=rtl] md-radio-group.layout-gt-sm-row md-radio-button,[dir=rtl] md-radio-group.layout-gt-xs-row md-radio-button,[dir=rtl] md-radio-group.layout-lg-row md-radio-button,[dir=rtl] md-radio-group.layout-md-row md-radio-button,[dir=rtl] md-radio-group.layout-row md-radio-button,[dir=rtl] md-radio-group.layout-sm-row md-radio-button,[dir=rtl] md-radio-group.layout-xl-row md-radio-button,[dir=rtl] md-radio-group.layout-xs-row md-radio-button{margin-left:16px;margin-right:0}md-radio-group.layout-gt-lg-row md-radio-button:last-of-type,md-radio-group.layout-gt-md-row md-radio-button:last-of-type,md-radio-group.layout-gt-sm-row md-radio-button:last-of-type,md-radio-group.layout-gt-xs-row md-radio-button:last-of-type,md-radio-group.layout-lg-row md-radio-button:last-of-type,md-radio-group.layout-md-row md-radio-button:last-of-type,md-radio-group.layout-row md-radio-button:last-of-type,md-radio-group.layout-sm-row md-radio-button:last-of-type,md-radio-group.layout-xl-row md-radio-button:last-of-type,md-radio-group.layout-xs-row md-radio-button:last-of-type{margin-left:0;margin-right:0}md-radio-group.md-focused .md-checked .md-container:before{left:-8px;top:-8px;right:-8px;bottom:-8px}md-option,md-select:not([disabled]):hover{cursor:pointer}.md-inline-form md-radio-group{margin:18px 0 19px}.md-inline-form md-radio-group md-radio-button{display:inline-block;height:30px;padding:2px;box-sizing:border-box;margin-top:0;margin-bottom:0}md-input-container.md-input-invalid md-select .md-select-value,md-select:not([disabled]).ng-invalid.ng-touched .md-select-value{padding-bottom:1px;border-bottom-style:solid}@media screen and (-ms-high-contrast:active){md-radio-button.md-default-theme .md-on{background-color:#fff}}md-input-container:not([md-no-float]) .md-select-placeholder span:first-child{transition:transform .4s cubic-bezier(.25,.8,.25,1);transform-origin:left top}[dir=rtl] md-input-container:not([md-no-float]) .md-select-placeholder span:first-child{transform-origin:right top}md-input-container.md-input-focused:not([md-no-float]) .md-select-placeholder span:first-child{transform:translateY(-22px) translateX(-2px) scale(.75)}.md-select-menu-container{position:fixed;left:0;top:0;z-index:90;opacity:0;display:none;transform:translateY(-1px)}.md-select-menu-container:not(.md-clickable){pointer-events:none}.md-select-menu-container md-progress-circular{display:table;margin:24px auto!important}.md-select-menu-container.md-active{display:block;opacity:1}.md-select-menu-container.md-active md-select-menu{transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:150ms}.md-select-menu-container.md-active md-select-menu>*{opacity:1;transition:all .3s cubic-bezier(.55,0,.55,.2);transition-duration:150ms;transition-delay:.1s}.md-select-menu-container.md-leave{opacity:0;transition:all .3s cubic-bezier(.55,0,.55,.2);transition-duration:250ms}md-input-container>md-select{margin:0;order:2}md-select{display:flex;margin:20px 0 26px}md-select[disabled] .md-select-value{background-position:0 bottom;background-size:4px 1px;background-repeat:repeat-x;margin-bottom:-1px}md-select:not([disabled]):focus .md-select-value{border-bottom-width:2px;border-bottom-style:solid;padding-bottom:0}md-select:not([disabled]):focus.ng-invalid.ng-touched .md-select-value{padding-bottom:0}md-input-container.md-input-has-value .md-select-value>span:not(.md-select-icon){transform:translate3d(0,1px,0)}.md-select-value{display:flex;align-items:center;padding:2px 2px 1px;border-bottom-width:1px;border-bottom-style:solid;background-color:rgba(0,0,0,0);position:relative;box-sizing:content-box;min-width:64px;min-height:26px;flex-grow:1}.md-select-value>span:not(.md-select-icon){max-width:100%;flex:1 1 auto;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.md-select-value>span:not(.md-select-icon) .md-text{display:inline}.md-select-value .md-select-icon{display:block;align-items:flex-end;text-align:end;width:24px;margin:0 4px;transform:translate3d(0,-2px,0);font-size:1.2rem}.md-select-value .md-select-icon:after{display:block;content:'\25BC';position:relative;top:2px;speak:none;font-size:13px;transform:scaleY(.5) scaleX(1)}.md-select-value.md-select-placeholder{display:flex;order:1;pointer-events:none;padding-left:2px;z-index:1}md-select-menu{display:flex;flex-direction:column;box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12);max-height:256px;min-height:48px;overflow-y:hidden;transform-origin:left top;transform:scale(1)}md-select-menu.md-reverse{flex-direction:column-reverse}md-select-menu:not(.md-overflow) md-content{padding-top:8px;padding-bottom:8px}[dir=rtl] md-select-menu{transform-origin:right top}md-select-menu md-content{min-width:136px;min-height:48px;max-height:256px;overflow-y:auto}md-select-menu>*{opacity:0}md-option{position:relative;display:flex;align-items:center;width:auto;transition:background .15s linear;padding:0 16px;height:48px}md-option[disabled],md-select-menu[multiple] md-option.md-checkbox-enabled[disabled]{cursor:default}md-option .md-text{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}md-optgroup{display:block}md-optgroup label{display:block;font-size:14px;padding:16px;font-weight:500}md-slider .md-sign .md-thumb-text,md-slider[md-vertical][md-discrete] .md-sign .md-thumb-text{font-size:12px;font-weight:700;z-index:1}md-optgroup md-option{padding-left:32px;padding-right:32px}@media screen and (-ms-high-contrast:active){.md-select-backdrop{background-color:transparent}md-select-menu{border:1px solid #fff}}md-select-menu[multiple] md-option.md-checkbox-enabled{padding-left:40px;padding-right:16px}[dir=rtl] md-select-menu[multiple] md-option.md-checkbox-enabled{padding-left:16px;padding-right:40px}md-select-menu[multiple] md-option.md-checkbox-enabled .md-container{position:absolute;top:50%;transform:translateY(-50%);box-sizing:border-box;display:inline-block;width:28px;height:28px;left:0;right:auto;margin-left:10.67px;margin-right:auto}[dir=rtl] md-select-menu[multiple] md-option.md-checkbox-enabled .md-container{left:auto;right:0;margin-left:auto;margin-right:10.67px}md-select-menu[multiple] md-option.md-checkbox-enabled .md-container:before{box-sizing:border-box;background-color:transparent;border-radius:50%;content:'';position:absolute;display:block;height:auto;left:0;top:0;right:0;bottom:0;transition:all .5s;width:auto}md-select-menu[multiple] md-option.md-checkbox-enabled .md-container:after{box-sizing:border-box;content:'';position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}md-select-menu[multiple] md-option.md-checkbox-enabled .md-container .md-ripple-container{position:absolute;display:block;width:auto;height:auto;left:-15px;top:-15px;right:-15px;bottom:-15px}md-slider .md-track,md-slider .md-track-ticks{right:0;left:0;position:absolute;height:100%}md-select-menu[multiple] md-option.md-checkbox-enabled .md-icon{box-sizing:border-box;transition:240ms;position:absolute;top:0;left:0;width:28px;height:28px;border-width:1px;border-style:solid;border-radius:28px}md-select-menu[multiple] md-option.md-checkbox-enabled[selected] .md-icon{border-color:transparent}md-select-menu[multiple] md-option.md-checkbox-enabled[selected] .md-icon:after{box-sizing:border-box;transform:rotate(45deg);position:absolute;left:8.33px;top:2.11px;display:table;width:9.33px;height:18.67px;border-width:1px;border-style:solid;border-top:0;border-left:0;content:''}md-select-menu[multiple] md-option.md-checkbox-enabled.md-indeterminate .md-icon:after{box-sizing:border-box;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:table;width:16.8px;height:1px;border-width:1px;border-style:solid;border-top:0;border-left:0;content:''}md-sidenav{box-sizing:border-box;position:absolute;flex-direction:column;z-index:60;width:320px;max-width:320px;bottom:0;overflow:auto;-webkit-overflow-scrolling:touch}md-sidenav.md-closed.md-locked-open-add:not(.md-locked-open-add-active),md-sidenav.md-locked-open-remove-active{width:0!important;min-width:0!important}md-sidenav.md-closed{display:none}md-sidenav.md-closed-add,md-sidenav.md-closed-remove{display:flex;transition:.2s ease-in all}md-sidenav.md-closed-add.md-closed-add-active,md-sidenav.md-closed-remove.md-closed-remove-active{transition:all .4s cubic-bezier(.25,.8,.25,1)}md-sidenav.md-closed.md-locked-open-add-active,md-sidenav.md-closed.md-locked-open-add:not(.md-locked-open-add-active),md-sidenav.md-locked-open-remove-active{transition:width .3s cubic-bezier(.55,0,.55,.2),min-width .3s cubic-bezier(.55,0,.55,.2)}md-sidenav.md-closed.md-locked-open-add,md-sidenav.md-locked-open,md-sidenav.md-locked-open-add,md-sidenav.md-locked-open-remove,md-sidenav.md-locked-open-remove.md-closed,md-sidenav.md-locked-open.md-closed,md-sidenav.md-locked-open.md-closed.md-sidenav-left,md-sidenav.md-locked-open.md-closed.md-sidenav-right{position:static;display:flex;transform:translate3d(0,0,0)}md-slider,md-slider .md-slider-content{position:relative}.md-sidenav-backdrop.md-locked-open{display:none}.md-sidenav-left,md-sidenav{left:0;top:0;transform:translate3d(0,0,0)}.md-sidenav-left.md-closed,md-sidenav.md-closed{transform:translate3d(-100%,0,0)}.md-sidenav-right{left:100%;top:0;transform:translate(-100%,0)}.md-sidenav-right.md-closed{transform:translate(0,0)}@media (min-width:600px){md-sidenav{max-width:400px}}@media (max-width:456px){md-sidenav{width:calc(100% - 56px);min-width:calc(100% - 56px);max-width:calc(100% - 56px)}}@media screen and (-ms-high-contrast:active){.md-sidenav-left,md-sidenav{border-right:1px solid #fff}.md-sidenav-right{border-left:1px solid #fff}}@keyframes sliderFocusThumb{0%,100%{transform:scale(.7)}30%{transform:scale(1)}}@keyframes sliderDiscreteFocusThumb{0%{transform:scale(.7)}50%{transform:scale(.8)}100%{transform:scale(0)}}@keyframes sliderDiscreteFocusRing{0%{transform:scale(.7);opacity:0}50%{transform:scale(1);opacity:1}100%{transform:scale(0)}}md-slider{height:48px;min-width:128px;margin-left:4px;margin-right:4px;padding:0;display:block;flex-direction:row}md-slider *,md-slider :after{box-sizing:border-box}md-slider .md-slider-wrapper{width:100%;height:100%}md-slider .md-track-container{width:100%;position:absolute;top:23px;height:2px}md-slider .md-track-fill{transition:all .4s cubic-bezier(.25,.8,.25,1);transition-property:width,height}md-slider .md-track-ticks canvas{width:100%;height:100%}md-slider .md-thumb,md-slider .md-thumb:after{width:20px;height:20px;border-radius:20px;position:absolute}md-slider .md-thumb-container{position:absolute;left:0;top:50%;transform:translate3d(-50%,-50%,0);transition:all .4s cubic-bezier(.25,.8,.25,1);transition-property:left,right,bottom}[dir=rtl] md-slider .md-thumb-container{left:auto;right:0}md-slider .md-thumb{z-index:1;left:-10px;top:14px;transform:scale(.7);transition:all .4s cubic-bezier(.25,.8,.25,1)}[dir=rtl] md-slider .md-thumb{left:auto;right:-10px}md-slider .md-thumb:after{content:'';border-width:3px;border-style:solid;transition:inherit}md-slider .md-sign{display:flex;align-items:center;justify-content:center;position:absolute;left:-14px;top:-17px;width:28px;height:28px;border-radius:28px;transform:scale(.4) translate3d(0,67.5px,0);transition:all .3s cubic-bezier(.35,0,.25,1)}md-slider:not([md-discrete]) .md-sign,md-slider:not([md-discrete]) .md-track-ticks,md-slider[disabled] .md-track-fill{display:none}md-slider .md-sign:after{position:absolute;content:'';left:0;border-radius:16px;top:19px;border-left:14px solid transparent;border-right:14px solid transparent;border-top-width:16px;border-top-style:solid;opacity:0;transform:translate3d(0,-8px,0);transition:all .2s cubic-bezier(.35,0,.25,1)}[dir=rtl] md-slider .md-sign:after{left:auto;right:0}md-slider .md-focus-ring{position:absolute;left:-17px;top:7px;width:34px;height:34px;border-radius:34px;transform:scale(.7);opacity:0;transition:all .35s cubic-bezier(.35,0,.25,1)}[dir=rtl] md-slider .md-focus-ring{left:auto;right:-17px}md-slider .md-disabled-thumb{position:absolute;left:-14px;top:10px;width:28px;height:28px;border-radius:28px;transform:scale(.5);border-width:4px;border-style:solid;display:none}[dir=rtl] md-slider .md-disabled-thumb{left:auto;right:-14px}md-slider.md-min .md-sign{opacity:0}md-slider.md-dragging .md-thumb-container,md-slider.md-dragging .md-track-fill{transition:none}md-slider:not([md-discrete]):not([disabled]) .md-slider-wrapper .md-thumb:hover{transform:scale(.8)}md-slider:not([md-discrete]):not([disabled]) .md-slider-wrapper.md-focused .md-focus-ring{transform:scale(1);opacity:1}md-slider:not([md-discrete]):not([disabled]) .md-slider-wrapper.md-focused .md-thumb{animation:sliderFocusThumb .7s cubic-bezier(.35,0,.25,1)}md-slider:not([md-discrete]):not([disabled]).md-active .md-slider-wrapper .md-thumb{transform:scale(1)}md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-focus-ring{transform:scale(0);animation:sliderDiscreteFocusRing .5s cubic-bezier(.35,0,.25,1)}md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-thumb{animation:sliderDiscreteFocusThumb .5s cubic-bezier(.35,0,.25,1)}md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-thumb,md-slider[md-discrete]:not([disabled]).md-active .md-thumb{transform:scale(0)}md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-sign,md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-sign:after,md-slider[md-discrete]:not([disabled]).md-active .md-sign,md-slider[md-discrete]:not([disabled]).md-active .md-sign:after{opacity:1;transform:translate3d(0,0,0) scale(1)}md-slider[md-discrete][disabled][readonly] .md-thumb{transform:scale(0)}md-slider[md-discrete][disabled][readonly] .md-sign,md-slider[md-discrete][disabled][readonly] .md-sign:after{opacity:1;transform:translate3d(0,0,0) scale(1)}md-slider[disabled] .md-track-ticks,md-slider[disabled]:not([readonly]) .md-sign{opacity:0}md-slider[disabled] .md-thumb{transform:scale(.5)}md-slider[disabled] .md-disabled-thumb{display:block}md-slider[md-vertical]{flex-direction:column;min-height:128px;min-width:0}md-slider[md-vertical] .md-slider-wrapper{flex:1;padding-top:12px;padding-bottom:12px;width:48px;align-self:center;display:flex;justify-content:center}md-slider[md-vertical] .md-track-container{height:100%;width:2px;top:0;left:calc(50% - (2px / 2))}md-slider[md-vertical] .md-thumb-container{top:auto;margin-bottom:23px;left:calc(50% - 1px);bottom:0}md-slider[md-vertical] .md-thumb-container .md-thumb:after{left:1px}md-slider[md-vertical] .md-thumb-container .md-focus-ring{left:-16px}md-slider[md-vertical] .md-track-fill{bottom:0}md-slider[md-vertical][md-discrete] .md-sign{left:-40px;top:9.5px;transform:scale(.4) translate3d(67.5px,0,0)}md-slider[md-vertical][md-discrete] .md-sign:after{top:9.5px;left:19px;border-top:14px solid transparent;border-right:0;border-bottom:14px solid transparent;border-left-width:16px;border-left-style:solid;opacity:0;transform:translate3d(0,-8px,0);transition:all .2s ease-in-out}md-slider[md-vertical][md-discrete] .md-focused .md-sign:after,md-slider[md-vertical][md-discrete].md-active .md-sign:after,md-slider[md-vertical][md-discrete][disabled][readonly] .md-sign:after{top:0}md-slider[md-vertical][disabled][readonly] .md-thumb{transform:scale(0)}md-slider[md-vertical][disabled][readonly] .md-sign,md-slider[md-vertical][disabled][readonly] .md-sign:after{opacity:1;transform:translate3d(0,0,0) scale(1)}md-slider[md-invert]:not([md-vertical]) .md-track-fill{left:auto;right:0}[dir=rtl] md-slider[md-invert]:not([md-vertical]) .md-track-fill{left:0;right:auto}md-slider[md-invert][md-vertical] .md-track-fill{bottom:auto;top:0}md-slider-container{display:flex;align-items:center;flex-direction:row}md-slider-container>:first-child:not(md-slider),md-slider-container>:last-child:not(md-slider){min-width:25px;max-width:42px;height:25px;transition:all .4s cubic-bezier(.25,.8,.25,1);transition-property:color,max-width}md-slider-container>:first-child:not(md-slider){margin-right:16px}[dir=rtl] md-slider-container>:first-child:not(md-slider){margin-right:auto;margin-left:16px}md-slider-container>:last-child:not(md-slider){margin-left:16px}[dir=rtl] md-slider-container>:last-child:not(md-slider){margin-left:auto;margin-right:16px}md-slider-container[md-vertical]{flex-direction:column}md-slider-container[md-vertical]>:first-child:not(md-slider),md-slider-container[md-vertical]>:last-child:not(md-slider){margin-right:0;margin-left:0;text-align:center}md-slider-container md-input-container input[type=number]{text-align:center;padding-left:15px;height:50px;margin-top:-25px}[dir=rtl] md-slider-container md-input-container input[type=number]{padding-left:0;padding-right:15px}@media screen and (-ms-high-contrast:active){md-slider.md-default-theme .md-track{border-bottom:1px solid #fff}}.md-sticky-clone{z-index:2;top:0;left:0;right:0;position:absolute!important;transform:translate3d(-9999px,-9999px,0)}.md-sticky-clone[sticky-state=active]{transform:translate3d(0,0,0)}.md-sticky-clone[sticky-state=active]:not(.md-sticky-no-effect) .md-subheader-inner{animation:subheaderStickyHoverIn .3s ease-out both}@keyframes subheaderStickyHoverIn{0%{box-shadow:0 0 0 0 transparent}100%{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}}@keyframes subheaderStickyHoverOut{0%{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}100%{box-shadow:0 0 0 0 transparent}}.md-subheader-wrapper:not(.md-sticky-no-effect){transition:.2s ease-out margin}.md-subheader-wrapper:not(.md-sticky-no-effect) .md-subheader{margin:0}.md-subheader-wrapper:not(.md-sticky-no-effect).md-sticky-clone{z-index:2}.md-subheader-wrapper:not(.md-sticky-no-effect)[sticky-state=active]{margin-top:-2px}.md-subheader-wrapper:not(.md-sticky-no-effect):not(.md-sticky-clone)[sticky-prev-state=active] .md-subheader-inner:after{animation:subheaderStickyHoverOut .3s ease-out both}.md-subheader{display:block;font-size:14px;font-weight:500;line-height:1em;margin:0;position:relative}.md-subheader .md-subheader-inner{display:block;padding:16px}.md-subheader .md-subheader-content{display:block;z-index:1;position:relative}[md-swipe-left],[md-swipe-right]{touch-action:pan-y}[md-swipe-down],[md-swipe-up]{touch-action:pan-x}.md-inline-form md-switch{margin-top:18px;margin-bottom:19px}md-switch{margin:16px 16px 16px 0;white-space:nowrap;cursor:pointer;user-select:none;height:30px;line-height:28px;align-items:center;display:flex;margin-left:inherit}[dir=rtl] md-switch{margin-left:16px;margin-right:inherit}md-switch:last-of-type{margin-left:inherit;margin-right:0}[dir=rtl] md-switch:last-of-type{margin-left:0;margin-right:inherit}md-switch[disabled],md-switch[disabled] .md-container{cursor:default}md-switch .md-container{cursor:grab;width:36px;height:24px;position:relative;user-select:none;margin-right:8px;float:left}[dir=rtl] md-switch .md-container{margin-right:0;margin-left:8px}md-switch.md-inverted .md-container{margin-right:initial;margin-left:8px}[dir=rtl] md-switch.md-inverted .md-container{margin-right:8px;margin-left:initial}md-switch:not([disabled]) .md-dragging,md-switch:not([disabled]).md-dragging .md-container{cursor:grabbing}md-switch.md-focused:not([disabled]) .md-thumb:before{left:-8px;top:-8px;right:-8px;bottom:-8px}md-switch.md-focused:not([disabled]):not(.md-checked) .md-thumb:before{background-color:rgba(0,0,0,.12)}md-switch .md-label{border-color:transparent;border-width:0;float:left}md-switch .md-bar{left:1px;width:34px;top:5px;height:14px;border-radius:8px;position:absolute}md-switch .md-thumb-container{top:2px;left:0;width:16px;position:absolute;transform:translate3d(0,0,0);z-index:1}md-switch .md-thumb,md-switch .md-thumb:before{border-radius:50%;left:0;top:0;position:absolute}md-switch.md-checked .md-thumb-container{transform:translate3d(100%,0,0)}md-switch .md-thumb{margin:0;height:20px;width:20px;box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12)}md-switch .md-thumb:before{background-color:transparent;content:'';display:block;height:auto;right:0;bottom:0;transition:all .5s;width:auto}md-switch .md-thumb .md-ripple-container{position:absolute;display:block;width:auto;height:auto;left:-20px;top:-20px;right:-20px;bottom:-20px}md-tabs,md-tabs-canvas,md-tabs-wrapper,md-tabs.md-dynamic-height md-tab-content.md-active{position:relative}md-switch:not(.md-dragging) .md-bar,md-switch:not(.md-dragging) .md-thumb,md-switch:not(.md-dragging) .md-thumb-container{transition:all 80ms linear;transition-property:transform,background-color}md-switch:not(.md-dragging) .md-bar,md-switch:not(.md-dragging) .md-thumb{transition-delay:50ms}@media screen and (-ms-high-contrast:active){md-switch.md-default-theme .md-bar{background-color:#666}md-switch.md-default-theme.md-checked .md-bar{background-color:#9E9E9E}md-switch.md-default-theme .md-thumb{background-color:#fff}}@keyframes md-tab-content-hide{0%,50%{opacity:1}100%{opacity:0}}md-tab-data{position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;opacity:0}md-tabs{display:block;margin:0;border-radius:2px;overflow:hidden;flex-shrink:0}md-tabs:not(.md-no-tab-content):not(.md-dynamic-height){min-height:248px}md-tabs[md-align-tabs=bottom]{padding-bottom:48px}md-tabs[md-align-tabs=bottom] md-tabs-wrapper{position:absolute;bottom:0;left:0;right:0;height:48px;z-index:2}md-tabs[md-align-tabs=bottom] md-tabs-content-wrapper{top:0;bottom:48px}md-tabs.md-dynamic-height md-tabs-content-wrapper{min-height:0;position:relative;top:auto;left:auto;right:auto;bottom:auto;overflow:visible}md-tabs[md-border-bottom] md-tabs-wrapper{border-width:0 0 1px;border-style:solid}md-tabs[md-border-bottom]:not(.md-dynamic-height) md-tabs-content-wrapper{top:49px}md-tabs-wrapper{display:block;transform:translate3d(0,0,0)}md-tabs-wrapper md-next-button,md-tabs-wrapper md-prev-button{height:100%;width:32px;position:absolute;top:50%;transform:translateY(-50%);line-height:1em;z-index:2;cursor:pointer;font-size:16px;background:center center no-repeat;transition:all .5s cubic-bezier(.35,0,.25,1)}md-tabs-wrapper md-next-button.md-disabled,md-tabs-wrapper md-prev-button.md-disabled{opacity:.25;cursor:default}md-tabs-wrapper md-next-button.ng-leave,md-tabs-wrapper md-prev-button.ng-leave{transition:none}md-pagination-wrapper,md-tab-content{transition:transform .5s cubic-bezier(.35,0,.25,1);transform:translate3d(0,0,0)}md-tabs-wrapper md-next-button md-icon,md-tabs-wrapper md-prev-button md-icon{position:absolute;top:50%;left:50%;transform:translate3d(-50%,-50%,0)}[dir=rtl] md-tabs-wrapper md-next-button,[dir=rtl] md-tabs-wrapper md-prev-button{transform:rotateY(180deg) translateY(-50%)}md-tabs-wrapper md-prev-button{left:0;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE3LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPiA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPiA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjQgMjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPiA8ZyBpZD0iSGVhZGVyIj4gPGc+IDxyZWN0IHg9Ii02MTgiIHk9Ii0xMjA4IiBmaWxsPSJub25lIiB3aWR0aD0iMTQwMCIgaGVpZ2h0PSIzNjAwIi8+IDwvZz4gPC9nPiA8ZyBpZD0iTGFiZWwiPiA8L2c+IDxnIGlkPSJJY29uIj4gPGc+IDxwb2x5Z29uIHBvaW50cz0iMTUuNCw3LjQgMTQsNiA4LDEyIDE0LDE4IDE1LjQsMTYuNiAxMC44LDEyIAkJIiBzdHlsZT0iZmlsbDp3aGl0ZTsiLz4gPHJlY3QgZmlsbD0ibm9uZSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ii8+IDwvZz4gPC9nPiA8ZyBpZD0iR3JpZCIgZGlzcGxheT0ibm9uZSI+IDxnIGRpc3BsYXk9ImlubGluZSI+IDwvZz4gPC9nPiA8L3N2Zz4NCg==)}[dir=rtl] md-tabs-wrapper md-prev-button{left:auto;right:0}md-tabs-wrapper md-next-button{right:0;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE3LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPiA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPiA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjQgMjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPiA8ZyBpZD0iSGVhZGVyIj4gPGc+IDxyZWN0IHg9Ii02MTgiIHk9Ii0xMzM2IiBmaWxsPSJub25lIiB3aWR0aD0iMTQwMCIgaGVpZ2h0PSIzNjAwIi8+IDwvZz4gPC9nPiA8ZyBpZD0iTGFiZWwiPiA8L2c+IDxnIGlkPSJJY29uIj4gPGc+IDxwb2x5Z29uIHBvaW50cz0iMTAsNiA4LjYsNy40IDEzLjIsMTIgOC42LDE2LjYgMTAsMTggMTYsMTIgCQkiIHN0eWxlPSJmaWxsOndoaXRlOyIvPiA8cmVjdCBmaWxsPSJub25lIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiLz4gPC9nPiA8L2c+IDxnIGlkPSJHcmlkIiBkaXNwbGF5PSJub25lIj4gPGcgZGlzcGxheT0iaW5saW5lIj4gPC9nPiA8L2c+IDwvc3ZnPg0K)}[dir=rtl] md-tabs-wrapper md-next-button{right:auto;left:0}md-tabs-wrapper md-next-button md-icon{transform:translate3d(-50%,-50%,0) rotate(180deg)}md-tabs-wrapper.md-stretch-tabs md-pagination-wrapper{width:100%;flex-direction:row}md-tabs-wrapper.md-stretch-tabs md-pagination-wrapper md-tab-item{flex-grow:1}md-tabs-canvas{overflow:hidden;display:block;height:48px}md-tabs-canvas:after{content:'';display:table;clear:both}md-tabs-canvas .md-dummy-wrapper{position:absolute;top:0;left:0}[dir=rtl] md-tabs-canvas .md-dummy-wrapper{left:auto;right:0}md-tabs-canvas.md-paginated{margin:0 32px}md-tabs-canvas.md-center-tabs{display:flex;flex-direction:column;text-align:center}md-tabs-canvas.md-center-tabs .md-tab{float:none;display:inline-block}md-pagination-wrapper{height:48px;display:flex;position:absolute;left:0}md-pagination-wrapper:after{content:'';display:table;clear:both}[dir=rtl] md-pagination-wrapper{left:auto;right:0}md-pagination-wrapper.md-center-tabs{position:relative;justify-content:center}md-ink-bar,md-tab,md-tab-content{position:absolute}md-tabs-content-wrapper{display:block;position:absolute;top:48px;left:0;right:0;bottom:0;overflow:hidden}md-tab-content{display:flex;top:0;left:0;right:0;bottom:0;overflow:auto}md-tab-content.md-no-scroll{bottom:auto;overflow:hidden}md-tab-content.md-no-transition,md-tab-content.ng-leave{transition:none}md-tab-content.md-left:not(.md-active){transform:translateX(-100%);animation:1s md-tab-content-hide;visibility:hidden}[dir=rtl] md-tab-content.md-left:not(.md-active){transform:translateX(100%)}md-tab-content.md-left:not(.md-active) *{transition:visibility 0s linear;transition-delay:.5s;visibility:hidden}md-tab-content.md-right:not(.md-active){transform:translateX(100%);animation:1s md-tab-content-hide;visibility:hidden}[dir=rtl] md-tab-content.md-right:not(.md-active){transform:translateX(-100%)}md-tab-content.md-right:not(.md-active) *{transition:visibility 0s linear;transition-delay:.5s;visibility:hidden}md-tab-content>div{flex:1 0 100%;min-width:0}md-tab-content>div.ng-leave{animation:1s md-tab-content-hide}md-ink-bar{left:auto;right:auto;bottom:0;height:2px}md-ink-bar.md-left{transition:left 125ms cubic-bezier(.35,0,.25,1),right .25s cubic-bezier(.35,0,.25,1)}md-ink-bar.md-right{transition:left .25s cubic-bezier(.35,0,.25,1),right 125ms cubic-bezier(.35,0,.25,1)}md-tab{z-index:-1;left:-9999px}.md-tab{font-size:14px;text-align:center;line-height:24px;padding:12px 24px;transition:background-color .35s cubic-bezier(.35,0,.25,1);cursor:pointer;white-space:nowrap;position:relative;float:left;font-weight:500;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis}.md-tab.md-active,md-toast{cursor:default}[dir=rtl] .md-tab{float:right}.md-tab.md-focused,.md-tab:focus{box-shadow:none}.md-tab.md-disabled{pointer-events:none;touch-action:pan-y;user-select:none;opacity:.5;cursor:default}.md-tab.ng-leave{transition:none}md-toast,md-toast .md-toast-content{overflow:hidden;transition:all .4s cubic-bezier(.25,.8,.25,1)}md-toolbar+md-dialog-content md-tabs,md-toolbar+md-tabs{border-top-left-radius:0;border-top-right-radius:0}.md-toast-text{padding:0 6px}md-toast{position:absolute;z-index:105;box-sizing:border-box;padding:8px;opacity:1}md-toast .md-toast-content{display:flex;direction:row;align-items:center;max-height:168px;max-width:100%;min-height:48px;padding:0 18px;box-shadow:0 2px 5px 0 rgba(0,0,0,.26);border-radius:2px;font-size:14px;transform:translate3d(0,0,0) rotateZ(0);justify-content:flex-start}.md-toolbar-tools,md-toolbar{font-size:20px;box-sizing:border-box}md-toast .md-toast-content::before{content:'';min-height:48px;visibility:hidden;display:inline-block}[dir=rtl] md-toast .md-toast-content{justify-content:flex-end}md-toast .md-toast-content span{flex:1 1 0%;box-sizing:border-box;min-width:0}md-toast.md-capsule,md-toast.md-capsule .md-toast-content{border-radius:24px}md-toast.ng-leave-active .md-toast-content{transition:all .3s cubic-bezier(.55,0,.55,.2)}md-toast.md-swipedown .md-toast-content,md-toast.md-swipeleft .md-toast-content,md-toast.md-swiperight .md-toast-content,md-toast.md-swipeup .md-toast-content{transition:all .4s cubic-bezier(.25,.8,.25,1)}md-toast.ng-enter{opacity:0}md-toast.ng-enter .md-toast-content{transform:translate3d(0,100%,0)}md-toast.ng-enter.md-top .md-toast-content{transform:translate3d(0,-100%,0)}md-toast.ng-enter.ng-enter-active{opacity:1}md-toast.ng-enter.ng-enter-active .md-toast-content{transform:translate3d(0,0,0)}md-toast.ng-leave.ng-leave-active .md-toast-content{opacity:0;transform:translate3d(0,100%,0)}md-toast.ng-leave.ng-leave-active.md-swipeup .md-toast-content{transform:translate3d(0,-50%,0)}md-toast.ng-leave.ng-leave-active.md-swipedown .md-toast-content{transform:translate3d(0,50%,0)}md-toast.ng-leave.ng-leave-active.md-top .md-toast-content{transform:translate3d(0,-100%,0)}md-toast .md-action{line-height:19px;margin-left:24px;margin-right:0;cursor:pointer;float:right}md-toast .md-button{min-width:0;margin-right:0;margin-left:12px}[dir=rtl] md-toast .md-button{margin-right:12px;margin-left:0}@media (max-width:959px){md-toast{left:0;right:0;width:100%;max-width:100%;min-width:0;border-radius:0;bottom:0;padding:0}md-toast.ng-leave.ng-leave-active.md-swipeup .md-toast-content{transform:translate3d(0,-50%,0)}md-toast.ng-leave.ng-leave-active.md-swipedown .md-toast-content{transform:translate3d(0,50%,0)}}@media (min-width:960px){md-toast._md-start,md-toast.md-left{left:0}md-toast._md-end,md-toast.md-right{right:0}md-toast{min-width:304px}md-toast.md-bottom{bottom:0}md-toast.md-top{top:0}[dir=rtl] md-toast._md-start{left:auto;right:0}[dir=rtl] md-toast._md-end{right:auto;left:0}md-toast.ng-leave.ng-leave-active.md-swipeleft .md-toast-content{transform:translate3d(-50%,0,0)}md-toast.ng-leave.ng-leave-active.md-swiperight .md-toast-content{transform:translate3d(50%,0,0)}}@media (min-width:1920px){md-toast .md-toast-content{max-width:568px}}.md-toast-animating{overflow:hidden!important}md-toolbar{display:flex;flex-direction:column;position:relative;z-index:2;min-height:64px;width:100%}md-toolbar._md-toolbar-transitions{transition-duration:.5s;transition-timing-function:cubic-bezier(.35,0,.25,1);transition-property:background-color,fill,color}md-toolbar.md-whiteframe-z1-add,md-toolbar.md-whiteframe-z1-remove{transition:box-shadow .5s linear}md-toolbar md-toolbar-filler{width:72px}md-toolbar *,md-toolbar :after,md-toolbar :before{box-sizing:border-box}md-toolbar.ng-animate{transition:none}md-toolbar.md-tall{height:128px;min-height:128px;max-height:128px}md-toolbar.md-medium-tall{height:88px;min-height:88px;max-height:88px}md-toolbar.md-medium-tall .md-toolbar-tools{height:48px;min-height:48px;max-height:48px}md-toolbar>.md-indent{margin-left:64px}[dir=rtl] md-toolbar>.md-indent{margin-left:auto;margin-right:64px}md-toolbar~md-content>md-list{padding:0}md-toolbar~md-content>md-list md-list-item:last-child md-divider{display:none}.md-toolbar-tools{letter-spacing:.005em;font-weight:400;display:flex;align-items:center;flex-direction:row;width:100%;height:64px;max-height:64px;padding:0 16px;margin:0}.md-toolbar-tools h1,.md-toolbar-tools h2,.md-toolbar-tools h3{font-size:inherit;font-weight:inherit;margin:inherit}.md-toolbar-tools a{color:inherit;text-decoration:none}.md-toolbar-tools .fill-height{display:flex;align-items:center}.md-toolbar-tools md-checkbox{margin:inherit}.md-toolbar-tools .md-button{margin-top:0;margin-bottom:0}.md-toolbar-tools .md-button,.md-toolbar-tools .md-button.md-icon-button md-icon{transition-duration:.5s;transition-timing-function:cubic-bezier(.35,0,.25,1);transition-property:background-color,fill,color}.md-toolbar-tools .md-button.md-icon-button md-icon.ng-animate,.md-toolbar-tools .md-button.ng-animate{transition:none}.md-toolbar-tools>.md-button:first-child{margin-left:-8px}[dir=rtl] .md-toolbar-tools>.md-button:first-child{margin-left:auto;margin-right:-8px}.md-toolbar-tools>.md-button:last-child{margin-right:-8px}[dir=rtl] .md-toolbar-tools>.md-button:last-child{margin-right:auto;margin-left:-8px}.md-toolbar-tools>md-menu:last-child{margin-right:-8px}[dir=rtl] .md-toolbar-tools>md-menu:last-child{margin-right:auto;margin-left:-8px}.md-toolbar-tools>md-menu:last-child>.md-button{margin-right:0}[dir=rtl] .md-toolbar-tools>md-menu:last-child>.md-button{margin-right:auto;margin-left:0}@media screen and (-ms-high-contrast:active){md-toast{border:1px solid #fff}.md-toolbar-tools{border-bottom:1px solid #fff}}@media (min-width:0) and (max-width:959px) and (orientation:portrait){md-toolbar{min-height:56px}.md-toolbar-tools{height:56px;max-height:56px}}@media (min-width:0) and (max-width:959px) and (orientation:landscape){md-toolbar{min-height:48px}.md-toolbar-tools{height:48px;max-height:48px}}.md-tooltip{pointer-events:none;border-radius:4px;overflow:hidden;opacity:0;font-weight:500;font-size:14px;white-space:nowrap;text-overflow:ellipsis;height:32px;line-height:32px;padding-right:16px;padding-left:16px}.md-tooltip.md-origin-top{transform-origin:center bottom;margin-top:-24px}.md-tooltip.md-origin-right{transform-origin:left center;margin-left:24px}.md-tooltip.md-origin-bottom{transform-origin:center top;margin-top:24px}.md-tooltip.md-origin-left{transform-origin:right center;margin-left:-24px}@media (min-width:960px){.md-tooltip{font-size:10px;height:22px;line-height:22px;padding-right:8px;padding-left:8px}.md-tooltip.md-origin-top{margin-top:-14px}.md-tooltip.md-origin-right{margin-left:14px}.md-tooltip.md-origin-bottom{margin-top:14px}.md-tooltip.md-origin-left{margin-left:-14px}}.md-tooltip.md-show-add{transform:scale(0)}.md-tooltip.md-show{transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:150ms;transform:scale(1);opacity:.9}.md-tooltip.md-hide{transition:all .3s cubic-bezier(.55,0,.55,.2);transition-duration:150ms;transform:scale(0);opacity:0}.md-truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.md-truncate.md-clip{text-overflow:clip}.md-truncate.flex{width:0}.md-virtual-repeat-container{box-sizing:border-box;display:block;margin:0;overflow:hidden;padding:0;position:relative}.md-virtual-repeat-container .md-virtual-repeat-scroller{bottom:0;box-sizing:border-box;left:0;margin:0;overflow-x:hidden;padding:0;position:absolute;right:0;top:0;-webkit-overflow-scrolling:touch}.md-virtual-repeat-container .md-virtual-repeat-sizer{box-sizing:border-box;height:1px;display:block;margin:0;padding:0;width:1px}.md-virtual-repeat-container .md-virtual-repeat-offsetter{box-sizing:border-box;left:0;margin:0;padding:0;position:absolute;right:0;top:0}.md-virtual-repeat-container.md-orient-horizontal .md-virtual-repeat-scroller{overflow-x:auto;overflow-y:hidden}.md-virtual-repeat-container.md-orient-horizontal .md-virtual-repeat-offsetter{bottom:16px;right:auto;white-space:nowrap}[dir=rtl] .md-virtual-repeat-container.md-orient-horizontal .md-virtual-repeat-offsetter{right:auto;left:auto}.md-whiteframe-1dp,.md-whiteframe-z1{box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12)}.md-whiteframe-2dp{box-shadow:0 1px 5px 0 rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12)}.md-whiteframe-3dp{box-shadow:0 1px 8px 0 rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 3px 3px -2px rgba(0,0,0,.12)}.md-whiteframe-4dp,.md-whiteframe-z2{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.md-whiteframe-5dp{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.md-whiteframe-6dp{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.md-whiteframe-7dp,.md-whiteframe-z3{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.md-whiteframe-8dp{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.md-whiteframe-9dp{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.md-whiteframe-10dp,.md-whiteframe-z4{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.md-whiteframe-11dp{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.md-whiteframe-12dp{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.md-whiteframe-13dp,.md-whiteframe-z5{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.md-whiteframe-14dp{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.md-whiteframe-15dp{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.md-whiteframe-16dp{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.md-whiteframe-17dp{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.md-whiteframe-18dp{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.md-whiteframe-19dp{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.md-whiteframe-20dp{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.md-whiteframe-21dp{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.md-whiteframe-22dp{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.md-whiteframe-23dp{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.md-whiteframe-24dp{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}@media screen and (-ms-high-contrast:active){md-whiteframe{border:1px solid #fff}}.ng-cloak,.x-ng-cloak,[data-ng-cloak],[ng-cloak],[ng\:cloak],[x-ng-cloak]{display:none!important}@-moz-document url-prefix(){.layout-fill{margin:0;width:100%;min-height:100%;height:100%}}.flex-order{order:0}.flex-order--20{order:-20}.flex-order--19{order:-19}.flex-order--18{order:-18}.flex-order--17{order:-17}.flex-order--16{order:-16}.flex-order--15{order:-15}.flex-order--14{order:-14}.flex-order--13{order:-13}.flex-order--12{order:-12}.flex-order--11{order:-11}.flex-order--10{order:-10}.flex-order--9{order:-9}.flex-order--8{order:-8}.flex-order--7{order:-7}.flex-order--6{order:-6}.flex-order--5{order:-5}.flex-order--4{order:-4}.flex-order--3{order:-3}.flex-order--2{order:-2}.flex-order--1{order:-1}.flex-order-0{order:0}.flex-order-1{order:1}.flex-order-2{order:2}.flex-order-3{order:3}.flex-order-4{order:4}.flex-order-5{order:5}.flex-order-6{order:6}.flex-order-7{order:7}.flex-order-8{order:8}.flex-order-9{order:9}.flex-order-10{order:10}.flex-order-11{order:11}.flex-order-12{order:12}.flex-order-13{order:13}.flex-order-14{order:14}.flex-order-15{order:15}.flex-order-16{order:16}.flex-order-17{order:17}.flex-order-18{order:18}.flex-order-19{order:19}.flex-order-20{order:20}.flex-offset-0,.offset-0{margin-left:0}[dir=rtl] .flex-offset-0,[dir=rtl] .offset-0{margin-left:auto;margin-right:0}.flex-offset-5,.offset-5{margin-left:5%}[dir=rtl] .flex-offset-5,[dir=rtl] .offset-5{margin-left:auto;margin-right:5%}.flex-offset-10,.offset-10{margin-left:10%}[dir=rtl] .flex-offset-10,[dir=rtl] .offset-10{margin-left:auto;margin-right:10%}.flex-offset-15,.offset-15{margin-left:15%}[dir=rtl] .flex-offset-15,[dir=rtl] .offset-15{margin-left:auto;margin-right:15%}.flex-offset-20,.offset-20{margin-left:20%}[dir=rtl] .flex-offset-20,[dir=rtl] .offset-20{margin-left:auto;margin-right:20%}.flex-offset-25,.offset-25{margin-left:25%}[dir=rtl] .flex-offset-25,[dir=rtl] .offset-25{margin-left:auto;margin-right:25%}.flex-offset-30,.offset-30{margin-left:30%}[dir=rtl] .flex-offset-30,[dir=rtl] .offset-30{margin-left:auto;margin-right:30%}.flex-offset-35,.offset-35{margin-left:35%}[dir=rtl] .flex-offset-35,[dir=rtl] .offset-35{margin-left:auto;margin-right:35%}.flex-offset-40,.offset-40{margin-left:40%}[dir=rtl] .flex-offset-40,[dir=rtl] .offset-40{margin-left:auto;margin-right:40%}.flex-offset-45,.offset-45{margin-left:45%}[dir=rtl] .flex-offset-45,[dir=rtl] .offset-45{margin-left:auto;margin-right:45%}.flex-offset-50,.offset-50{margin-left:50%}[dir=rtl] .flex-offset-50,[dir=rtl] .offset-50{margin-left:auto;margin-right:50%}.flex-offset-55,.offset-55{margin-left:55%}[dir=rtl] .flex-offset-55,[dir=rtl] .offset-55{margin-left:auto;margin-right:55%}.flex-offset-60,.offset-60{margin-left:60%}[dir=rtl] .flex-offset-60,[dir=rtl] .offset-60{margin-left:auto;margin-right:60%}.flex-offset-65,.offset-65{margin-left:65%}[dir=rtl] .flex-offset-65,[dir=rtl] .offset-65{margin-left:auto;margin-right:65%}.flex-offset-70,.offset-70{margin-left:70%}[dir=rtl] .flex-offset-70,[dir=rtl] .offset-70{margin-left:auto;margin-right:70%}.flex-offset-75,.offset-75{margin-left:75%}[dir=rtl] .flex-offset-75,[dir=rtl] .offset-75{margin-left:auto;margin-right:75%}.flex-offset-80,.offset-80{margin-left:80%}[dir=rtl] .flex-offset-80,[dir=rtl] .offset-80{margin-left:auto;margin-right:80%}.flex-offset-85,.offset-85{margin-left:85%}[dir=rtl] .flex-offset-85,[dir=rtl] .offset-85{margin-left:auto;margin-right:85%}.flex-offset-90,.offset-90{margin-left:90%}[dir=rtl] .flex-offset-90,[dir=rtl] .offset-90{margin-left:auto;margin-right:90%}.flex-offset-95,.offset-95{margin-left:95%}[dir=rtl] .flex-offset-95,[dir=rtl] .offset-95{margin-left:auto;margin-right:95%}.flex-offset-33,.offset-33{margin-left:calc(100% / 3)}.flex-offset-66,.offset-66{margin-left:calc(200% / 3)}[dir=rtl] .flex-offset-66,[dir=rtl] .offset-66{margin-left:auto;margin-right:calc(200% / 3)}.layout-align,.layout-align-start-stretch{justify-content:flex-start;align-content:stretch;align-items:stretch}.layout-align-start,.layout-align-start-center,.layout-align-start-end,.layout-align-start-start,.layout-align-start-stretch{justify-content:flex-start}.layout-align-center,.layout-align-center-center,.layout-align-center-end,.layout-align-center-start,.layout-align-center-stretch{justify-content:center}.layout-align-end,.layout-align-end-center,.layout-align-end-end,.layout-align-end-start,.layout-align-end-stretch{justify-content:flex-end}.layout-align-space-around,.layout-align-space-around-center,.layout-align-space-around-end,.layout-align-space-around-start,.layout-align-space-around-stretch{justify-content:space-around}.layout-align-space-between,.layout-align-space-between-center,.layout-align-space-between-end,.layout-align-space-between-start,.layout-align-space-between-stretch{justify-content:space-between}.layout-align-center-start,.layout-align-end-start,.layout-align-space-around-start,.layout-align-space-between-start,.layout-align-start-start{align-items:flex-start;align-content:flex-start}.layout-align-center-center,.layout-align-end-center,.layout-align-space-around-center,.layout-align-space-between-center,.layout-align-start-center{align-items:center;align-content:center;max-width:100%}.layout-align-center-center>*,.layout-align-end-center>*,.layout-align-space-around-center>*,.layout-align-space-between-center>*,.layout-align-start-center>*{max-width:100%;box-sizing:border-box}.flex-0,.layout-row>.flex-0{max-width:0%;max-height:100%}.layout-align-center-end,.layout-align-end-end,.layout-align-space-around-end,.layout-align-space-between-end,.layout-align-start-end{align-items:flex-end;align-content:flex-end}.layout-align-center-stretch,.layout-align-end-stretch,.layout-align-space-around-stretch,.layout-align-space-between-stretch,.layout-align-start-stretch{align-items:stretch;align-content:stretch}.flex-0,.flex-grow{flex:1 1 100%;box-sizing:border-box}.flex-initial{flex:0 1 auto;box-sizing:border-box}.flex-auto{flex:1 1 auto;box-sizing:border-box}.flex-none{flex:0 0 auto;box-sizing:border-box}.flex-noshrink{flex:1 0 auto;box-sizing:border-box}.flex-nogrow{flex:0 1 auto;box-sizing:border-box}.layout-row>.flex-0{flex:1 1 100%;box-sizing:border-box;min-width:0}.layout-column>.flex-0{flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-5,.layout-row>.flex-5{flex:1 1 100%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-5{flex:1 1 100%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-10,.layout-row>.flex-10{max-width:10%;max-height:100%;box-sizing:border-box}.flex-10{flex:1 1 100%}.layout-row>.flex-10{flex:1 1 100%}.layout-column>.flex-10{flex:1 1 100%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-15,.layout-row>.flex-15{flex:1 1 100%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-15{flex:1 1 100%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-20,.layout-row>.flex-20{max-width:20%;max-height:100%;box-sizing:border-box}.flex-20{flex:1 1 100%}.layout-row>.flex-20{flex:1 1 100%}.layout-column>.flex-20{flex:1 1 100%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-25,.layout-row>.flex-25{flex:1 1 100%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-25{flex:1 1 100%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-30,.layout-row>.flex-30{max-width:30%;max-height:100%;box-sizing:border-box}.flex-30{flex:1 1 100%}.layout-row>.flex-30{flex:1 1 100%}.layout-column>.flex-30{flex:1 1 100%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-35,.layout-row>.flex-35{flex:1 1 100%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-35{flex:1 1 100%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-40,.layout-row>.flex-40{max-width:40%;max-height:100%;box-sizing:border-box}.flex-40{flex:1 1 100%}.layout-row>.flex-40{flex:1 1 100%}.layout-column>.flex-40{flex:1 1 100%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-45,.layout-row>.flex-45{flex:1 1 100%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-45{flex:1 1 100%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-50,.layout-row>.flex-50{max-width:50%;max-height:100%;box-sizing:border-box}.flex-50{flex:1 1 100%}.layout-row>.flex-50{flex:1 1 100%}.layout-column>.flex-50{flex:1 1 100%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-55,.layout-row>.flex-55{flex:1 1 100%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-55{flex:1 1 100%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-60,.layout-row>.flex-60{max-width:60%;max-height:100%;box-sizing:border-box}.flex-60{flex:1 1 100%}.layout-row>.flex-60{flex:1 1 100%}.layout-column>.flex-60{flex:1 1 100%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-65,.layout-row>.flex-65{flex:1 1 100%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-65{flex:1 1 100%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-70,.layout-row>.flex-70{max-width:70%;max-height:100%;box-sizing:border-box}.flex-70{flex:1 1 100%}.layout-row>.flex-70{flex:1 1 100%}.layout-column>.flex-70{flex:1 1 100%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-75,.layout-row>.flex-75{flex:1 1 100%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-75{flex:1 1 100%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-80,.layout-row>.flex-80{max-width:80%;max-height:100%;box-sizing:border-box}.flex-80{flex:1 1 100%}.layout-row>.flex-80{flex:1 1 100%}.layout-column>.flex-80{flex:1 1 100%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-85,.layout-row>.flex-85{flex:1 1 100%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-85{flex:1 1 100%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-90,.layout-row>.flex-90{max-width:90%;max-height:100%;box-sizing:border-box}.flex-90{flex:1 1 100%}.layout-row>.flex-90{flex:1 1 100%}.layout-column>.flex-90{flex:1 1 100%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-95,.layout-row>.flex-95{flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.flex-100,.layout-column>.flex-95{flex:1 1 100%;max-width:100%}.layout-column>.flex-95{max-height:95%;box-sizing:border-box}.flex-100,.layout-row>.flex-33,.layout-row>.flex-66{max-height:100%;box-sizing:border-box}.layout-column>.flex-100,.layout-row>.flex-100{flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-33{flex:1 1 100%;max-width:33.33%}.layout-row>.flex-66{flex:1 1 100%;max-width:66.66%}.layout-row>.flex{min-width:0}.layout-column>.flex-33{flex:1 1 100%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-66{flex:1 1 100%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-column>.flex{min-height:0}.layout,.layout-column,.layout-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.layout-column{flex-direction:column}.layout-row{flex-direction:row}.layout-padding-sm>*,.layout-padding>.flex-sm{padding:4px}.layout-padding,.layout-padding-gt-sm,.layout-padding-gt-sm>*,.layout-padding-md,.layout-padding-md>*,.layout-padding>*,.layout-padding>.flex,.layout-padding>.flex-gt-sm,.layout-padding>.flex-md{padding:8px}.layout-padding-gt-lg>*,.layout-padding-gt-md>*,.layout-padding-lg>*,.layout-padding>.flex-gt-lg,.layout-padding>.flex-gt-md,.layout-padding>.flex-lg{padding:16px}.layout-margin-sm>*,.layout-margin>.flex-sm{margin:4px}.layout-margin,.layout-margin-gt-sm,.layout-margin-gt-sm>*,.layout-margin-md,.layout-margin-md>*,.layout-margin>*,.layout-margin>.flex,.layout-margin>.flex-gt-sm,.layout-margin>.flex-md{margin:8px}.layout-margin-gt-lg>*,.layout-margin-gt-md>*,.layout-margin-lg>*,.layout-margin>.flex-gt-lg,.layout-margin>.flex-gt-md,.layout-margin>.flex-lg{margin:16px}.layout-wrap{flex-wrap:wrap}.layout-nowrap{flex-wrap:nowrap}.layout-fill{margin:0;width:100%;min-height:100%;height:100%}@media (max-width:599px){.hide-xs:not(.show-xs):not(.show),.hide:not(.show-xs):not(.show){display:none}.flex-order-xs--20{order:-20}.flex-order-xs--19{order:-19}.flex-order-xs--18{order:-18}.flex-order-xs--17{order:-17}.flex-order-xs--16{order:-16}.flex-order-xs--15{order:-15}.flex-order-xs--14{order:-14}.flex-order-xs--13{order:-13}.flex-order-xs--12{order:-12}.flex-order-xs--11{order:-11}.flex-order-xs--10{order:-10}.flex-order-xs--9{order:-9}.flex-order-xs--8{order:-8}.flex-order-xs--7{order:-7}.flex-order-xs--6{order:-6}.flex-order-xs--5{order:-5}.flex-order-xs--4{order:-4}.flex-order-xs--3{order:-3}.flex-order-xs--2{order:-2}.flex-order-xs--1{order:-1}.flex-order-xs-0{order:0}.flex-order-xs-1{order:1}.flex-order-xs-2{order:2}.flex-order-xs-3{order:3}.flex-order-xs-4{order:4}.flex-order-xs-5{order:5}.flex-order-xs-6{order:6}.flex-order-xs-7{order:7}.flex-order-xs-8{order:8}.flex-order-xs-9{order:9}.flex-order-xs-10{order:10}.flex-order-xs-11{order:11}.flex-order-xs-12{order:12}.flex-order-xs-13{order:13}.flex-order-xs-14{order:14}.flex-order-xs-15{order:15}.flex-order-xs-16{order:16}.flex-order-xs-17{order:17}.flex-order-xs-18{order:18}.flex-order-xs-19{order:19}.flex-order-xs-20{order:20}.flex-offset-xs-0,.offset-xs-0{margin-left:0}[dir=rtl] .flex-offset-xs-0,[dir=rtl] .offset-xs-0{margin-left:auto;margin-right:0}.flex-offset-xs-5,.offset-xs-5{margin-left:5%}[dir=rtl] .flex-offset-xs-5,[dir=rtl] .offset-xs-5{margin-left:auto;margin-right:5%}.flex-offset-xs-10,.offset-xs-10{margin-left:10%}[dir=rtl] .flex-offset-xs-10,[dir=rtl] .offset-xs-10{margin-left:auto;margin-right:10%}.flex-offset-xs-15,.offset-xs-15{margin-left:15%}[dir=rtl] .flex-offset-xs-15,[dir=rtl] .offset-xs-15{margin-left:auto;margin-right:15%}.flex-offset-xs-20,.offset-xs-20{margin-left:20%}[dir=rtl] .flex-offset-xs-20,[dir=rtl] .offset-xs-20{margin-left:auto;margin-right:20%}.flex-offset-xs-25,.offset-xs-25{margin-left:25%}[dir=rtl] .flex-offset-xs-25,[dir=rtl] .offset-xs-25{margin-left:auto;margin-right:25%}.flex-offset-xs-30,.offset-xs-30{margin-left:30%}[dir=rtl] .flex-offset-xs-30,[dir=rtl] .offset-xs-30{margin-left:auto;margin-right:30%}.flex-offset-xs-35,.offset-xs-35{margin-left:35%}[dir=rtl] .flex-offset-xs-35,[dir=rtl] .offset-xs-35{margin-left:auto;margin-right:35%}.flex-offset-xs-40,.offset-xs-40{margin-left:40%}[dir=rtl] .flex-offset-xs-40,[dir=rtl] .offset-xs-40{margin-left:auto;margin-right:40%}.flex-offset-xs-45,.offset-xs-45{margin-left:45%}[dir=rtl] .flex-offset-xs-45,[dir=rtl] .offset-xs-45{margin-left:auto;margin-right:45%}.flex-offset-xs-50,.offset-xs-50{margin-left:50%}[dir=rtl] .flex-offset-xs-50,[dir=rtl] .offset-xs-50{margin-left:auto;margin-right:50%}.flex-offset-xs-55,.offset-xs-55{margin-left:55%}[dir=rtl] .flex-offset-xs-55,[dir=rtl] .offset-xs-55{margin-left:auto;margin-right:55%}.flex-offset-xs-60,.offset-xs-60{margin-left:60%}[dir=rtl] .flex-offset-xs-60,[dir=rtl] .offset-xs-60{margin-left:auto;margin-right:60%}.flex-offset-xs-65,.offset-xs-65{margin-left:65%}[dir=rtl] .flex-offset-xs-65,[dir=rtl] .offset-xs-65{margin-left:auto;margin-right:65%}.flex-offset-xs-70,.offset-xs-70{margin-left:70%}[dir=rtl] .flex-offset-xs-70,[dir=rtl] .offset-xs-70{margin-left:auto;margin-right:70%}.flex-offset-xs-75,.offset-xs-75{margin-left:75%}[dir=rtl] .flex-offset-xs-75,[dir=rtl] .offset-xs-75{margin-left:auto;margin-right:75%}.flex-offset-xs-80,.offset-xs-80{margin-left:80%}[dir=rtl] .flex-offset-xs-80,[dir=rtl] .offset-xs-80{margin-left:auto;margin-right:80%}.flex-offset-xs-85,.offset-xs-85{margin-left:85%}[dir=rtl] .flex-offset-xs-85,[dir=rtl] .offset-xs-85{margin-left:auto;margin-right:85%}.flex-offset-xs-90,.offset-xs-90{margin-left:90%}[dir=rtl] .flex-offset-xs-90,[dir=rtl] .offset-xs-90{margin-left:auto;margin-right:90%}.flex-offset-xs-95,.offset-xs-95{margin-left:95%}[dir=rtl] .flex-offset-xs-95,[dir=rtl] .offset-xs-95{margin-left:auto;margin-right:95%}.flex-offset-xs-33,.offset-xs-33{margin-left:calc(100% / 3)}.flex-offset-xs-66,.offset-xs-66{margin-left:calc(200% / 3)}[dir=rtl] .flex-offset-xs-66,[dir=rtl] .offset-xs-66{margin-left:auto;margin-right:calc(200% / 3)}.layout-align-xs,.layout-align-xs-start-stretch{justify-content:flex-start;align-content:stretch;align-items:stretch}.layout-align-xs-start,.layout-align-xs-start-center,.layout-align-xs-start-end,.layout-align-xs-start-start,.layout-align-xs-start-stretch{justify-content:flex-start}.layout-align-xs-center,.layout-align-xs-center-center,.layout-align-xs-center-end,.layout-align-xs-center-start,.layout-align-xs-center-stretch{justify-content:center}.layout-align-xs-end,.layout-align-xs-end-center,.layout-align-xs-end-end,.layout-align-xs-end-start,.layout-align-xs-end-stretch{justify-content:flex-end}.layout-align-xs-space-around,.layout-align-xs-space-around-center,.layout-align-xs-space-around-end,.layout-align-xs-space-around-start,.layout-align-xs-space-around-stretch{justify-content:space-around}.layout-align-xs-space-between,.layout-align-xs-space-between-center,.layout-align-xs-space-between-end,.layout-align-xs-space-between-start,.layout-align-xs-space-between-stretch{justify-content:space-between}.layout-align-xs-center-start,.layout-align-xs-end-start,.layout-align-xs-space-around-start,.layout-align-xs-space-between-start,.layout-align-xs-start-start{align-items:flex-start;align-content:flex-start}.layout-align-xs-center-center,.layout-align-xs-end-center,.layout-align-xs-space-around-center,.layout-align-xs-space-between-center,.layout-align-xs-start-center{align-items:center;align-content:center;max-width:100%}.layout-align-xs-center-center>*,.layout-align-xs-end-center>*,.layout-align-xs-space-around-center>*,.layout-align-xs-space-between-center>*,.layout-align-xs-start-center>*{max-width:100%;box-sizing:border-box}.flex-xs-0,.layout-row>.flex-xs-0{max-width:0%;max-height:100%}.layout-align-xs-center-end,.layout-align-xs-end-end,.layout-align-xs-space-around-end,.layout-align-xs-space-between-end,.layout-align-xs-start-end{align-items:flex-end;align-content:flex-end}.layout-align-xs-center-stretch,.layout-align-xs-end-stretch,.layout-align-xs-space-around-stretch,.layout-align-xs-space-between-stretch,.layout-align-xs-start-stretch{align-items:stretch;align-content:stretch}.flex-xs{flex:1;box-sizing:border-box}.flex-xs-0,.flex-xs-grow{flex:1 1 100%;box-sizing:border-box}.flex-xs-initial{flex:0 1 auto;box-sizing:border-box}.flex-xs-auto{flex:1 1 auto;box-sizing:border-box}.flex-xs-none{flex:0 0 auto;box-sizing:border-box}.flex-xs-noshrink{flex:1 0 auto;box-sizing:border-box}.flex-xs-nogrow{flex:0 1 auto;box-sizing:border-box}.layout-row>.flex-xs-0{flex:1 1 100%;box-sizing:border-box;min-width:0}.layout-column>.flex-xs-0{flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box}.layout-xs-row>.flex-xs-0{flex:1 1 100%;max-width:0%;max-height:100%;box-sizing:border-box;min-width:0}.layout-xs-column>.flex-xs-0{flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-xs-5,.layout-row>.flex-xs-5{flex:1 1 100%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-5{flex:1 1 100%;max-width:100%;max-height:5%;box-sizing:border-box}.layout-xs-row>.flex-xs-5{flex:1 1 100%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-5{flex:1 1 100%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-xs-10,.layout-row>.flex-xs-10{flex:1 1 100%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-10{flex:1 1 100%;max-width:100%;max-height:10%;box-sizing:border-box}.layout-xs-row>.flex-xs-10{flex:1 1 100%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-10{flex:1 1 100%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-xs-15,.layout-row>.flex-xs-15{flex:1 1 100%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-15{flex:1 1 100%;max-width:100%;max-height:15%;box-sizing:border-box}.layout-xs-row>.flex-xs-15{flex:1 1 100%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-15{flex:1 1 100%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-xs-20,.layout-row>.flex-xs-20{flex:1 1 100%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-20{flex:1 1 100%;max-width:100%;max-height:20%;box-sizing:border-box}.layout-xs-row>.flex-xs-20{flex:1 1 100%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-20{flex:1 1 100%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-xs-25,.layout-row>.flex-xs-25{flex:1 1 100%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-25{flex:1 1 100%;max-width:100%;max-height:25%;box-sizing:border-box}.layout-xs-row>.flex-xs-25{flex:1 1 100%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-25{flex:1 1 100%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-xs-30,.layout-row>.flex-xs-30{flex:1 1 100%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-30{flex:1 1 100%;max-width:100%;max-height:30%;box-sizing:border-box}.layout-xs-row>.flex-xs-30{flex:1 1 100%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-30{flex:1 1 100%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-xs-35,.layout-row>.flex-xs-35{flex:1 1 100%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-35{flex:1 1 100%;max-width:100%;max-height:35%;box-sizing:border-box}.layout-xs-row>.flex-xs-35{flex:1 1 100%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-35{flex:1 1 100%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-xs-40,.layout-row>.flex-xs-40{flex:1 1 100%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-40{flex:1 1 100%;max-width:100%;max-height:40%;box-sizing:border-box}.layout-xs-row>.flex-xs-40{flex:1 1 100%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-40{flex:1 1 100%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-xs-45,.layout-row>.flex-xs-45{flex:1 1 100%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-45{flex:1 1 100%;max-width:100%;max-height:45%;box-sizing:border-box}.layout-xs-row>.flex-xs-45{flex:1 1 100%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-45{flex:1 1 100%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-xs-50,.layout-row>.flex-xs-50{flex:1 1 100%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-50{flex:1 1 100%;max-width:100%;max-height:50%;box-sizing:border-box}.layout-xs-row>.flex-xs-50{flex:1 1 100%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-50{flex:1 1 100%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-xs-55,.layout-row>.flex-xs-55{flex:1 1 100%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-55{flex:1 1 100%;max-width:100%;max-height:55%;box-sizing:border-box}.layout-xs-row>.flex-xs-55{flex:1 1 100%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-55{flex:1 1 100%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-xs-60,.layout-row>.flex-xs-60{flex:1 1 100%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-60{flex:1 1 100%;max-width:100%;max-height:60%;box-sizing:border-box}.layout-xs-row>.flex-xs-60{flex:1 1 100%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-60{flex:1 1 100%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-xs-65,.layout-row>.flex-xs-65{flex:1 1 100%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-65{flex:1 1 100%;max-width:100%;max-height:65%;box-sizing:border-box}.layout-xs-row>.flex-xs-65{flex:1 1 100%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-65{flex:1 1 100%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-xs-70,.layout-row>.flex-xs-70{flex:1 1 100%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-70{flex:1 1 100%;max-width:100%;max-height:70%;box-sizing:border-box}.layout-xs-row>.flex-xs-70{flex:1 1 100%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-70{flex:1 1 100%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-xs-75,.layout-row>.flex-xs-75{flex:1 1 100%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-75{flex:1 1 100%;max-width:100%;max-height:75%;box-sizing:border-box}.layout-xs-row>.flex-xs-75{flex:1 1 100%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-75{flex:1 1 100%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-xs-80,.layout-row>.flex-xs-80{flex:1 1 100%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-80{flex:1 1 100%;max-width:100%;max-height:80%;box-sizing:border-box}.layout-xs-row>.flex-xs-80{flex:1 1 100%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-80{flex:1 1 100%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-xs-85,.layout-row>.flex-xs-85{flex:1 1 100%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-85{flex:1 1 100%;max-width:100%;max-height:85%;box-sizing:border-box}.layout-xs-row>.flex-xs-85{flex:1 1 100%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-85{flex:1 1 100%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-xs-90,.layout-row>.flex-xs-90{flex:1 1 100%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-90{flex:1 1 100%;max-width:100%;max-height:90%;box-sizing:border-box}.layout-xs-row>.flex-xs-90{flex:1 1 100%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-90{flex:1 1 100%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-xs-95,.layout-row>.flex-xs-95{flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-95{flex:1 1 100%;max-width:100%;max-height:95%;box-sizing:border-box}.layout-xs-row>.flex-xs-95{flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-95{flex:1 1 100%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-xs-100,.layout-column>.flex-xs-100,.layout-row>.flex-xs-100,.layout-xs-column>.flex-xs-100,.layout-xs-row>.flex-xs-100{flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-xs-33{flex:1 1 33.33%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-row>.flex-xs-66{flex:1 1 66.66%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-33{flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-xs-66{flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-xs-row>.flex-xs-33{flex:1 1 100%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-xs-row>.flex-xs-66{flex:1 1 100%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-xs-row>.flex{min-width:0}.layout-xs-column>.flex-xs-33{flex:1 1 100%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-xs-column>.flex-xs-66{flex:1 1 100%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-xs-column>.flex{min-height:0}.layout-xs,.layout-xs-column,.layout-xs-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.layout-xs-column{flex-direction:column}.layout-xs-row{flex-direction:row}}@media (min-width:600px){.flex-order-gt-xs--20{order:-20}.flex-order-gt-xs--19{order:-19}.flex-order-gt-xs--18{order:-18}.flex-order-gt-xs--17{order:-17}.flex-order-gt-xs--16{order:-16}.flex-order-gt-xs--15{order:-15}.flex-order-gt-xs--14{order:-14}.flex-order-gt-xs--13{order:-13}.flex-order-gt-xs--12{order:-12}.flex-order-gt-xs--11{order:-11}.flex-order-gt-xs--10{order:-10}.flex-order-gt-xs--9{order:-9}.flex-order-gt-xs--8{order:-8}.flex-order-gt-xs--7{order:-7}.flex-order-gt-xs--6{order:-6}.flex-order-gt-xs--5{order:-5}.flex-order-gt-xs--4{order:-4}.flex-order-gt-xs--3{order:-3}.flex-order-gt-xs--2{order:-2}.flex-order-gt-xs--1{order:-1}.flex-order-gt-xs-0{order:0}.flex-order-gt-xs-1{order:1}.flex-order-gt-xs-2{order:2}.flex-order-gt-xs-3{order:3}.flex-order-gt-xs-4{order:4}.flex-order-gt-xs-5{order:5}.flex-order-gt-xs-6{order:6}.flex-order-gt-xs-7{order:7}.flex-order-gt-xs-8{order:8}.flex-order-gt-xs-9{order:9}.flex-order-gt-xs-10{order:10}.flex-order-gt-xs-11{order:11}.flex-order-gt-xs-12{order:12}.flex-order-gt-xs-13{order:13}.flex-order-gt-xs-14{order:14}.flex-order-gt-xs-15{order:15}.flex-order-gt-xs-16{order:16}.flex-order-gt-xs-17{order:17}.flex-order-gt-xs-18{order:18}.flex-order-gt-xs-19{order:19}.flex-order-gt-xs-20{order:20}.flex-offset-gt-xs-0,.offset-gt-xs-0{margin-left:0}[dir=rtl] .flex-offset-gt-xs-0,[dir=rtl] .offset-gt-xs-0{margin-left:auto;margin-right:0}.flex-offset-gt-xs-5,.offset-gt-xs-5{margin-left:5%}[dir=rtl] .flex-offset-gt-xs-5,[dir=rtl] .offset-gt-xs-5{margin-left:auto;margin-right:5%}.flex-offset-gt-xs-10,.offset-gt-xs-10{margin-left:10%}[dir=rtl] .flex-offset-gt-xs-10,[dir=rtl] .offset-gt-xs-10{margin-left:auto;margin-right:10%}.flex-offset-gt-xs-15,.offset-gt-xs-15{margin-left:15%}[dir=rtl] .flex-offset-gt-xs-15,[dir=rtl] .offset-gt-xs-15{margin-left:auto;margin-right:15%}.flex-offset-gt-xs-20,.offset-gt-xs-20{margin-left:20%}[dir=rtl] .flex-offset-gt-xs-20,[dir=rtl] .offset-gt-xs-20{margin-left:auto;margin-right:20%}.flex-offset-gt-xs-25,.offset-gt-xs-25{margin-left:25%}[dir=rtl] .flex-offset-gt-xs-25,[dir=rtl] .offset-gt-xs-25{margin-left:auto;margin-right:25%}.flex-offset-gt-xs-30,.offset-gt-xs-30{margin-left:30%}[dir=rtl] .flex-offset-gt-xs-30,[dir=rtl] .offset-gt-xs-30{margin-left:auto;margin-right:30%}.flex-offset-gt-xs-35,.offset-gt-xs-35{margin-left:35%}[dir=rtl] .flex-offset-gt-xs-35,[dir=rtl] .offset-gt-xs-35{margin-left:auto;margin-right:35%}.flex-offset-gt-xs-40,.offset-gt-xs-40{margin-left:40%}[dir=rtl] .flex-offset-gt-xs-40,[dir=rtl] .offset-gt-xs-40{margin-left:auto;margin-right:40%}.flex-offset-gt-xs-45,.offset-gt-xs-45{margin-left:45%}[dir=rtl] .flex-offset-gt-xs-45,[dir=rtl] .offset-gt-xs-45{margin-left:auto;margin-right:45%}.flex-offset-gt-xs-50,.offset-gt-xs-50{margin-left:50%}[dir=rtl] .flex-offset-gt-xs-50,[dir=rtl] .offset-gt-xs-50{margin-left:auto;margin-right:50%}.flex-offset-gt-xs-55,.offset-gt-xs-55{margin-left:55%}[dir=rtl] .flex-offset-gt-xs-55,[dir=rtl] .offset-gt-xs-55{margin-left:auto;margin-right:55%}.flex-offset-gt-xs-60,.offset-gt-xs-60{margin-left:60%}[dir=rtl] .flex-offset-gt-xs-60,[dir=rtl] .offset-gt-xs-60{margin-left:auto;margin-right:60%}.flex-offset-gt-xs-65,.offset-gt-xs-65{margin-left:65%}[dir=rtl] .flex-offset-gt-xs-65,[dir=rtl] .offset-gt-xs-65{margin-left:auto;margin-right:65%}.flex-offset-gt-xs-70,.offset-gt-xs-70{margin-left:70%}[dir=rtl] .flex-offset-gt-xs-70,[dir=rtl] .offset-gt-xs-70{margin-left:auto;margin-right:70%}.flex-offset-gt-xs-75,.offset-gt-xs-75{margin-left:75%}[dir=rtl] .flex-offset-gt-xs-75,[dir=rtl] .offset-gt-xs-75{margin-left:auto;margin-right:75%}.flex-offset-gt-xs-80,.offset-gt-xs-80{margin-left:80%}[dir=rtl] .flex-offset-gt-xs-80,[dir=rtl] .offset-gt-xs-80{margin-left:auto;margin-right:80%}.flex-offset-gt-xs-85,.offset-gt-xs-85{margin-left:85%}[dir=rtl] .flex-offset-gt-xs-85,[dir=rtl] .offset-gt-xs-85{margin-left:auto;margin-right:85%}.flex-offset-gt-xs-90,.offset-gt-xs-90{margin-left:90%}[dir=rtl] .flex-offset-gt-xs-90,[dir=rtl] .offset-gt-xs-90{margin-left:auto;margin-right:90%}.flex-offset-gt-xs-95,.offset-gt-xs-95{margin-left:95%}[dir=rtl] .flex-offset-gt-xs-95,[dir=rtl] .offset-gt-xs-95{margin-left:auto;margin-right:95%}.flex-offset-gt-xs-33,.offset-gt-xs-33{margin-left:calc(100% / 3)}.flex-offset-gt-xs-66,.offset-gt-xs-66{margin-left:calc(200% / 3)}[dir=rtl] .flex-offset-gt-xs-66,[dir=rtl] .offset-gt-xs-66{margin-left:auto;margin-right:calc(200% / 3)}.layout-align-gt-xs,.layout-align-gt-xs-start-stretch{justify-content:flex-start;align-content:stretch;align-items:stretch}.layout-align-gt-xs-start,.layout-align-gt-xs-start-center,.layout-align-gt-xs-start-end,.layout-align-gt-xs-start-start,.layout-align-gt-xs-start-stretch{justify-content:flex-start}.layout-align-gt-xs-center,.layout-align-gt-xs-center-center,.layout-align-gt-xs-center-end,.layout-align-gt-xs-center-start,.layout-align-gt-xs-center-stretch{justify-content:center}.layout-align-gt-xs-end,.layout-align-gt-xs-end-center,.layout-align-gt-xs-end-end,.layout-align-gt-xs-end-start,.layout-align-gt-xs-end-stretch{justify-content:flex-end}.layout-align-gt-xs-space-around,.layout-align-gt-xs-space-around-center,.layout-align-gt-xs-space-around-end,.layout-align-gt-xs-space-around-start,.layout-align-gt-xs-space-around-stretch{justify-content:space-around}.layout-align-gt-xs-space-between,.layout-align-gt-xs-space-between-center,.layout-align-gt-xs-space-between-end,.layout-align-gt-xs-space-between-start,.layout-align-gt-xs-space-between-stretch{justify-content:space-between}.layout-align-gt-xs-center-start,.layout-align-gt-xs-end-start,.layout-align-gt-xs-space-around-start,.layout-align-gt-xs-space-between-start,.layout-align-gt-xs-start-start{align-items:flex-start;align-content:flex-start}.layout-align-gt-xs-center-center,.layout-align-gt-xs-end-center,.layout-align-gt-xs-space-around-center,.layout-align-gt-xs-space-between-center,.layout-align-gt-xs-start-center{align-items:center;align-content:center;max-width:100%}.layout-align-gt-xs-center-center>*,.layout-align-gt-xs-end-center>*,.layout-align-gt-xs-space-around-center>*,.layout-align-gt-xs-space-between-center>*,.layout-align-gt-xs-start-center>*{max-width:100%;box-sizing:border-box}.flex-gt-xs-0,.layout-row>.flex-gt-xs-0{max-width:0%;max-height:100%}.layout-align-gt-xs-center-end,.layout-align-gt-xs-end-end,.layout-align-gt-xs-space-around-end,.layout-align-gt-xs-space-between-end,.layout-align-gt-xs-start-end{align-items:flex-end;align-content:flex-end}.layout-align-gt-xs-center-stretch,.layout-align-gt-xs-end-stretch,.layout-align-gt-xs-space-around-stretch,.layout-align-gt-xs-space-between-stretch,.layout-align-gt-xs-start-stretch{align-items:stretch;align-content:stretch}.flex-gt-xs{flex:1;box-sizing:border-box}.flex-gt-xs-0,.flex-gt-xs-grow{flex:1 1 100%;box-sizing:border-box}.flex-gt-xs-initial{flex:0 1 auto;box-sizing:border-box}.flex-gt-xs-auto{flex:1 1 auto;box-sizing:border-box}.flex-gt-xs-none{flex:0 0 auto;box-sizing:border-box}.flex-gt-xs-noshrink{flex:1 0 auto;box-sizing:border-box}.flex-gt-xs-nogrow{flex:0 1 auto;box-sizing:border-box}.layout-row>.flex-gt-xs-0{flex:1 1 100%;box-sizing:border-box;min-width:0}.layout-column>.flex-gt-xs-0{flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-0{flex:1 1 100%;max-width:0%;max-height:100%;box-sizing:border-box;min-width:0}.layout-gt-xs-column>.flex-gt-xs-0{flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-gt-xs-5,.layout-row>.flex-gt-xs-5{flex:1 1 100%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-5{flex:1 1 100%;max-width:100%;max-height:5%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-5{flex:1 1 100%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-5{flex:1 1 100%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-gt-xs-10,.layout-row>.flex-gt-xs-10{flex:1 1 100%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-10{flex:1 1 100%;max-width:100%;max-height:10%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-10{flex:1 1 100%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-10{flex:1 1 100%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-gt-xs-15,.layout-row>.flex-gt-xs-15{flex:1 1 100%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-15{flex:1 1 100%;max-width:100%;max-height:15%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-15{flex:1 1 100%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-15{flex:1 1 100%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-gt-xs-20,.layout-row>.flex-gt-xs-20{flex:1 1 100%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-20{flex:1 1 100%;max-width:100%;max-height:20%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-20{flex:1 1 100%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-20{flex:1 1 100%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-gt-xs-25,.layout-row>.flex-gt-xs-25{flex:1 1 100%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-25{flex:1 1 100%;max-width:100%;max-height:25%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-25{flex:1 1 100%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-25{flex:1 1 100%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-gt-xs-30,.layout-row>.flex-gt-xs-30{flex:1 1 100%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-30{flex:1 1 100%;max-width:100%;max-height:30%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-30{flex:1 1 100%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-30{flex:1 1 100%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-gt-xs-35,.layout-row>.flex-gt-xs-35{flex:1 1 100%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-35{flex:1 1 100%;max-width:100%;max-height:35%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-35{flex:1 1 100%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-35{flex:1 1 100%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-gt-xs-40,.layout-row>.flex-gt-xs-40{flex:1 1 100%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-40{flex:1 1 100%;max-width:100%;max-height:40%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-40{flex:1 1 100%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-40{flex:1 1 100%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-gt-xs-45,.layout-row>.flex-gt-xs-45{flex:1 1 100%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-45{flex:1 1 100%;max-width:100%;max-height:45%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-45{flex:1 1 100%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-45{flex:1 1 100%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-gt-xs-50,.layout-row>.flex-gt-xs-50{flex:1 1 100%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-50{flex:1 1 100%;max-width:100%;max-height:50%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-50{flex:1 1 100%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-50{flex:1 1 100%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-gt-xs-55,.layout-row>.flex-gt-xs-55{flex:1 1 100%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-55{flex:1 1 100%;max-width:100%;max-height:55%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-55{flex:1 1 100%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-55{flex:1 1 100%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-gt-xs-60,.layout-row>.flex-gt-xs-60{flex:1 1 100%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-60{flex:1 1 100%;max-width:100%;max-height:60%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-60{flex:1 1 100%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-60{flex:1 1 100%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-gt-xs-65,.layout-row>.flex-gt-xs-65{flex:1 1 100%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-65{flex:1 1 100%;max-width:100%;max-height:65%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-65{flex:1 1 100%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-65{flex:1 1 100%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-gt-xs-70,.layout-row>.flex-gt-xs-70{flex:1 1 100%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-70{flex:1 1 100%;max-width:100%;max-height:70%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-70{flex:1 1 100%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-70{flex:1 1 100%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-gt-xs-75,.layout-row>.flex-gt-xs-75{flex:1 1 100%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-75{flex:1 1 100%;max-width:100%;max-height:75%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-75{flex:1 1 100%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-75{flex:1 1 100%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-gt-xs-80,.layout-row>.flex-gt-xs-80{flex:1 1 100%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-80{flex:1 1 100%;max-width:100%;max-height:80%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-80{flex:1 1 100%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-80{flex:1 1 100%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-gt-xs-85,.layout-row>.flex-gt-xs-85{flex:1 1 100%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-85{flex:1 1 100%;max-width:100%;max-height:85%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-85{flex:1 1 100%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-85{flex:1 1 100%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-gt-xs-90,.layout-row>.flex-gt-xs-90{flex:1 1 100%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-90{flex:1 1 100%;max-width:100%;max-height:90%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-90{flex:1 1 100%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-90{flex:1 1 100%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-gt-xs-95,.layout-row>.flex-gt-xs-95{flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-95{flex:1 1 100%;max-width:100%;max-height:95%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-95{flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-95{flex:1 1 100%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-gt-xs-100,.layout-column>.flex-gt-xs-100,.layout-gt-xs-column>.flex-gt-xs-100,.layout-gt-xs-row>.flex-gt-xs-100,.layout-row>.flex-gt-xs-100{flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-xs-33{flex:1 1 33.33%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-xs-66{flex:1 1 66.66%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-33{flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-gt-xs-66{flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-33{flex:1 1 100%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-66{flex:1 1 100%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-gt-xs-row>.flex{min-width:0}.layout-gt-xs-column>.flex-gt-xs-33{flex:1 1 100%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-66{flex:1 1 100%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-gt-xs-column>.flex{min-height:0}.layout-gt-xs,.layout-gt-xs-column,.layout-gt-xs-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.layout-gt-xs-column{flex-direction:column}.layout-gt-xs-row{flex-direction:row}}@media (min-width:600px) and (max-width:959px){.hide-gt-xs:not(.show-gt-xs):not(.show-sm):not(.show),.hide-sm:not(.show-gt-xs):not(.show-sm):not(.show),.hide:not(.show-gt-xs):not(.show-sm):not(.show){display:none}.flex-order-sm--20{order:-20}.flex-order-sm--19{order:-19}.flex-order-sm--18{order:-18}.flex-order-sm--17{order:-17}.flex-order-sm--16{order:-16}.flex-order-sm--15{order:-15}.flex-order-sm--14{order:-14}.flex-order-sm--13{order:-13}.flex-order-sm--12{order:-12}.flex-order-sm--11{order:-11}.flex-order-sm--10{order:-10}.flex-order-sm--9{order:-9}.flex-order-sm--8{order:-8}.flex-order-sm--7{order:-7}.flex-order-sm--6{order:-6}.flex-order-sm--5{order:-5}.flex-order-sm--4{order:-4}.flex-order-sm--3{order:-3}.flex-order-sm--2{order:-2}.flex-order-sm--1{order:-1}.flex-order-sm-0{order:0}.flex-order-sm-1{order:1}.flex-order-sm-2{order:2}.flex-order-sm-3{order:3}.flex-order-sm-4{order:4}.flex-order-sm-5{order:5}.flex-order-sm-6{order:6}.flex-order-sm-7{order:7}.flex-order-sm-8{order:8}.flex-order-sm-9{order:9}.flex-order-sm-10{order:10}.flex-order-sm-11{order:11}.flex-order-sm-12{order:12}.flex-order-sm-13{order:13}.flex-order-sm-14{order:14}.flex-order-sm-15{order:15}.flex-order-sm-16{order:16}.flex-order-sm-17{order:17}.flex-order-sm-18{order:18}.flex-order-sm-19{order:19}.flex-order-sm-20{order:20}.flex-offset-sm-0,.offset-sm-0{margin-left:0}[dir=rtl] .flex-offset-sm-0,[dir=rtl] .offset-sm-0{margin-left:auto;margin-right:0}.flex-offset-sm-5,.offset-sm-5{margin-left:5%}[dir=rtl] .flex-offset-sm-5,[dir=rtl] .offset-sm-5{margin-left:auto;margin-right:5%}.flex-offset-sm-10,.offset-sm-10{margin-left:10%}[dir=rtl] .flex-offset-sm-10,[dir=rtl] .offset-sm-10{margin-left:auto;margin-right:10%}.flex-offset-sm-15,.offset-sm-15{margin-left:15%}[dir=rtl] .flex-offset-sm-15,[dir=rtl] .offset-sm-15{margin-left:auto;margin-right:15%}.flex-offset-sm-20,.offset-sm-20{margin-left:20%}[dir=rtl] .flex-offset-sm-20,[dir=rtl] .offset-sm-20{margin-left:auto;margin-right:20%}.flex-offset-sm-25,.offset-sm-25{margin-left:25%}[dir=rtl] .flex-offset-sm-25,[dir=rtl] .offset-sm-25{margin-left:auto;margin-right:25%}.flex-offset-sm-30,.offset-sm-30{margin-left:30%}[dir=rtl] .flex-offset-sm-30,[dir=rtl] .offset-sm-30{margin-left:auto;margin-right:30%}.flex-offset-sm-35,.offset-sm-35{margin-left:35%}[dir=rtl] .flex-offset-sm-35,[dir=rtl] .offset-sm-35{margin-left:auto;margin-right:35%}.flex-offset-sm-40,.offset-sm-40{margin-left:40%}[dir=rtl] .flex-offset-sm-40,[dir=rtl] .offset-sm-40{margin-left:auto;margin-right:40%}.flex-offset-sm-45,.offset-sm-45{margin-left:45%}[dir=rtl] .flex-offset-sm-45,[dir=rtl] .offset-sm-45{margin-left:auto;margin-right:45%}.flex-offset-sm-50,.offset-sm-50{margin-left:50%}[dir=rtl] .flex-offset-sm-50,[dir=rtl] .offset-sm-50{margin-left:auto;margin-right:50%}.flex-offset-sm-55,.offset-sm-55{margin-left:55%}[dir=rtl] .flex-offset-sm-55,[dir=rtl] .offset-sm-55{margin-left:auto;margin-right:55%}.flex-offset-sm-60,.offset-sm-60{margin-left:60%}[dir=rtl] .flex-offset-sm-60,[dir=rtl] .offset-sm-60{margin-left:auto;margin-right:60%}.flex-offset-sm-65,.offset-sm-65{margin-left:65%}[dir=rtl] .flex-offset-sm-65,[dir=rtl] .offset-sm-65{margin-left:auto;margin-right:65%}.flex-offset-sm-70,.offset-sm-70{margin-left:70%}[dir=rtl] .flex-offset-sm-70,[dir=rtl] .offset-sm-70{margin-left:auto;margin-right:70%}.flex-offset-sm-75,.offset-sm-75{margin-left:75%}[dir=rtl] .flex-offset-sm-75,[dir=rtl] .offset-sm-75{margin-left:auto;margin-right:75%}.flex-offset-sm-80,.offset-sm-80{margin-left:80%}[dir=rtl] .flex-offset-sm-80,[dir=rtl] .offset-sm-80{margin-left:auto;margin-right:80%}.flex-offset-sm-85,.offset-sm-85{margin-left:85%}[dir=rtl] .flex-offset-sm-85,[dir=rtl] .offset-sm-85{margin-left:auto;margin-right:85%}.flex-offset-sm-90,.offset-sm-90{margin-left:90%}[dir=rtl] .flex-offset-sm-90,[dir=rtl] .offset-sm-90{margin-left:auto;margin-right:90%}.flex-offset-sm-95,.offset-sm-95{margin-left:95%}[dir=rtl] .flex-offset-sm-95,[dir=rtl] .offset-sm-95{margin-left:auto;margin-right:95%}.flex-offset-sm-33,.offset-sm-33{margin-left:calc(100% / 3)}.flex-offset-sm-66,.offset-sm-66{margin-left:calc(200% / 3)}[dir=rtl] .flex-offset-sm-66,[dir=rtl] .offset-sm-66{margin-left:auto;margin-right:calc(200% / 3)}.layout-align-sm,.layout-align-sm-start-stretch{justify-content:flex-start;align-content:stretch;align-items:stretch}.layout-align-sm-start,.layout-align-sm-start-center,.layout-align-sm-start-end,.layout-align-sm-start-start,.layout-align-sm-start-stretch{justify-content:flex-start}.layout-align-sm-center,.layout-align-sm-center-center,.layout-align-sm-center-end,.layout-align-sm-center-start,.layout-align-sm-center-stretch{justify-content:center}.layout-align-sm-end,.layout-align-sm-end-center,.layout-align-sm-end-end,.layout-align-sm-end-start,.layout-align-sm-end-stretch{justify-content:flex-end}.layout-align-sm-space-around,.layout-align-sm-space-around-center,.layout-align-sm-space-around-end,.layout-align-sm-space-around-start,.layout-align-sm-space-around-stretch{justify-content:space-around}.layout-align-sm-space-between,.layout-align-sm-space-between-center,.layout-align-sm-space-between-end,.layout-align-sm-space-between-start,.layout-align-sm-space-between-stretch{justify-content:space-between}.layout-align-sm-center-start,.layout-align-sm-end-start,.layout-align-sm-space-around-start,.layout-align-sm-space-between-start,.layout-align-sm-start-start{align-items:flex-start;align-content:flex-start}.layout-align-sm-center-center,.layout-align-sm-end-center,.layout-align-sm-space-around-center,.layout-align-sm-space-between-center,.layout-align-sm-start-center{align-items:center;align-content:center;max-width:100%}.layout-align-sm-center-center>*,.layout-align-sm-end-center>*,.layout-align-sm-space-around-center>*,.layout-align-sm-space-between-center>*,.layout-align-sm-start-center>*{max-width:100%;box-sizing:border-box}.flex-sm-0,.layout-row>.flex-sm-0{max-width:0%;max-height:100%}.layout-align-sm-center-end,.layout-align-sm-end-end,.layout-align-sm-space-around-end,.layout-align-sm-space-between-end,.layout-align-sm-start-end{align-items:flex-end;align-content:flex-end}.layout-align-sm-center-stretch,.layout-align-sm-end-stretch,.layout-align-sm-space-around-stretch,.layout-align-sm-space-between-stretch,.layout-align-sm-start-stretch{align-items:stretch;align-content:stretch}.flex-sm{flex:1;box-sizing:border-box}.flex-sm-0,.flex-sm-grow{flex:1 1 100%;box-sizing:border-box}.flex-sm-initial{flex:0 1 auto;box-sizing:border-box}.flex-sm-auto{flex:1 1 auto;box-sizing:border-box}.flex-sm-none{flex:0 0 auto;box-sizing:border-box}.flex-sm-noshrink{flex:1 0 auto;box-sizing:border-box}.flex-sm-nogrow{flex:0 1 auto;box-sizing:border-box}.layout-row>.flex-sm-0{flex:1 1 100%;box-sizing:border-box;min-width:0}.layout-column>.flex-sm-0{flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box}.layout-sm-row>.flex-sm-0{flex:1 1 100%;max-width:0%;max-height:100%;box-sizing:border-box;min-width:0}.layout-sm-column>.flex-sm-0{flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-sm-5,.layout-row>.flex-sm-5{flex:1 1 100%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-5{flex:1 1 100%;max-width:100%;max-height:5%;box-sizing:border-box}.layout-sm-row>.flex-sm-5{flex:1 1 100%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-5{flex:1 1 100%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-sm-10,.layout-row>.flex-sm-10{flex:1 1 100%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-10{flex:1 1 100%;max-width:100%;max-height:10%;box-sizing:border-box}.layout-sm-row>.flex-sm-10{flex:1 1 100%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-10{flex:1 1 100%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-sm-15,.layout-row>.flex-sm-15{flex:1 1 100%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-15{flex:1 1 100%;max-width:100%;max-height:15%;box-sizing:border-box}.layout-sm-row>.flex-sm-15{flex:1 1 100%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-15{flex:1 1 100%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-sm-20,.layout-row>.flex-sm-20{flex:1 1 100%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-20{flex:1 1 100%;max-width:100%;max-height:20%;box-sizing:border-box}.layout-sm-row>.flex-sm-20{flex:1 1 100%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-20{flex:1 1 100%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-sm-25,.layout-row>.flex-sm-25{flex:1 1 100%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-25{flex:1 1 100%;max-width:100%;max-height:25%;box-sizing:border-box}.layout-sm-row>.flex-sm-25{flex:1 1 100%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-25{flex:1 1 100%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-sm-30,.layout-row>.flex-sm-30{flex:1 1 100%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-30{flex:1 1 100%;max-width:100%;max-height:30%;box-sizing:border-box}.layout-sm-row>.flex-sm-30{flex:1 1 100%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-30{flex:1 1 100%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-sm-35,.layout-row>.flex-sm-35{flex:1 1 100%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-35{flex:1 1 100%;max-width:100%;max-height:35%;box-sizing:border-box}.layout-sm-row>.flex-sm-35{flex:1 1 100%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-35{flex:1 1 100%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-sm-40,.layout-row>.flex-sm-40{flex:1 1 100%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-40{flex:1 1 100%;max-width:100%;max-height:40%;box-sizing:border-box}.layout-sm-row>.flex-sm-40{flex:1 1 100%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-40{flex:1 1 100%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-sm-45,.layout-row>.flex-sm-45{flex:1 1 100%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-45{flex:1 1 100%;max-width:100%;max-height:45%;box-sizing:border-box}.layout-sm-row>.flex-sm-45{flex:1 1 100%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-45{flex:1 1 100%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-sm-50,.layout-row>.flex-sm-50{flex:1 1 100%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-50{flex:1 1 100%;max-width:100%;max-height:50%;box-sizing:border-box}.layout-sm-row>.flex-sm-50{flex:1 1 100%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-50{flex:1 1 100%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-sm-55,.layout-row>.flex-sm-55{flex:1 1 100%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-55{flex:1 1 100%;max-width:100%;max-height:55%;box-sizing:border-box}.layout-sm-row>.flex-sm-55{flex:1 1 100%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-55{flex:1 1 100%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-sm-60,.layout-row>.flex-sm-60{flex:1 1 100%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-60{flex:1 1 100%;max-width:100%;max-height:60%;box-sizing:border-box}.layout-sm-row>.flex-sm-60{flex:1 1 100%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-60{flex:1 1 100%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-sm-65,.layout-row>.flex-sm-65{flex:1 1 100%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-65{flex:1 1 100%;max-width:100%;max-height:65%;box-sizing:border-box}.layout-sm-row>.flex-sm-65{flex:1 1 100%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-65{flex:1 1 100%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-sm-70,.layout-row>.flex-sm-70{flex:1 1 100%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-70{flex:1 1 100%;max-width:100%;max-height:70%;box-sizing:border-box}.layout-sm-row>.flex-sm-70{flex:1 1 100%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-70{flex:1 1 100%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-sm-75,.layout-row>.flex-sm-75{flex:1 1 100%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-75{flex:1 1 100%;max-width:100%;max-height:75%;box-sizing:border-box}.layout-sm-row>.flex-sm-75{flex:1 1 100%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-75{flex:1 1 100%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-sm-80,.layout-row>.flex-sm-80{flex:1 1 100%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-80{flex:1 1 100%;max-width:100%;max-height:80%;box-sizing:border-box}.layout-sm-row>.flex-sm-80{flex:1 1 100%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-80{flex:1 1 100%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-sm-85,.layout-row>.flex-sm-85{flex:1 1 100%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-85{flex:1 1 100%;max-width:100%;max-height:85%;box-sizing:border-box}.layout-sm-row>.flex-sm-85{flex:1 1 100%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-85{flex:1 1 100%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-sm-90,.layout-row>.flex-sm-90{flex:1 1 100%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-90{flex:1 1 100%;max-width:100%;max-height:90%;box-sizing:border-box}.layout-sm-row>.flex-sm-90{flex:1 1 100%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-90{flex:1 1 100%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-sm-95,.layout-row>.flex-sm-95{flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-95{flex:1 1 100%;max-width:100%;max-height:95%;box-sizing:border-box}.layout-sm-row>.flex-sm-95{flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-95{flex:1 1 100%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-sm-100,.layout-column>.flex-sm-100,.layout-row>.flex-sm-100,.layout-sm-column>.flex-sm-100,.layout-sm-row>.flex-sm-100{flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-sm-33{flex:1 1 33.33%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-row>.flex-sm-66{flex:1 1 66.66%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-33{flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-sm-66{flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-sm-row>.flex-sm-33{flex:1 1 100%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-sm-row>.flex-sm-66{flex:1 1 100%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-sm-row>.flex{min-width:0}.layout-sm-column>.flex-sm-33{flex:1 1 100%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-sm-column>.flex-sm-66{flex:1 1 100%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-sm-column>.flex{min-height:0}.layout-sm,.layout-sm-column,.layout-sm-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.layout-sm-column{flex-direction:column}.layout-sm-row{flex-direction:row}}@media (min-width:960px){.flex-order-gt-sm--20{order:-20}.flex-order-gt-sm--19{order:-19}.flex-order-gt-sm--18{order:-18}.flex-order-gt-sm--17{order:-17}.flex-order-gt-sm--16{order:-16}.flex-order-gt-sm--15{order:-15}.flex-order-gt-sm--14{order:-14}.flex-order-gt-sm--13{order:-13}.flex-order-gt-sm--12{order:-12}.flex-order-gt-sm--11{order:-11}.flex-order-gt-sm--10{order:-10}.flex-order-gt-sm--9{order:-9}.flex-order-gt-sm--8{order:-8}.flex-order-gt-sm--7{order:-7}.flex-order-gt-sm--6{order:-6}.flex-order-gt-sm--5{order:-5}.flex-order-gt-sm--4{order:-4}.flex-order-gt-sm--3{order:-3}.flex-order-gt-sm--2{order:-2}.flex-order-gt-sm--1{order:-1}.flex-order-gt-sm-0{order:0}.flex-order-gt-sm-1{order:1}.flex-order-gt-sm-2{order:2}.flex-order-gt-sm-3{order:3}.flex-order-gt-sm-4{order:4}.flex-order-gt-sm-5{order:5}.flex-order-gt-sm-6{order:6}.flex-order-gt-sm-7{order:7}.flex-order-gt-sm-8{order:8}.flex-order-gt-sm-9{order:9}.flex-order-gt-sm-10{order:10}.flex-order-gt-sm-11{order:11}.flex-order-gt-sm-12{order:12}.flex-order-gt-sm-13{order:13}.flex-order-gt-sm-14{order:14}.flex-order-gt-sm-15{order:15}.flex-order-gt-sm-16{order:16}.flex-order-gt-sm-17{order:17}.flex-order-gt-sm-18{order:18}.flex-order-gt-sm-19{order:19}.flex-order-gt-sm-20{order:20}.flex-offset-gt-sm-0,.offset-gt-sm-0{margin-left:0}[dir=rtl] .flex-offset-gt-sm-0,[dir=rtl] .offset-gt-sm-0{margin-left:auto;margin-right:0}.flex-offset-gt-sm-5,.offset-gt-sm-5{margin-left:5%}[dir=rtl] .flex-offset-gt-sm-5,[dir=rtl] .offset-gt-sm-5{margin-left:auto;margin-right:5%}.flex-offset-gt-sm-10,.offset-gt-sm-10{margin-left:10%}[dir=rtl] .flex-offset-gt-sm-10,[dir=rtl] .offset-gt-sm-10{margin-left:auto;margin-right:10%}.flex-offset-gt-sm-15,.offset-gt-sm-15{margin-left:15%}[dir=rtl] .flex-offset-gt-sm-15,[dir=rtl] .offset-gt-sm-15{margin-left:auto;margin-right:15%}.flex-offset-gt-sm-20,.offset-gt-sm-20{margin-left:20%}[dir=rtl] .flex-offset-gt-sm-20,[dir=rtl] .offset-gt-sm-20{margin-left:auto;margin-right:20%}.flex-offset-gt-sm-25,.offset-gt-sm-25{margin-left:25%}[dir=rtl] .flex-offset-gt-sm-25,[dir=rtl] .offset-gt-sm-25{margin-left:auto;margin-right:25%}.flex-offset-gt-sm-30,.offset-gt-sm-30{margin-left:30%}[dir=rtl] .flex-offset-gt-sm-30,[dir=rtl] .offset-gt-sm-30{margin-left:auto;margin-right:30%}.flex-offset-gt-sm-35,.offset-gt-sm-35{margin-left:35%}[dir=rtl] .flex-offset-gt-sm-35,[dir=rtl] .offset-gt-sm-35{margin-left:auto;margin-right:35%}.flex-offset-gt-sm-40,.offset-gt-sm-40{margin-left:40%}[dir=rtl] .flex-offset-gt-sm-40,[dir=rtl] .offset-gt-sm-40{margin-left:auto;margin-right:40%}.flex-offset-gt-sm-45,.offset-gt-sm-45{margin-left:45%}[dir=rtl] .flex-offset-gt-sm-45,[dir=rtl] .offset-gt-sm-45{margin-left:auto;margin-right:45%}.flex-offset-gt-sm-50,.offset-gt-sm-50{margin-left:50%}[dir=rtl] .flex-offset-gt-sm-50,[dir=rtl] .offset-gt-sm-50{margin-left:auto;margin-right:50%}.flex-offset-gt-sm-55,.offset-gt-sm-55{margin-left:55%}[dir=rtl] .flex-offset-gt-sm-55,[dir=rtl] .offset-gt-sm-55{margin-left:auto;margin-right:55%}.flex-offset-gt-sm-60,.offset-gt-sm-60{margin-left:60%}[dir=rtl] .flex-offset-gt-sm-60,[dir=rtl] .offset-gt-sm-60{margin-left:auto;margin-right:60%}.flex-offset-gt-sm-65,.offset-gt-sm-65{margin-left:65%}[dir=rtl] .flex-offset-gt-sm-65,[dir=rtl] .offset-gt-sm-65{margin-left:auto;margin-right:65%}.flex-offset-gt-sm-70,.offset-gt-sm-70{margin-left:70%}[dir=rtl] .flex-offset-gt-sm-70,[dir=rtl] .offset-gt-sm-70{margin-left:auto;margin-right:70%}.flex-offset-gt-sm-75,.offset-gt-sm-75{margin-left:75%}[dir=rtl] .flex-offset-gt-sm-75,[dir=rtl] .offset-gt-sm-75{margin-left:auto;margin-right:75%}.flex-offset-gt-sm-80,.offset-gt-sm-80{margin-left:80%}[dir=rtl] .flex-offset-gt-sm-80,[dir=rtl] .offset-gt-sm-80{margin-left:auto;margin-right:80%}.flex-offset-gt-sm-85,.offset-gt-sm-85{margin-left:85%}[dir=rtl] .flex-offset-gt-sm-85,[dir=rtl] .offset-gt-sm-85{margin-left:auto;margin-right:85%}.flex-offset-gt-sm-90,.offset-gt-sm-90{margin-left:90%}[dir=rtl] .flex-offset-gt-sm-90,[dir=rtl] .offset-gt-sm-90{margin-left:auto;margin-right:90%}.flex-offset-gt-sm-95,.offset-gt-sm-95{margin-left:95%}[dir=rtl] .flex-offset-gt-sm-95,[dir=rtl] .offset-gt-sm-95{margin-left:auto;margin-right:95%}.flex-offset-gt-sm-33,.offset-gt-sm-33{margin-left:calc(100% / 3)}.flex-offset-gt-sm-66,.offset-gt-sm-66{margin-left:calc(200% / 3)}[dir=rtl] .flex-offset-gt-sm-66,[dir=rtl] .offset-gt-sm-66{margin-left:auto;margin-right:calc(200% / 3)}.layout-align-gt-sm,.layout-align-gt-sm-start-stretch{justify-content:flex-start;align-content:stretch;align-items:stretch}.layout-align-gt-sm-start,.layout-align-gt-sm-start-center,.layout-align-gt-sm-start-end,.layout-align-gt-sm-start-start,.layout-align-gt-sm-start-stretch{justify-content:flex-start}.layout-align-gt-sm-center,.layout-align-gt-sm-center-center,.layout-align-gt-sm-center-end,.layout-align-gt-sm-center-start,.layout-align-gt-sm-center-stretch{justify-content:center}.layout-align-gt-sm-end,.layout-align-gt-sm-end-center,.layout-align-gt-sm-end-end,.layout-align-gt-sm-end-start,.layout-align-gt-sm-end-stretch{justify-content:flex-end}.layout-align-gt-sm-space-around,.layout-align-gt-sm-space-around-center,.layout-align-gt-sm-space-around-end,.layout-align-gt-sm-space-around-start,.layout-align-gt-sm-space-around-stretch{justify-content:space-around}.layout-align-gt-sm-space-between,.layout-align-gt-sm-space-between-center,.layout-align-gt-sm-space-between-end,.layout-align-gt-sm-space-between-start,.layout-align-gt-sm-space-between-stretch{justify-content:space-between}.layout-align-gt-sm-center-start,.layout-align-gt-sm-end-start,.layout-align-gt-sm-space-around-start,.layout-align-gt-sm-space-between-start,.layout-align-gt-sm-start-start{align-items:flex-start;align-content:flex-start}.layout-align-gt-sm-center-center,.layout-align-gt-sm-end-center,.layout-align-gt-sm-space-around-center,.layout-align-gt-sm-space-between-center,.layout-align-gt-sm-start-center{align-items:center;align-content:center;max-width:100%}.layout-align-gt-sm-center-center>*,.layout-align-gt-sm-end-center>*,.layout-align-gt-sm-space-around-center>*,.layout-align-gt-sm-space-between-center>*,.layout-align-gt-sm-start-center>*{max-width:100%;box-sizing:border-box}.flex-gt-sm-0,.layout-row>.flex-gt-sm-0{max-width:0%;max-height:100%}.layout-align-gt-sm-center-end,.layout-align-gt-sm-end-end,.layout-align-gt-sm-space-around-end,.layout-align-gt-sm-space-between-end,.layout-align-gt-sm-start-end{align-items:flex-end;align-content:flex-end}.layout-align-gt-sm-center-stretch,.layout-align-gt-sm-end-stretch,.layout-align-gt-sm-space-around-stretch,.layout-align-gt-sm-space-between-stretch,.layout-align-gt-sm-start-stretch{align-items:stretch;align-content:stretch}.flex-gt-sm{flex:1;box-sizing:border-box}.flex-gt-sm-0,.flex-gt-sm-grow{flex:1 1 100%;box-sizing:border-box}.flex-gt-sm-initial{flex:0 1 auto;box-sizing:border-box}.flex-gt-sm-auto{flex:1 1 auto;box-sizing:border-box}.flex-gt-sm-none{flex:0 0 auto;box-sizing:border-box}.flex-gt-sm-noshrink{flex:1 0 auto;box-sizing:border-box}.flex-gt-sm-nogrow{flex:0 1 auto;box-sizing:border-box}.layout-row>.flex-gt-sm-0{flex:1 1 100%;box-sizing:border-box;min-width:0}.layout-column>.flex-gt-sm-0{flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-0{flex:1 1 100%;max-width:0%;max-height:100%;box-sizing:border-box;min-width:0}.layout-gt-sm-column>.flex-gt-sm-0{flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-gt-sm-5,.layout-row>.flex-gt-sm-5{flex:1 1 100%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-5{flex:1 1 100%;max-width:100%;max-height:5%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-5{flex:1 1 100%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-5{flex:1 1 100%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-gt-sm-10,.layout-row>.flex-gt-sm-10{flex:1 1 100%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-10{flex:1 1 100%;max-width:100%;max-height:10%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-10{flex:1 1 100%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-10{flex:1 1 100%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-gt-sm-15,.layout-row>.flex-gt-sm-15{flex:1 1 100%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-15{flex:1 1 100%;max-width:100%;max-height:15%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-15{flex:1 1 100%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-15{flex:1 1 100%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-gt-sm-20,.layout-row>.flex-gt-sm-20{flex:1 1 100%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-20{flex:1 1 100%;max-width:100%;max-height:20%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-20{flex:1 1 100%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-20{flex:1 1 100%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-gt-sm-25,.layout-row>.flex-gt-sm-25{flex:1 1 100%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-25{flex:1 1 100%;max-width:100%;max-height:25%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-25{flex:1 1 100%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-25{flex:1 1 100%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-gt-sm-30,.layout-row>.flex-gt-sm-30{flex:1 1 100%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-30{flex:1 1 100%;max-width:100%;max-height:30%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-30{flex:1 1 100%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-30{flex:1 1 100%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-gt-sm-35,.layout-row>.flex-gt-sm-35{flex:1 1 100%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-35{flex:1 1 100%;max-width:100%;max-height:35%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-35{flex:1 1 100%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-35{flex:1 1 100%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-gt-sm-40,.layout-row>.flex-gt-sm-40{flex:1 1 100%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-40{flex:1 1 100%;max-width:100%;max-height:40%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-40{flex:1 1 100%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-40{flex:1 1 100%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-gt-sm-45,.layout-row>.flex-gt-sm-45{flex:1 1 100%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-45{flex:1 1 100%;max-width:100%;max-height:45%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-45{flex:1 1 100%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-45{flex:1 1 100%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-gt-sm-50,.layout-row>.flex-gt-sm-50{flex:1 1 100%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-50{flex:1 1 100%;max-width:100%;max-height:50%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-50{flex:1 1 100%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-50{flex:1 1 100%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-gt-sm-55,.layout-row>.flex-gt-sm-55{flex:1 1 100%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-55{flex:1 1 100%;max-width:100%;max-height:55%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-55{flex:1 1 100%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-55{flex:1 1 100%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-gt-sm-60,.layout-row>.flex-gt-sm-60{flex:1 1 100%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-60{flex:1 1 100%;max-width:100%;max-height:60%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-60{flex:1 1 100%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-60{flex:1 1 100%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-gt-sm-65,.layout-row>.flex-gt-sm-65{flex:1 1 100%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-65{flex:1 1 100%;max-width:100%;max-height:65%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-65{flex:1 1 100%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-65{flex:1 1 100%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-gt-sm-70,.layout-row>.flex-gt-sm-70{flex:1 1 100%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-70{flex:1 1 100%;max-width:100%;max-height:70%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-70{flex:1 1 100%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-70{flex:1 1 100%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-gt-sm-75,.layout-row>.flex-gt-sm-75{flex:1 1 100%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-75{flex:1 1 100%;max-width:100%;max-height:75%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-75{flex:1 1 100%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-75{flex:1 1 100%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-gt-sm-80,.layout-row>.flex-gt-sm-80{flex:1 1 100%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-80{flex:1 1 100%;max-width:100%;max-height:80%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-80{flex:1 1 100%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-80{flex:1 1 100%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-gt-sm-85,.layout-row>.flex-gt-sm-85{flex:1 1 100%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-85{flex:1 1 100%;max-width:100%;max-height:85%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-85{flex:1 1 100%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-85{flex:1 1 100%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-gt-sm-90,.layout-row>.flex-gt-sm-90{flex:1 1 100%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-90{flex:1 1 100%;max-width:100%;max-height:90%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-90{flex:1 1 100%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-90{flex:1 1 100%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-gt-sm-95,.layout-row>.flex-gt-sm-95{flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-95{flex:1 1 100%;max-width:100%;max-height:95%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-95{flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-95{flex:1 1 100%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-gt-sm-100,.layout-column>.flex-gt-sm-100,.layout-gt-sm-column>.flex-gt-sm-100,.layout-gt-sm-row>.flex-gt-sm-100,.layout-row>.flex-gt-sm-100{flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-sm-33{flex:1 1 33.33%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-sm-66{flex:1 1 66.66%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-33{flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-gt-sm-66{flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-33{flex:1 1 100%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-66{flex:1 1 100%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-gt-sm-row>.flex{min-width:0}.layout-gt-sm-column>.flex-gt-sm-33{flex:1 1 100%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-66{flex:1 1 100%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-gt-sm-column>.flex{min-height:0}.layout-gt-sm,.layout-gt-sm-column,.layout-gt-sm-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.layout-gt-sm-column{flex-direction:column}.layout-gt-sm-row{flex-direction:row}}@media (min-width:960px) and (max-width:1279px){.hide-gt-sm:not(.show-gt-xs):not(.show-gt-sm):not(.show-md):not(.show),.hide-gt-xs:not(.show-gt-xs):not(.show-gt-sm):not(.show-md):not(.show),.hide-md:not(.show-md):not(.show-gt-sm):not(.show-gt-xs):not(.show),.hide:not(.show-gt-xs):not(.show-gt-sm):not(.show-md):not(.show){display:none}.flex-order-md--20{order:-20}.flex-order-md--19{order:-19}.flex-order-md--18{order:-18}.flex-order-md--17{order:-17}.flex-order-md--16{order:-16}.flex-order-md--15{order:-15}.flex-order-md--14{order:-14}.flex-order-md--13{order:-13}.flex-order-md--12{order:-12}.flex-order-md--11{order:-11}.flex-order-md--10{order:-10}.flex-order-md--9{order:-9}.flex-order-md--8{order:-8}.flex-order-md--7{order:-7}.flex-order-md--6{order:-6}.flex-order-md--5{order:-5}.flex-order-md--4{order:-4}.flex-order-md--3{order:-3}.flex-order-md--2{order:-2}.flex-order-md--1{order:-1}.flex-order-md-0{order:0}.flex-order-md-1{order:1}.flex-order-md-2{order:2}.flex-order-md-3{order:3}.flex-order-md-4{order:4}.flex-order-md-5{order:5}.flex-order-md-6{order:6}.flex-order-md-7{order:7}.flex-order-md-8{order:8}.flex-order-md-9{order:9}.flex-order-md-10{order:10}.flex-order-md-11{order:11}.flex-order-md-12{order:12}.flex-order-md-13{order:13}.flex-order-md-14{order:14}.flex-order-md-15{order:15}.flex-order-md-16{order:16}.flex-order-md-17{order:17}.flex-order-md-18{order:18}.flex-order-md-19{order:19}.flex-order-md-20{order:20}.flex-offset-md-0,.offset-md-0{margin-left:0}[dir=rtl] .flex-offset-md-0,[dir=rtl] .offset-md-0{margin-left:auto;margin-right:0}.flex-offset-md-5,.offset-md-5{margin-left:5%}[dir=rtl] .flex-offset-md-5,[dir=rtl] .offset-md-5{margin-left:auto;margin-right:5%}.flex-offset-md-10,.offset-md-10{margin-left:10%}[dir=rtl] .flex-offset-md-10,[dir=rtl] .offset-md-10{margin-left:auto;margin-right:10%}.flex-offset-md-15,.offset-md-15{margin-left:15%}[dir=rtl] .flex-offset-md-15,[dir=rtl] .offset-md-15{margin-left:auto;margin-right:15%}.flex-offset-md-20,.offset-md-20{margin-left:20%}[dir=rtl] .flex-offset-md-20,[dir=rtl] .offset-md-20{margin-left:auto;margin-right:20%}.flex-offset-md-25,.offset-md-25{margin-left:25%}[dir=rtl] .flex-offset-md-25,[dir=rtl] .offset-md-25{margin-left:auto;margin-right:25%}.flex-offset-md-30,.offset-md-30{margin-left:30%}[dir=rtl] .flex-offset-md-30,[dir=rtl] .offset-md-30{margin-left:auto;margin-right:30%}.flex-offset-md-35,.offset-md-35{margin-left:35%}[dir=rtl] .flex-offset-md-35,[dir=rtl] .offset-md-35{margin-left:auto;margin-right:35%}.flex-offset-md-40,.offset-md-40{margin-left:40%}[dir=rtl] .flex-offset-md-40,[dir=rtl] .offset-md-40{margin-left:auto;margin-right:40%}.flex-offset-md-45,.offset-md-45{margin-left:45%}[dir=rtl] .flex-offset-md-45,[dir=rtl] .offset-md-45{margin-left:auto;margin-right:45%}.flex-offset-md-50,.offset-md-50{margin-left:50%}[dir=rtl] .flex-offset-md-50,[dir=rtl] .offset-md-50{margin-left:auto;margin-right:50%}.flex-offset-md-55,.offset-md-55{margin-left:55%}[dir=rtl] .flex-offset-md-55,[dir=rtl] .offset-md-55{margin-left:auto;margin-right:55%}.flex-offset-md-60,.offset-md-60{margin-left:60%}[dir=rtl] .flex-offset-md-60,[dir=rtl] .offset-md-60{margin-left:auto;margin-right:60%}.flex-offset-md-65,.offset-md-65{margin-left:65%}[dir=rtl] .flex-offset-md-65,[dir=rtl] .offset-md-65{margin-left:auto;margin-right:65%}.flex-offset-md-70,.offset-md-70{margin-left:70%}[dir=rtl] .flex-offset-md-70,[dir=rtl] .offset-md-70{margin-left:auto;margin-right:70%}.flex-offset-md-75,.offset-md-75{margin-left:75%}[dir=rtl] .flex-offset-md-75,[dir=rtl] .offset-md-75{margin-left:auto;margin-right:75%}.flex-offset-md-80,.offset-md-80{margin-left:80%}[dir=rtl] .flex-offset-md-80,[dir=rtl] .offset-md-80{margin-left:auto;margin-right:80%}.flex-offset-md-85,.offset-md-85{margin-left:85%}[dir=rtl] .flex-offset-md-85,[dir=rtl] .offset-md-85{margin-left:auto;margin-right:85%}.flex-offset-md-90,.offset-md-90{margin-left:90%}[dir=rtl] .flex-offset-md-90,[dir=rtl] .offset-md-90{margin-left:auto;margin-right:90%}.flex-offset-md-95,.offset-md-95{margin-left:95%}[dir=rtl] .flex-offset-md-95,[dir=rtl] .offset-md-95{margin-left:auto;margin-right:95%}.flex-offset-md-33,.offset-md-33{margin-left:calc(100% / 3)}.flex-offset-md-66,.offset-md-66{margin-left:calc(200% / 3)}[dir=rtl] .flex-offset-md-66,[dir=rtl] .offset-md-66{margin-left:auto;margin-right:calc(200% / 3)}.layout-align-md,.layout-align-md-start-stretch{justify-content:flex-start;align-content:stretch;align-items:stretch}.layout-align-md-start,.layout-align-md-start-center,.layout-align-md-start-end,.layout-align-md-start-start,.layout-align-md-start-stretch{justify-content:flex-start}.layout-align-md-center,.layout-align-md-center-center,.layout-align-md-center-end,.layout-align-md-center-start,.layout-align-md-center-stretch{justify-content:center}.layout-align-md-end,.layout-align-md-end-center,.layout-align-md-end-end,.layout-align-md-end-start,.layout-align-md-end-stretch{justify-content:flex-end}.layout-align-md-space-around,.layout-align-md-space-around-center,.layout-align-md-space-around-end,.layout-align-md-space-around-start,.layout-align-md-space-around-stretch{justify-content:space-around}.layout-align-md-space-between,.layout-align-md-space-between-center,.layout-align-md-space-between-end,.layout-align-md-space-between-start,.layout-align-md-space-between-stretch{justify-content:space-between}.layout-align-md-center-start,.layout-align-md-end-start,.layout-align-md-space-around-start,.layout-align-md-space-between-start,.layout-align-md-start-start{align-items:flex-start;align-content:flex-start}.layout-align-md-center-center,.layout-align-md-end-center,.layout-align-md-space-around-center,.layout-align-md-space-between-center,.layout-align-md-start-center{align-items:center;align-content:center;max-width:100%}.layout-align-md-center-center>*,.layout-align-md-end-center>*,.layout-align-md-space-around-center>*,.layout-align-md-space-between-center>*,.layout-align-md-start-center>*{max-width:100%;box-sizing:border-box}.flex-md-0,.layout-row>.flex-md-0{max-width:0%;max-height:100%}.layout-align-md-center-end,.layout-align-md-end-end,.layout-align-md-space-around-end,.layout-align-md-space-between-end,.layout-align-md-start-end{align-items:flex-end;align-content:flex-end}.layout-align-md-center-stretch,.layout-align-md-end-stretch,.layout-align-md-space-around-stretch,.layout-align-md-space-between-stretch,.layout-align-md-start-stretch{align-items:stretch;align-content:stretch}.flex-md{flex:1;box-sizing:border-box}.flex-md-0,.flex-md-grow{flex:1 1 100%;box-sizing:border-box}.flex-md-initial{flex:0 1 auto;box-sizing:border-box}.flex-md-auto{flex:1 1 auto;box-sizing:border-box}.flex-md-none{flex:0 0 auto;box-sizing:border-box}.flex-md-noshrink{flex:1 0 auto;box-sizing:border-box}.flex-md-nogrow{flex:0 1 auto;box-sizing:border-box}.layout-row>.flex-md-0{flex:1 1 100%;box-sizing:border-box;min-width:0}.layout-column>.flex-md-0{flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box}.layout-md-row>.flex-md-0{flex:1 1 100%;max-width:0%;max-height:100%;box-sizing:border-box;min-width:0}.layout-md-column>.flex-md-0{flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-md-5,.layout-row>.flex-md-5{flex:1 1 100%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-5{flex:1 1 100%;max-width:100%;max-height:5%;box-sizing:border-box}.layout-md-row>.flex-md-5{flex:1 1 100%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-5{flex:1 1 100%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-md-10,.layout-row>.flex-md-10{flex:1 1 100%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-10{flex:1 1 100%;max-width:100%;max-height:10%;box-sizing:border-box}.layout-md-row>.flex-md-10{flex:1 1 100%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-10{flex:1 1 100%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-md-15,.layout-row>.flex-md-15{flex:1 1 100%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-15{flex:1 1 100%;max-width:100%;max-height:15%;box-sizing:border-box}.layout-md-row>.flex-md-15{flex:1 1 100%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-15{flex:1 1 100%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-md-20,.layout-row>.flex-md-20{flex:1 1 100%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-20{flex:1 1 100%;max-width:100%;max-height:20%;box-sizing:border-box}.layout-md-row>.flex-md-20{flex:1 1 100%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-20{flex:1 1 100%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-md-25,.layout-row>.flex-md-25{flex:1 1 100%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-25{flex:1 1 100%;max-width:100%;max-height:25%;box-sizing:border-box}.layout-md-row>.flex-md-25{flex:1 1 100%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-25{flex:1 1 100%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-md-30,.layout-row>.flex-md-30{flex:1 1 100%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-30{flex:1 1 100%;max-width:100%;max-height:30%;box-sizing:border-box}.layout-md-row>.flex-md-30{flex:1 1 100%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-30{flex:1 1 100%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-md-35,.layout-row>.flex-md-35{flex:1 1 100%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-35{flex:1 1 100%;max-width:100%;max-height:35%;box-sizing:border-box}.layout-md-row>.flex-md-35{flex:1 1 100%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-35{flex:1 1 100%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-md-40,.layout-row>.flex-md-40{flex:1 1 100%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-40{flex:1 1 100%;max-width:100%;max-height:40%;box-sizing:border-box}.layout-md-row>.flex-md-40{flex:1 1 100%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-40{flex:1 1 100%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-md-45,.layout-row>.flex-md-45{flex:1 1 100%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-45{flex:1 1 100%;max-width:100%;max-height:45%;box-sizing:border-box}.layout-md-row>.flex-md-45{flex:1 1 100%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-45{flex:1 1 100%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-md-50,.layout-row>.flex-md-50{flex:1 1 100%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-50{flex:1 1 100%;max-width:100%;max-height:50%;box-sizing:border-box}.layout-md-row>.flex-md-50{flex:1 1 100%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-50{flex:1 1 100%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-md-55,.layout-row>.flex-md-55{flex:1 1 100%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-55{flex:1 1 100%;max-width:100%;max-height:55%;box-sizing:border-box}.layout-md-row>.flex-md-55{flex:1 1 100%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-55{flex:1 1 100%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-md-60,.layout-row>.flex-md-60{flex:1 1 100%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-60{flex:1 1 100%;max-width:100%;max-height:60%;box-sizing:border-box}.layout-md-row>.flex-md-60{flex:1 1 100%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-60{flex:1 1 100%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-md-65,.layout-row>.flex-md-65{flex:1 1 100%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-65{flex:1 1 100%;max-width:100%;max-height:65%;box-sizing:border-box}.layout-md-row>.flex-md-65{flex:1 1 100%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-65{flex:1 1 100%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-md-70,.layout-row>.flex-md-70{flex:1 1 100%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-70{flex:1 1 100%;max-width:100%;max-height:70%;box-sizing:border-box}.layout-md-row>.flex-md-70{flex:1 1 100%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-70{flex:1 1 100%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-md-75,.layout-row>.flex-md-75{flex:1 1 100%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-75{flex:1 1 100%;max-width:100%;max-height:75%;box-sizing:border-box}.layout-md-row>.flex-md-75{flex:1 1 100%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-75{flex:1 1 100%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-md-80,.layout-row>.flex-md-80{flex:1 1 100%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-80{flex:1 1 100%;max-width:100%;max-height:80%;box-sizing:border-box}.layout-md-row>.flex-md-80{flex:1 1 100%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-80{flex:1 1 100%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-md-85,.layout-row>.flex-md-85{flex:1 1 100%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-85{flex:1 1 100%;max-width:100%;max-height:85%;box-sizing:border-box}.layout-md-row>.flex-md-85{flex:1 1 100%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-85{flex:1 1 100%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-md-90,.layout-row>.flex-md-90{flex:1 1 100%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-90{flex:1 1 100%;max-width:100%;max-height:90%;box-sizing:border-box}.layout-md-row>.flex-md-90{flex:1 1 100%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-90{flex:1 1 100%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-md-95,.layout-row>.flex-md-95{flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-95{flex:1 1 100%;max-width:100%;max-height:95%;box-sizing:border-box}.layout-md-row>.flex-md-95{flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-95{flex:1 1 100%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-md-100,.layout-column>.flex-md-100,.layout-md-column>.flex-md-100,.layout-md-row>.flex-md-100,.layout-row>.flex-md-100{flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-md-33{flex:1 1 33.33%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-row>.flex-md-66{flex:1 1 66.66%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-33{flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-md-66{flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-md-row>.flex-md-33{flex:1 1 100%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-md-row>.flex-md-66{flex:1 1 100%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-md-row>.flex{min-width:0}.layout-md-column>.flex-md-33{flex:1 1 100%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-md-column>.flex-md-66{flex:1 1 100%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-md-column>.flex{min-height:0}.layout-md,.layout-md-column,.layout-md-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.layout-md-column{flex-direction:column}.layout-md-row{flex-direction:row}}@media (min-width:1280px){.flex-order-gt-md--20{order:-20}.flex-order-gt-md--19{order:-19}.flex-order-gt-md--18{order:-18}.flex-order-gt-md--17{order:-17}.flex-order-gt-md--16{order:-16}.flex-order-gt-md--15{order:-15}.flex-order-gt-md--14{order:-14}.flex-order-gt-md--13{order:-13}.flex-order-gt-md--12{order:-12}.flex-order-gt-md--11{order:-11}.flex-order-gt-md--10{order:-10}.flex-order-gt-md--9{order:-9}.flex-order-gt-md--8{order:-8}.flex-order-gt-md--7{order:-7}.flex-order-gt-md--6{order:-6}.flex-order-gt-md--5{order:-5}.flex-order-gt-md--4{order:-4}.flex-order-gt-md--3{order:-3}.flex-order-gt-md--2{order:-2}.flex-order-gt-md--1{order:-1}.flex-order-gt-md-0{order:0}.flex-order-gt-md-1{order:1}.flex-order-gt-md-2{order:2}.flex-order-gt-md-3{order:3}.flex-order-gt-md-4{order:4}.flex-order-gt-md-5{order:5}.flex-order-gt-md-6{order:6}.flex-order-gt-md-7{order:7}.flex-order-gt-md-8{order:8}.flex-order-gt-md-9{order:9}.flex-order-gt-md-10{order:10}.flex-order-gt-md-11{order:11}.flex-order-gt-md-12{order:12}.flex-order-gt-md-13{order:13}.flex-order-gt-md-14{order:14}.flex-order-gt-md-15{order:15}.flex-order-gt-md-16{order:16}.flex-order-gt-md-17{order:17}.flex-order-gt-md-18{order:18}.flex-order-gt-md-19{order:19}.flex-order-gt-md-20{order:20}.flex-offset-gt-md-0,.offset-gt-md-0{margin-left:0}[dir=rtl] .flex-offset-gt-md-0,[dir=rtl] .offset-gt-md-0{margin-left:auto;margin-right:0}.flex-offset-gt-md-5,.offset-gt-md-5{margin-left:5%}[dir=rtl] .flex-offset-gt-md-5,[dir=rtl] .offset-gt-md-5{margin-left:auto;margin-right:5%}.flex-offset-gt-md-10,.offset-gt-md-10{margin-left:10%}[dir=rtl] .flex-offset-gt-md-10,[dir=rtl] .offset-gt-md-10{margin-left:auto;margin-right:10%}.flex-offset-gt-md-15,.offset-gt-md-15{margin-left:15%}[dir=rtl] .flex-offset-gt-md-15,[dir=rtl] .offset-gt-md-15{margin-left:auto;margin-right:15%}.flex-offset-gt-md-20,.offset-gt-md-20{margin-left:20%}[dir=rtl] .flex-offset-gt-md-20,[dir=rtl] .offset-gt-md-20{margin-left:auto;margin-right:20%}.flex-offset-gt-md-25,.offset-gt-md-25{margin-left:25%}[dir=rtl] .flex-offset-gt-md-25,[dir=rtl] .offset-gt-md-25{margin-left:auto;margin-right:25%}.flex-offset-gt-md-30,.offset-gt-md-30{margin-left:30%}[dir=rtl] .flex-offset-gt-md-30,[dir=rtl] .offset-gt-md-30{margin-left:auto;margin-right:30%}.flex-offset-gt-md-35,.offset-gt-md-35{margin-left:35%}[dir=rtl] .flex-offset-gt-md-35,[dir=rtl] .offset-gt-md-35{margin-left:auto;margin-right:35%}.flex-offset-gt-md-40,.offset-gt-md-40{margin-left:40%}[dir=rtl] .flex-offset-gt-md-40,[dir=rtl] .offset-gt-md-40{margin-left:auto;margin-right:40%}.flex-offset-gt-md-45,.offset-gt-md-45{margin-left:45%}[dir=rtl] .flex-offset-gt-md-45,[dir=rtl] .offset-gt-md-45{margin-left:auto;margin-right:45%}.flex-offset-gt-md-50,.offset-gt-md-50{margin-left:50%}[dir=rtl] .flex-offset-gt-md-50,[dir=rtl] .offset-gt-md-50{margin-left:auto;margin-right:50%}.flex-offset-gt-md-55,.offset-gt-md-55{margin-left:55%}[dir=rtl] .flex-offset-gt-md-55,[dir=rtl] .offset-gt-md-55{margin-left:auto;margin-right:55%}.flex-offset-gt-md-60,.offset-gt-md-60{margin-left:60%}[dir=rtl] .flex-offset-gt-md-60,[dir=rtl] .offset-gt-md-60{margin-left:auto;margin-right:60%}.flex-offset-gt-md-65,.offset-gt-md-65{margin-left:65%}[dir=rtl] .flex-offset-gt-md-65,[dir=rtl] .offset-gt-md-65{margin-left:auto;margin-right:65%}.flex-offset-gt-md-70,.offset-gt-md-70{margin-left:70%}[dir=rtl] .flex-offset-gt-md-70,[dir=rtl] .offset-gt-md-70{margin-left:auto;margin-right:70%}.flex-offset-gt-md-75,.offset-gt-md-75{margin-left:75%}[dir=rtl] .flex-offset-gt-md-75,[dir=rtl] .offset-gt-md-75{margin-left:auto;margin-right:75%}.flex-offset-gt-md-80,.offset-gt-md-80{margin-left:80%}[dir=rtl] .flex-offset-gt-md-80,[dir=rtl] .offset-gt-md-80{margin-left:auto;margin-right:80%}.flex-offset-gt-md-85,.offset-gt-md-85{margin-left:85%}[dir=rtl] .flex-offset-gt-md-85,[dir=rtl] .offset-gt-md-85{margin-left:auto;margin-right:85%}.flex-offset-gt-md-90,.offset-gt-md-90{margin-left:90%}[dir=rtl] .flex-offset-gt-md-90,[dir=rtl] .offset-gt-md-90{margin-left:auto;margin-right:90%}.flex-offset-gt-md-95,.offset-gt-md-95{margin-left:95%}[dir=rtl] .flex-offset-gt-md-95,[dir=rtl] .offset-gt-md-95{margin-left:auto;margin-right:95%}.flex-offset-gt-md-33,.offset-gt-md-33{margin-left:calc(100% / 3)}.flex-offset-gt-md-66,.offset-gt-md-66{margin-left:calc(200% / 3)}[dir=rtl] .flex-offset-gt-md-66,[dir=rtl] .offset-gt-md-66{margin-left:auto;margin-right:calc(200% / 3)}.layout-align-gt-md,.layout-align-gt-md-start-stretch{justify-content:flex-start;align-content:stretch;align-items:stretch}.layout-align-gt-md-start,.layout-align-gt-md-start-center,.layout-align-gt-md-start-end,.layout-align-gt-md-start-start,.layout-align-gt-md-start-stretch{justify-content:flex-start}.layout-align-gt-md-center,.layout-align-gt-md-center-center,.layout-align-gt-md-center-end,.layout-align-gt-md-center-start,.layout-align-gt-md-center-stretch{justify-content:center}.layout-align-gt-md-end,.layout-align-gt-md-end-center,.layout-align-gt-md-end-end,.layout-align-gt-md-end-start,.layout-align-gt-md-end-stretch{justify-content:flex-end}.layout-align-gt-md-space-around,.layout-align-gt-md-space-around-center,.layout-align-gt-md-space-around-end,.layout-align-gt-md-space-around-start,.layout-align-gt-md-space-around-stretch{justify-content:space-around}.layout-align-gt-md-space-between,.layout-align-gt-md-space-between-center,.layout-align-gt-md-space-between-end,.layout-align-gt-md-space-between-start,.layout-align-gt-md-space-between-stretch{justify-content:space-between}.layout-align-gt-md-center-start,.layout-align-gt-md-end-start,.layout-align-gt-md-space-around-start,.layout-align-gt-md-space-between-start,.layout-align-gt-md-start-start{align-items:flex-start;align-content:flex-start}.layout-align-gt-md-center-center,.layout-align-gt-md-end-center,.layout-align-gt-md-space-around-center,.layout-align-gt-md-space-between-center,.layout-align-gt-md-start-center{align-items:center;align-content:center;max-width:100%}.layout-align-gt-md-center-center>*,.layout-align-gt-md-end-center>*,.layout-align-gt-md-space-around-center>*,.layout-align-gt-md-space-between-center>*,.layout-align-gt-md-start-center>*{max-width:100%;box-sizing:border-box}.flex-gt-md-0,.layout-row>.flex-gt-md-0{max-width:0%;max-height:100%}.layout-align-gt-md-center-end,.layout-align-gt-md-end-end,.layout-align-gt-md-space-around-end,.layout-align-gt-md-space-between-end,.layout-align-gt-md-start-end{align-items:flex-end;align-content:flex-end}.layout-align-gt-md-center-stretch,.layout-align-gt-md-end-stretch,.layout-align-gt-md-space-around-stretch,.layout-align-gt-md-space-between-stretch,.layout-align-gt-md-start-stretch{align-items:stretch;align-content:stretch}.flex-gt-md{flex:1;box-sizing:border-box}.flex-gt-md-0,.flex-gt-md-grow{flex:1 1 100%;box-sizing:border-box}.flex-gt-md-initial{flex:0 1 auto;box-sizing:border-box}.flex-gt-md-auto{flex:1 1 auto;box-sizing:border-box}.flex-gt-md-none{flex:0 0 auto;box-sizing:border-box}.flex-gt-md-noshrink{flex:1 0 auto;box-sizing:border-box}.flex-gt-md-nogrow{flex:0 1 auto;box-sizing:border-box}.layout-row>.flex-gt-md-0{flex:1 1 100%;box-sizing:border-box;min-width:0}.layout-column>.flex-gt-md-0{flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-0{flex:1 1 100%;max-width:0%;max-height:100%;box-sizing:border-box;min-width:0}.layout-gt-md-column>.flex-gt-md-0{flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-gt-md-5,.layout-row>.flex-gt-md-5{flex:1 1 100%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-5{flex:1 1 100%;max-width:100%;max-height:5%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-5{flex:1 1 100%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-5{flex:1 1 100%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-gt-md-10,.layout-row>.flex-gt-md-10{flex:1 1 100%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-10{flex:1 1 100%;max-width:100%;max-height:10%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-10{flex:1 1 100%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-10{flex:1 1 100%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-gt-md-15,.layout-row>.flex-gt-md-15{flex:1 1 100%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-15{flex:1 1 100%;max-width:100%;max-height:15%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-15{flex:1 1 100%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-15{flex:1 1 100%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-gt-md-20,.layout-row>.flex-gt-md-20{flex:1 1 100%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-20{flex:1 1 100%;max-width:100%;max-height:20%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-20{flex:1 1 100%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-20{flex:1 1 100%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-gt-md-25,.layout-row>.flex-gt-md-25{flex:1 1 100%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-25{flex:1 1 100%;max-width:100%;max-height:25%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-25{flex:1 1 100%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-25{flex:1 1 100%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-gt-md-30,.layout-row>.flex-gt-md-30{flex:1 1 100%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-30{flex:1 1 100%;max-width:100%;max-height:30%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-30{flex:1 1 100%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-30{flex:1 1 100%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-gt-md-35,.layout-row>.flex-gt-md-35{flex:1 1 100%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-35{flex:1 1 100%;max-width:100%;max-height:35%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-35{flex:1 1 100%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-35{flex:1 1 100%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-gt-md-40,.layout-row>.flex-gt-md-40{flex:1 1 100%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-40{flex:1 1 100%;max-width:100%;max-height:40%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-40{flex:1 1 100%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-40{flex:1 1 100%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-gt-md-45,.layout-row>.flex-gt-md-45{flex:1 1 100%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-45{flex:1 1 100%;max-width:100%;max-height:45%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-45{flex:1 1 100%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-45{flex:1 1 100%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-gt-md-50,.layout-row>.flex-gt-md-50{flex:1 1 100%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-50{flex:1 1 100%;max-width:100%;max-height:50%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-50{flex:1 1 100%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-50{flex:1 1 100%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-gt-md-55,.layout-row>.flex-gt-md-55{flex:1 1 100%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-55{flex:1 1 100%;max-width:100%;max-height:55%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-55{flex:1 1 100%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-55{flex:1 1 100%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-gt-md-60,.layout-row>.flex-gt-md-60{flex:1 1 100%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-60{flex:1 1 100%;max-width:100%;max-height:60%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-60{flex:1 1 100%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-60{flex:1 1 100%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-gt-md-65,.layout-row>.flex-gt-md-65{flex:1 1 100%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-65{flex:1 1 100%;max-width:100%;max-height:65%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-65{flex:1 1 100%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-65{flex:1 1 100%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-gt-md-70,.layout-row>.flex-gt-md-70{flex:1 1 100%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-70{flex:1 1 100%;max-width:100%;max-height:70%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-70{flex:1 1 100%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-70{flex:1 1 100%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-gt-md-75,.layout-row>.flex-gt-md-75{flex:1 1 100%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-75{flex:1 1 100%;max-width:100%;max-height:75%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-75{flex:1 1 100%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-75{flex:1 1 100%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-gt-md-80,.layout-row>.flex-gt-md-80{flex:1 1 100%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-80{flex:1 1 100%;max-width:100%;max-height:80%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-80{flex:1 1 100%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-80{flex:1 1 100%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-gt-md-85,.layout-row>.flex-gt-md-85{flex:1 1 100%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-85{flex:1 1 100%;max-width:100%;max-height:85%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-85{flex:1 1 100%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-85{flex:1 1 100%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-gt-md-90,.layout-row>.flex-gt-md-90{flex:1 1 100%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-90{flex:1 1 100%;max-width:100%;max-height:90%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-90{flex:1 1 100%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-90{flex:1 1 100%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-gt-md-95,.layout-row>.flex-gt-md-95{flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-95{flex:1 1 100%;max-width:100%;max-height:95%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-95{flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-95{flex:1 1 100%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-gt-md-100,.layout-column>.flex-gt-md-100,.layout-gt-md-column>.flex-gt-md-100,.layout-gt-md-row>.flex-gt-md-100,.layout-row>.flex-gt-md-100{flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-md-33{flex:1 1 33.33%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-md-66{flex:1 1 66.66%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-33{flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-gt-md-66{flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-33{flex:1 1 100%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-66{flex:1 1 100%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-gt-md-row>.flex{min-width:0}.layout-gt-md-column>.flex-gt-md-33{flex:1 1 100%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-66{flex:1 1 100%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-gt-md-column>.flex{min-height:0}.layout-gt-md,.layout-gt-md-column,.layout-gt-md-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.layout-gt-md-column{flex-direction:column}.layout-gt-md-row{flex-direction:row}}@media (min-width:1280px) and (max-width:1919px){.hide-gt-md:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-lg):not(.show),.hide-gt-sm:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-lg):not(.show),.hide-gt-xs:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-lg):not(.show),.hide-lg:not(.show-lg):not(.show-gt-md):not(.show-gt-sm):not(.show-gt-xs):not(.show),.hide:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-lg):not(.show){display:none}.flex-order-lg--20{order:-20}.flex-order-lg--19{order:-19}.flex-order-lg--18{order:-18}.flex-order-lg--17{order:-17}.flex-order-lg--16{order:-16}.flex-order-lg--15{order:-15}.flex-order-lg--14{order:-14}.flex-order-lg--13{order:-13}.flex-order-lg--12{order:-12}.flex-order-lg--11{order:-11}.flex-order-lg--10{order:-10}.flex-order-lg--9{order:-9}.flex-order-lg--8{order:-8}.flex-order-lg--7{order:-7}.flex-order-lg--6{order:-6}.flex-order-lg--5{order:-5}.flex-order-lg--4{order:-4}.flex-order-lg--3{order:-3}.flex-order-lg--2{order:-2}.flex-order-lg--1{order:-1}.flex-order-lg-0{order:0}.flex-order-lg-1{order:1}.flex-order-lg-2{order:2}.flex-order-lg-3{order:3}.flex-order-lg-4{order:4}.flex-order-lg-5{order:5}.flex-order-lg-6{order:6}.flex-order-lg-7{order:7}.flex-order-lg-8{order:8}.flex-order-lg-9{order:9}.flex-order-lg-10{order:10}.flex-order-lg-11{order:11}.flex-order-lg-12{order:12}.flex-order-lg-13{order:13}.flex-order-lg-14{order:14}.flex-order-lg-15{order:15}.flex-order-lg-16{order:16}.flex-order-lg-17{order:17}.flex-order-lg-18{order:18}.flex-order-lg-19{order:19}.flex-order-lg-20{order:20}.flex-offset-lg-0,.offset-lg-0{margin-left:0}[dir=rtl] .flex-offset-lg-0,[dir=rtl] .offset-lg-0{margin-left:auto;margin-right:0}.flex-offset-lg-5,.offset-lg-5{margin-left:5%}[dir=rtl] .flex-offset-lg-5,[dir=rtl] .offset-lg-5{margin-left:auto;margin-right:5%}.flex-offset-lg-10,.offset-lg-10{margin-left:10%}[dir=rtl] .flex-offset-lg-10,[dir=rtl] .offset-lg-10{margin-left:auto;margin-right:10%}.flex-offset-lg-15,.offset-lg-15{margin-left:15%}[dir=rtl] .flex-offset-lg-15,[dir=rtl] .offset-lg-15{margin-left:auto;margin-right:15%}.flex-offset-lg-20,.offset-lg-20{margin-left:20%}[dir=rtl] .flex-offset-lg-20,[dir=rtl] .offset-lg-20{margin-left:auto;margin-right:20%}.flex-offset-lg-25,.offset-lg-25{margin-left:25%}[dir=rtl] .flex-offset-lg-25,[dir=rtl] .offset-lg-25{margin-left:auto;margin-right:25%}.flex-offset-lg-30,.offset-lg-30{margin-left:30%}[dir=rtl] .flex-offset-lg-30,[dir=rtl] .offset-lg-30{margin-left:auto;margin-right:30%}.flex-offset-lg-35,.offset-lg-35{margin-left:35%}[dir=rtl] .flex-offset-lg-35,[dir=rtl] .offset-lg-35{margin-left:auto;margin-right:35%}.flex-offset-lg-40,.offset-lg-40{margin-left:40%}[dir=rtl] .flex-offset-lg-40,[dir=rtl] .offset-lg-40{margin-left:auto;margin-right:40%}.flex-offset-lg-45,.offset-lg-45{margin-left:45%}[dir=rtl] .flex-offset-lg-45,[dir=rtl] .offset-lg-45{margin-left:auto;margin-right:45%}.flex-offset-lg-50,.offset-lg-50{margin-left:50%}[dir=rtl] .flex-offset-lg-50,[dir=rtl] .offset-lg-50{margin-left:auto;margin-right:50%}.flex-offset-lg-55,.offset-lg-55{margin-left:55%}[dir=rtl] .flex-offset-lg-55,[dir=rtl] .offset-lg-55{margin-left:auto;margin-right:55%}.flex-offset-lg-60,.offset-lg-60{margin-left:60%}[dir=rtl] .flex-offset-lg-60,[dir=rtl] .offset-lg-60{margin-left:auto;margin-right:60%}.flex-offset-lg-65,.offset-lg-65{margin-left:65%}[dir=rtl] .flex-offset-lg-65,[dir=rtl] .offset-lg-65{margin-left:auto;margin-right:65%}.flex-offset-lg-70,.offset-lg-70{margin-left:70%}[dir=rtl] .flex-offset-lg-70,[dir=rtl] .offset-lg-70{margin-left:auto;margin-right:70%}.flex-offset-lg-75,.offset-lg-75{margin-left:75%}[dir=rtl] .flex-offset-lg-75,[dir=rtl] .offset-lg-75{margin-left:auto;margin-right:75%}.flex-offset-lg-80,.offset-lg-80{margin-left:80%}[dir=rtl] .flex-offset-lg-80,[dir=rtl] .offset-lg-80{margin-left:auto;margin-right:80%}.flex-offset-lg-85,.offset-lg-85{margin-left:85%}[dir=rtl] .flex-offset-lg-85,[dir=rtl] .offset-lg-85{margin-left:auto;margin-right:85%}.flex-offset-lg-90,.offset-lg-90{margin-left:90%}[dir=rtl] .flex-offset-lg-90,[dir=rtl] .offset-lg-90{margin-left:auto;margin-right:90%}.flex-offset-lg-95,.offset-lg-95{margin-left:95%}[dir=rtl] .flex-offset-lg-95,[dir=rtl] .offset-lg-95{margin-left:auto;margin-right:95%}.flex-offset-lg-33,.offset-lg-33{margin-left:calc(100% / 3)}.flex-offset-lg-66,.offset-lg-66{margin-left:calc(200% / 3)}[dir=rtl] .flex-offset-lg-66,[dir=rtl] .offset-lg-66{margin-left:auto;margin-right:calc(200% / 3)}.layout-align-lg,.layout-align-lg-start-stretch{justify-content:flex-start;align-content:stretch;align-items:stretch}.layout-align-lg-start,.layout-align-lg-start-center,.layout-align-lg-start-end,.layout-align-lg-start-start,.layout-align-lg-start-stretch{justify-content:flex-start}.layout-align-lg-center,.layout-align-lg-center-center,.layout-align-lg-center-end,.layout-align-lg-center-start,.layout-align-lg-center-stretch{justify-content:center}.layout-align-lg-end,.layout-align-lg-end-center,.layout-align-lg-end-end,.layout-align-lg-end-start,.layout-align-lg-end-stretch{justify-content:flex-end}.layout-align-lg-space-around,.layout-align-lg-space-around-center,.layout-align-lg-space-around-end,.layout-align-lg-space-around-start,.layout-align-lg-space-around-stretch{justify-content:space-around}.layout-align-lg-space-between,.layout-align-lg-space-between-center,.layout-align-lg-space-between-end,.layout-align-lg-space-between-start,.layout-align-lg-space-between-stretch{justify-content:space-between}.layout-align-lg-center-start,.layout-align-lg-end-start,.layout-align-lg-space-around-start,.layout-align-lg-space-between-start,.layout-align-lg-start-start{align-items:flex-start;align-content:flex-start}.layout-align-lg-center-center,.layout-align-lg-end-center,.layout-align-lg-space-around-center,.layout-align-lg-space-between-center,.layout-align-lg-start-center{align-items:center;align-content:center;max-width:100%}.layout-align-lg-center-center>*,.layout-align-lg-end-center>*,.layout-align-lg-space-around-center>*,.layout-align-lg-space-between-center>*,.layout-align-lg-start-center>*{max-width:100%;box-sizing:border-box}.flex-lg-0,.layout-row>.flex-lg-0{max-width:0%;max-height:100%}.layout-align-lg-center-end,.layout-align-lg-end-end,.layout-align-lg-space-around-end,.layout-align-lg-space-between-end,.layout-align-lg-start-end{align-items:flex-end;align-content:flex-end}.layout-align-lg-center-stretch,.layout-align-lg-end-stretch,.layout-align-lg-space-around-stretch,.layout-align-lg-space-between-stretch,.layout-align-lg-start-stretch{align-items:stretch;align-content:stretch}.flex-lg{flex:1;box-sizing:border-box}.flex-lg-0,.flex-lg-grow{flex:1 1 100%;box-sizing:border-box}.flex-lg-initial{flex:0 1 auto;box-sizing:border-box}.flex-lg-auto{flex:1 1 auto;box-sizing:border-box}.flex-lg-none{flex:0 0 auto;box-sizing:border-box}.flex-lg-noshrink{flex:1 0 auto;box-sizing:border-box}.flex-lg-nogrow{flex:0 1 auto;box-sizing:border-box}.layout-row>.flex-lg-0{flex:1 1 100%;box-sizing:border-box;min-width:0}.layout-column>.flex-lg-0{flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box}.layout-lg-row>.flex-lg-0{flex:1 1 100%;max-width:0%;max-height:100%;box-sizing:border-box;min-width:0}.layout-lg-column>.flex-lg-0{flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-lg-5,.layout-row>.flex-lg-5{flex:1 1 100%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-5{flex:1 1 100%;max-width:100%;max-height:5%;box-sizing:border-box}.layout-lg-row>.flex-lg-5{flex:1 1 100%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-5{flex:1 1 100%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-lg-10,.layout-row>.flex-lg-10{flex:1 1 100%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-10{flex:1 1 100%;max-width:100%;max-height:10%;box-sizing:border-box}.layout-lg-row>.flex-lg-10{flex:1 1 100%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-10{flex:1 1 100%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-lg-15,.layout-row>.flex-lg-15{flex:1 1 100%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-15{flex:1 1 100%;max-width:100%;max-height:15%;box-sizing:border-box}.layout-lg-row>.flex-lg-15{flex:1 1 100%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-15{flex:1 1 100%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-lg-20,.layout-row>.flex-lg-20{flex:1 1 100%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-20{flex:1 1 100%;max-width:100%;max-height:20%;box-sizing:border-box}.layout-lg-row>.flex-lg-20{flex:1 1 100%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-20{flex:1 1 100%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-lg-25,.layout-row>.flex-lg-25{flex:1 1 100%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-25{flex:1 1 100%;max-width:100%;max-height:25%;box-sizing:border-box}.layout-lg-row>.flex-lg-25{flex:1 1 100%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-25{flex:1 1 100%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-lg-30,.layout-row>.flex-lg-30{flex:1 1 100%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-30{flex:1 1 100%;max-width:100%;max-height:30%;box-sizing:border-box}.layout-lg-row>.flex-lg-30{flex:1 1 100%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-30{flex:1 1 100%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-lg-35,.layout-row>.flex-lg-35{flex:1 1 100%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-35{flex:1 1 100%;max-width:100%;max-height:35%;box-sizing:border-box}.layout-lg-row>.flex-lg-35{flex:1 1 100%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-35{flex:1 1 100%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-lg-40,.layout-row>.flex-lg-40{flex:1 1 100%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-40{flex:1 1 100%;max-width:100%;max-height:40%;box-sizing:border-box}.layout-lg-row>.flex-lg-40{flex:1 1 100%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-40{flex:1 1 100%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-lg-45,.layout-row>.flex-lg-45{flex:1 1 100%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-45{flex:1 1 100%;max-width:100%;max-height:45%;box-sizing:border-box}.layout-lg-row>.flex-lg-45{flex:1 1 100%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-45{flex:1 1 100%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-lg-50,.layout-row>.flex-lg-50{flex:1 1 100%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-50{flex:1 1 100%;max-width:100%;max-height:50%;box-sizing:border-box}.layout-lg-row>.flex-lg-50{flex:1 1 100%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-50{flex:1 1 100%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-lg-55,.layout-row>.flex-lg-55{flex:1 1 100%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-55{flex:1 1 100%;max-width:100%;max-height:55%;box-sizing:border-box}.layout-lg-row>.flex-lg-55{flex:1 1 100%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-55{flex:1 1 100%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-lg-60,.layout-row>.flex-lg-60{flex:1 1 100%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-60{flex:1 1 100%;max-width:100%;max-height:60%;box-sizing:border-box}.layout-lg-row>.flex-lg-60{flex:1 1 100%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-60{flex:1 1 100%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-lg-65,.layout-row>.flex-lg-65{flex:1 1 100%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-65{flex:1 1 100%;max-width:100%;max-height:65%;box-sizing:border-box}.layout-lg-row>.flex-lg-65{flex:1 1 100%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-65{flex:1 1 100%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-lg-70,.layout-row>.flex-lg-70{flex:1 1 100%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-70{flex:1 1 100%;max-width:100%;max-height:70%;box-sizing:border-box}.layout-lg-row>.flex-lg-70{flex:1 1 100%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-70{flex:1 1 100%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-lg-75,.layout-row>.flex-lg-75{flex:1 1 100%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-75{flex:1 1 100%;max-width:100%;max-height:75%;box-sizing:border-box}.layout-lg-row>.flex-lg-75{flex:1 1 100%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-75{flex:1 1 100%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-lg-80,.layout-row>.flex-lg-80{flex:1 1 100%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-80{flex:1 1 100%;max-width:100%;max-height:80%;box-sizing:border-box}.layout-lg-row>.flex-lg-80{flex:1 1 100%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-80{flex:1 1 100%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-lg-85,.layout-row>.flex-lg-85{flex:1 1 100%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-85{flex:1 1 100%;max-width:100%;max-height:85%;box-sizing:border-box}.layout-lg-row>.flex-lg-85{flex:1 1 100%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-85{flex:1 1 100%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-lg-90,.layout-row>.flex-lg-90{flex:1 1 100%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-90{flex:1 1 100%;max-width:100%;max-height:90%;box-sizing:border-box}.layout-lg-row>.flex-lg-90{flex:1 1 100%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-90{flex:1 1 100%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-lg-95,.layout-row>.flex-lg-95{flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-95{flex:1 1 100%;max-width:100%;max-height:95%;box-sizing:border-box}.layout-lg-row>.flex-lg-95{flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-95{flex:1 1 100%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-lg-100,.layout-column>.flex-lg-100,.layout-lg-column>.flex-lg-100,.layout-lg-row>.flex-lg-100,.layout-row>.flex-lg-100{flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-lg-33{flex:1 1 33.33%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-row>.flex-lg-66{flex:1 1 66.66%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-33{flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-lg-66{flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-lg-row>.flex-lg-33{flex:1 1 100%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-lg-row>.flex-lg-66{flex:1 1 100%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-lg-row>.flex{min-width:0}.layout-lg-column>.flex-lg-33{flex:1 1 100%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-lg-column>.flex-lg-66{flex:1 1 100%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-lg-column>.flex{min-height:0}.layout-lg,.layout-lg-column,.layout-lg-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.layout-lg-column{flex-direction:column}.layout-lg-row{flex-direction:row}}@media (min-width:1920px){.flex-order-gt-lg--20{order:-20}.flex-order-gt-lg--19{order:-19}.flex-order-gt-lg--18{order:-18}.flex-order-gt-lg--17{order:-17}.flex-order-gt-lg--16{order:-16}.flex-order-gt-lg--15{order:-15}.flex-order-gt-lg--14{order:-14}.flex-order-gt-lg--13{order:-13}.flex-order-gt-lg--12{order:-12}.flex-order-gt-lg--11{order:-11}.flex-order-gt-lg--10{order:-10}.flex-order-gt-lg--9{order:-9}.flex-order-gt-lg--8{order:-8}.flex-order-gt-lg--7{order:-7}.flex-order-gt-lg--6{order:-6}.flex-order-gt-lg--5{order:-5}.flex-order-gt-lg--4{order:-4}.flex-order-gt-lg--3{order:-3}.flex-order-gt-lg--2{order:-2}.flex-order-gt-lg--1{order:-1}.flex-order-gt-lg-0{order:0}.flex-order-gt-lg-1{order:1}.flex-order-gt-lg-2{order:2}.flex-order-gt-lg-3{order:3}.flex-order-gt-lg-4{order:4}.flex-order-gt-lg-5{order:5}.flex-order-gt-lg-6{order:6}.flex-order-gt-lg-7{order:7}.flex-order-gt-lg-8{order:8}.flex-order-gt-lg-9{order:9}.flex-order-gt-lg-10{order:10}.flex-order-gt-lg-11{order:11}.flex-order-gt-lg-12{order:12}.flex-order-gt-lg-13{order:13}.flex-order-gt-lg-14{order:14}.flex-order-gt-lg-15{order:15}.flex-order-gt-lg-16{order:16}.flex-order-gt-lg-17{order:17}.flex-order-gt-lg-18{order:18}.flex-order-gt-lg-19{order:19}.flex-order-gt-lg-20{order:20}.flex-offset-gt-lg-0,.offset-gt-lg-0{margin-left:0}[dir=rtl] .flex-offset-gt-lg-0,[dir=rtl] .offset-gt-lg-0{margin-left:auto;margin-right:0}.flex-offset-gt-lg-5,.offset-gt-lg-5{margin-left:5%}[dir=rtl] .flex-offset-gt-lg-5,[dir=rtl] .offset-gt-lg-5{margin-left:auto;margin-right:5%}.flex-offset-gt-lg-10,.offset-gt-lg-10{margin-left:10%}[dir=rtl] .flex-offset-gt-lg-10,[dir=rtl] .offset-gt-lg-10{margin-left:auto;margin-right:10%}.flex-offset-gt-lg-15,.offset-gt-lg-15{margin-left:15%}[dir=rtl] .flex-offset-gt-lg-15,[dir=rtl] .offset-gt-lg-15{margin-left:auto;margin-right:15%}.flex-offset-gt-lg-20,.offset-gt-lg-20{margin-left:20%}[dir=rtl] .flex-offset-gt-lg-20,[dir=rtl] .offset-gt-lg-20{margin-left:auto;margin-right:20%}.flex-offset-gt-lg-25,.offset-gt-lg-25{margin-left:25%}[dir=rtl] .flex-offset-gt-lg-25,[dir=rtl] .offset-gt-lg-25{margin-left:auto;margin-right:25%}.flex-offset-gt-lg-30,.offset-gt-lg-30{margin-left:30%}[dir=rtl] .flex-offset-gt-lg-30,[dir=rtl] .offset-gt-lg-30{margin-left:auto;margin-right:30%}.flex-offset-gt-lg-35,.offset-gt-lg-35{margin-left:35%}[dir=rtl] .flex-offset-gt-lg-35,[dir=rtl] .offset-gt-lg-35{margin-left:auto;margin-right:35%}.flex-offset-gt-lg-40,.offset-gt-lg-40{margin-left:40%}[dir=rtl] .flex-offset-gt-lg-40,[dir=rtl] .offset-gt-lg-40{margin-left:auto;margin-right:40%}.flex-offset-gt-lg-45,.offset-gt-lg-45{margin-left:45%}[dir=rtl] .flex-offset-gt-lg-45,[dir=rtl] .offset-gt-lg-45{margin-left:auto;margin-right:45%}.flex-offset-gt-lg-50,.offset-gt-lg-50{margin-left:50%}[dir=rtl] .flex-offset-gt-lg-50,[dir=rtl] .offset-gt-lg-50{margin-left:auto;margin-right:50%}.flex-offset-gt-lg-55,.offset-gt-lg-55{margin-left:55%}[dir=rtl] .flex-offset-gt-lg-55,[dir=rtl] .offset-gt-lg-55{margin-left:auto;margin-right:55%}.flex-offset-gt-lg-60,.offset-gt-lg-60{margin-left:60%}[dir=rtl] .flex-offset-gt-lg-60,[dir=rtl] .offset-gt-lg-60{margin-left:auto;margin-right:60%}.flex-offset-gt-lg-65,.offset-gt-lg-65{margin-left:65%}[dir=rtl] .flex-offset-gt-lg-65,[dir=rtl] .offset-gt-lg-65{margin-left:auto;margin-right:65%}.flex-offset-gt-lg-70,.offset-gt-lg-70{margin-left:70%}[dir=rtl] .flex-offset-gt-lg-70,[dir=rtl] .offset-gt-lg-70{margin-left:auto;margin-right:70%}.flex-offset-gt-lg-75,.offset-gt-lg-75{margin-left:75%}[dir=rtl] .flex-offset-gt-lg-75,[dir=rtl] .offset-gt-lg-75{margin-left:auto;margin-right:75%}.flex-offset-gt-lg-80,.offset-gt-lg-80{margin-left:80%}[dir=rtl] .flex-offset-gt-lg-80,[dir=rtl] .offset-gt-lg-80{margin-left:auto;margin-right:80%}.flex-offset-gt-lg-85,.offset-gt-lg-85{margin-left:85%}[dir=rtl] .flex-offset-gt-lg-85,[dir=rtl] .offset-gt-lg-85{margin-left:auto;margin-right:85%}.flex-offset-gt-lg-90,.offset-gt-lg-90{margin-left:90%}[dir=rtl] .flex-offset-gt-lg-90,[dir=rtl] .offset-gt-lg-90{margin-left:auto;margin-right:90%}.flex-offset-gt-lg-95,.offset-gt-lg-95{margin-left:95%}[dir=rtl] .flex-offset-gt-lg-95,[dir=rtl] .offset-gt-lg-95{margin-left:auto;margin-right:95%}.flex-offset-gt-lg-33,.offset-gt-lg-33{margin-left:calc(100% / 3)}.flex-offset-gt-lg-66,.offset-gt-lg-66{margin-left:calc(200% / 3)}[dir=rtl] .flex-offset-gt-lg-66,[dir=rtl] .offset-gt-lg-66{margin-left:auto;margin-right:calc(200% / 3)}.layout-align-gt-lg,.layout-align-gt-lg-start-stretch{justify-content:flex-start;align-content:stretch;align-items:stretch}.layout-align-gt-lg-start,.layout-align-gt-lg-start-center,.layout-align-gt-lg-start-end,.layout-align-gt-lg-start-start,.layout-align-gt-lg-start-stretch{justify-content:flex-start}.layout-align-gt-lg-center,.layout-align-gt-lg-center-center,.layout-align-gt-lg-center-end,.layout-align-gt-lg-center-start,.layout-align-gt-lg-center-stretch{justify-content:center}.layout-align-gt-lg-end,.layout-align-gt-lg-end-center,.layout-align-gt-lg-end-end,.layout-align-gt-lg-end-start,.layout-align-gt-lg-end-stretch{justify-content:flex-end}.layout-align-gt-lg-space-around,.layout-align-gt-lg-space-around-center,.layout-align-gt-lg-space-around-end,.layout-align-gt-lg-space-around-start,.layout-align-gt-lg-space-around-stretch{justify-content:space-around}.layout-align-gt-lg-space-between,.layout-align-gt-lg-space-between-center,.layout-align-gt-lg-space-between-end,.layout-align-gt-lg-space-between-start,.layout-align-gt-lg-space-between-stretch{justify-content:space-between}.layout-align-gt-lg-center-start,.layout-align-gt-lg-end-start,.layout-align-gt-lg-space-around-start,.layout-align-gt-lg-space-between-start,.layout-align-gt-lg-start-start{align-items:flex-start;align-content:flex-start}.layout-align-gt-lg-center-center,.layout-align-gt-lg-end-center,.layout-align-gt-lg-space-around-center,.layout-align-gt-lg-space-between-center,.layout-align-gt-lg-start-center{align-items:center;align-content:center;max-width:100%}.layout-align-gt-lg-center-center>*,.layout-align-gt-lg-end-center>*,.layout-align-gt-lg-space-around-center>*,.layout-align-gt-lg-space-between-center>*,.layout-align-gt-lg-start-center>*{max-width:100%;box-sizing:border-box}.flex-gt-lg-0,.layout-row>.flex-gt-lg-0{max-width:0%;max-height:100%}.layout-align-gt-lg-center-end,.layout-align-gt-lg-end-end,.layout-align-gt-lg-space-around-end,.layout-align-gt-lg-space-between-end,.layout-align-gt-lg-start-end{align-items:flex-end;align-content:flex-end}.layout-align-gt-lg-center-stretch,.layout-align-gt-lg-end-stretch,.layout-align-gt-lg-space-around-stretch,.layout-align-gt-lg-space-between-stretch,.layout-align-gt-lg-start-stretch{align-items:stretch;align-content:stretch}.flex-gt-lg{flex:1;box-sizing:border-box}.flex-gt-lg-0,.flex-gt-lg-grow{flex:1 1 100%;box-sizing:border-box}.flex-gt-lg-initial{flex:0 1 auto;box-sizing:border-box}.flex-gt-lg-auto{flex:1 1 auto;box-sizing:border-box}.flex-gt-lg-none{flex:0 0 auto;box-sizing:border-box}.flex-gt-lg-noshrink{flex:1 0 auto;box-sizing:border-box}.flex-gt-lg-nogrow{flex:0 1 auto;box-sizing:border-box}.layout-row>.flex-gt-lg-0{flex:1 1 100%;box-sizing:border-box;min-width:0}.layout-column>.flex-gt-lg-0{flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-0{flex:1 1 100%;max-width:0%;max-height:100%;box-sizing:border-box;min-width:0}.layout-gt-lg-column>.flex-gt-lg-0{flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-gt-lg-5,.layout-row>.flex-gt-lg-5{flex:1 1 100%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-5{flex:1 1 100%;max-width:100%;max-height:5%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-5{flex:1 1 100%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-5{flex:1 1 100%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-gt-lg-10,.layout-row>.flex-gt-lg-10{flex:1 1 100%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-10{flex:1 1 100%;max-width:100%;max-height:10%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-10{flex:1 1 100%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-10{flex:1 1 100%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-gt-lg-15,.layout-row>.flex-gt-lg-15{flex:1 1 100%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-15{flex:1 1 100%;max-width:100%;max-height:15%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-15{flex:1 1 100%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-15{flex:1 1 100%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-gt-lg-20,.layout-row>.flex-gt-lg-20{flex:1 1 100%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-20{flex:1 1 100%;max-width:100%;max-height:20%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-20{flex:1 1 100%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-20{flex:1 1 100%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-gt-lg-25,.layout-row>.flex-gt-lg-25{flex:1 1 100%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-25{flex:1 1 100%;max-width:100%;max-height:25%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-25{flex:1 1 100%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-25{flex:1 1 100%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-gt-lg-30,.layout-row>.flex-gt-lg-30{flex:1 1 100%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-30{flex:1 1 100%;max-width:100%;max-height:30%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-30{flex:1 1 100%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-30{flex:1 1 100%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-gt-lg-35,.layout-row>.flex-gt-lg-35{flex:1 1 100%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-35{flex:1 1 100%;max-width:100%;max-height:35%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-35{flex:1 1 100%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-35{flex:1 1 100%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-gt-lg-40,.layout-row>.flex-gt-lg-40{flex:1 1 100%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-40{flex:1 1 100%;max-width:100%;max-height:40%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-40{flex:1 1 100%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-40{flex:1 1 100%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-gt-lg-45,.layout-row>.flex-gt-lg-45{flex:1 1 100%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-45{flex:1 1 100%;max-width:100%;max-height:45%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-45{flex:1 1 100%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-45{flex:1 1 100%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-gt-lg-50,.layout-row>.flex-gt-lg-50{flex:1 1 100%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-50{flex:1 1 100%;max-width:100%;max-height:50%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-50{flex:1 1 100%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-50{flex:1 1 100%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-gt-lg-55,.layout-row>.flex-gt-lg-55{flex:1 1 100%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-55{flex:1 1 100%;max-width:100%;max-height:55%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-55{flex:1 1 100%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-55{flex:1 1 100%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-gt-lg-60,.layout-row>.flex-gt-lg-60{flex:1 1 100%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-60{flex:1 1 100%;max-width:100%;max-height:60%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-60{flex:1 1 100%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-60{flex:1 1 100%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-gt-lg-65,.layout-row>.flex-gt-lg-65{flex:1 1 100%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-65{flex:1 1 100%;max-width:100%;max-height:65%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-65{flex:1 1 100%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-65{flex:1 1 100%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-gt-lg-70,.layout-row>.flex-gt-lg-70{flex:1 1 100%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-70{flex:1 1 100%;max-width:100%;max-height:70%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-70{flex:1 1 100%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-70{flex:1 1 100%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-gt-lg-75,.layout-row>.flex-gt-lg-75{flex:1 1 100%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-75{flex:1 1 100%;max-width:100%;max-height:75%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-75{flex:1 1 100%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-75{flex:1 1 100%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-gt-lg-80,.layout-row>.flex-gt-lg-80{flex:1 1 100%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-80{flex:1 1 100%;max-width:100%;max-height:80%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-80{flex:1 1 100%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-80{flex:1 1 100%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-gt-lg-85,.layout-row>.flex-gt-lg-85{flex:1 1 100%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-85{flex:1 1 100%;max-width:100%;max-height:85%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-85{flex:1 1 100%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-85{flex:1 1 100%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-gt-lg-90,.layout-row>.flex-gt-lg-90{flex:1 1 100%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-90{flex:1 1 100%;max-width:100%;max-height:90%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-90{flex:1 1 100%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-90{flex:1 1 100%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-gt-lg-95,.layout-row>.flex-gt-lg-95{flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-95{flex:1 1 100%;max-width:100%;max-height:95%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-95{flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-95{flex:1 1 100%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-gt-lg-100,.layout-column>.flex-gt-lg-100,.layout-gt-lg-column>.flex-gt-lg-100,.layout-gt-lg-row>.flex-gt-lg-100,.layout-row>.flex-gt-lg-100{flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-lg-33{flex:1 1 33.33%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-lg-66{flex:1 1 66.66%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-33{flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-gt-lg-66{flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-33{flex:1 1 100%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-66{flex:1 1 100%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-gt-lg-row>.flex{min-width:0}.layout-gt-lg-column>.flex-gt-lg-33{flex:1 1 100%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-66{flex:1 1 100%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-gt-lg-column>.flex{min-height:0}.layout-gt-lg,.layout-gt-lg-column,.layout-gt-lg-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.layout-gt-lg-column{flex-direction:column}.layout-gt-lg-row{flex-direction:row}.flex-order-xl--20{order:-20}.flex-order-xl--19{order:-19}.flex-order-xl--18{order:-18}.flex-order-xl--17{order:-17}.flex-order-xl--16{order:-16}.flex-order-xl--15{order:-15}.flex-order-xl--14{order:-14}.flex-order-xl--13{order:-13}.flex-order-xl--12{order:-12}.flex-order-xl--11{order:-11}.flex-order-xl--10{order:-10}.flex-order-xl--9{order:-9}.flex-order-xl--8{order:-8}.flex-order-xl--7{order:-7}.flex-order-xl--6{order:-6}.flex-order-xl--5{order:-5}.flex-order-xl--4{order:-4}.flex-order-xl--3{order:-3}.flex-order-xl--2{order:-2}.flex-order-xl--1{order:-1}.flex-order-xl-0{order:0}.flex-order-xl-1{order:1}.flex-order-xl-2{order:2}.flex-order-xl-3{order:3}.flex-order-xl-4{order:4}.flex-order-xl-5{order:5}.flex-order-xl-6{order:6}.flex-order-xl-7{order:7}.flex-order-xl-8{order:8}.flex-order-xl-9{order:9}.flex-order-xl-10{order:10}.flex-order-xl-11{order:11}.flex-order-xl-12{order:12}.flex-order-xl-13{order:13}.flex-order-xl-14{order:14}.flex-order-xl-15{order:15}.flex-order-xl-16{order:16}.flex-order-xl-17{order:17}.flex-order-xl-18{order:18}.flex-order-xl-19{order:19}.flex-order-xl-20{order:20}.flex-offset-xl-0,.offset-xl-0{margin-left:0}[dir=rtl] .flex-offset-xl-0,[dir=rtl] .offset-xl-0{margin-left:auto;margin-right:0}.flex-offset-xl-5,.offset-xl-5{margin-left:5%}[dir=rtl] .flex-offset-xl-5,[dir=rtl] .offset-xl-5{margin-left:auto;margin-right:5%}.flex-offset-xl-10,.offset-xl-10{margin-left:10%}[dir=rtl] .flex-offset-xl-10,[dir=rtl] .offset-xl-10{margin-left:auto;margin-right:10%}.flex-offset-xl-15,.offset-xl-15{margin-left:15%}[dir=rtl] .flex-offset-xl-15,[dir=rtl] .offset-xl-15{margin-left:auto;margin-right:15%}.flex-offset-xl-20,.offset-xl-20{margin-left:20%}[dir=rtl] .flex-offset-xl-20,[dir=rtl] .offset-xl-20{margin-left:auto;margin-right:20%}.flex-offset-xl-25,.offset-xl-25{margin-left:25%}[dir=rtl] .flex-offset-xl-25,[dir=rtl] .offset-xl-25{margin-left:auto;margin-right:25%}.flex-offset-xl-30,.offset-xl-30{margin-left:30%}[dir=rtl] .flex-offset-xl-30,[dir=rtl] .offset-xl-30{margin-left:auto;margin-right:30%}.flex-offset-xl-35,.offset-xl-35{margin-left:35%}[dir=rtl] .flex-offset-xl-35,[dir=rtl] .offset-xl-35{margin-left:auto;margin-right:35%}.flex-offset-xl-40,.offset-xl-40{margin-left:40%}[dir=rtl] .flex-offset-xl-40,[dir=rtl] .offset-xl-40{margin-left:auto;margin-right:40%}.flex-offset-xl-45,.offset-xl-45{margin-left:45%}[dir=rtl] .flex-offset-xl-45,[dir=rtl] .offset-xl-45{margin-left:auto;margin-right:45%}.flex-offset-xl-50,.offset-xl-50{margin-left:50%}[dir=rtl] .flex-offset-xl-50,[dir=rtl] .offset-xl-50{margin-left:auto;margin-right:50%}.flex-offset-xl-55,.offset-xl-55{margin-left:55%}[dir=rtl] .flex-offset-xl-55,[dir=rtl] .offset-xl-55{margin-left:auto;margin-right:55%}.flex-offset-xl-60,.offset-xl-60{margin-left:60%}[dir=rtl] .flex-offset-xl-60,[dir=rtl] .offset-xl-60{margin-left:auto;margin-right:60%}.flex-offset-xl-65,.offset-xl-65{margin-left:65%}[dir=rtl] .flex-offset-xl-65,[dir=rtl] .offset-xl-65{margin-left:auto;margin-right:65%}.flex-offset-xl-70,.offset-xl-70{margin-left:70%}[dir=rtl] .flex-offset-xl-70,[dir=rtl] .offset-xl-70{margin-left:auto;margin-right:70%}.flex-offset-xl-75,.offset-xl-75{margin-left:75%}[dir=rtl] .flex-offset-xl-75,[dir=rtl] .offset-xl-75{margin-left:auto;margin-right:75%}.flex-offset-xl-80,.offset-xl-80{margin-left:80%}[dir=rtl] .flex-offset-xl-80,[dir=rtl] .offset-xl-80{margin-left:auto;margin-right:80%}.flex-offset-xl-85,.offset-xl-85{margin-left:85%}[dir=rtl] .flex-offset-xl-85,[dir=rtl] .offset-xl-85{margin-left:auto;margin-right:85%}.flex-offset-xl-90,.offset-xl-90{margin-left:90%}[dir=rtl] .flex-offset-xl-90,[dir=rtl] .offset-xl-90{margin-left:auto;margin-right:90%}.flex-offset-xl-95,.offset-xl-95{margin-left:95%}[dir=rtl] .flex-offset-xl-95,[dir=rtl] .offset-xl-95{margin-left:auto;margin-right:95%}.flex-offset-xl-33,.offset-xl-33{margin-left:calc(100% / 3)}.flex-offset-xl-66,.offset-xl-66{margin-left:calc(200% / 3)}[dir=rtl] .flex-offset-xl-66,[dir=rtl] .offset-xl-66{margin-left:auto;margin-right:calc(200% / 3)}.layout-align-xl,.layout-align-xl-start-stretch{justify-content:flex-start;align-content:stretch;align-items:stretch}.layout-align-xl-start,.layout-align-xl-start-center,.layout-align-xl-start-end,.layout-align-xl-start-start,.layout-align-xl-start-stretch{justify-content:flex-start}.layout-align-xl-center,.layout-align-xl-center-center,.layout-align-xl-center-end,.layout-align-xl-center-start,.layout-align-xl-center-stretch{justify-content:center}.layout-align-xl-end,.layout-align-xl-end-center,.layout-align-xl-end-end,.layout-align-xl-end-start,.layout-align-xl-end-stretch{justify-content:flex-end}.layout-align-xl-space-around,.layout-align-xl-space-around-center,.layout-align-xl-space-around-end,.layout-align-xl-space-around-start,.layout-align-xl-space-around-stretch{justify-content:space-around}.layout-align-xl-space-between,.layout-align-xl-space-between-center,.layout-align-xl-space-between-end,.layout-align-xl-space-between-start,.layout-align-xl-space-between-stretch{justify-content:space-between}.layout-align-xl-center-start,.layout-align-xl-end-start,.layout-align-xl-space-around-start,.layout-align-xl-space-between-start,.layout-align-xl-start-start{align-items:flex-start;align-content:flex-start}.layout-align-xl-center-center,.layout-align-xl-end-center,.layout-align-xl-space-around-center,.layout-align-xl-space-between-center,.layout-align-xl-start-center{align-items:center;align-content:center;max-width:100%}.layout-align-xl-center-center>*,.layout-align-xl-end-center>*,.layout-align-xl-space-around-center>*,.layout-align-xl-space-between-center>*,.layout-align-xl-start-center>*{max-width:100%;box-sizing:border-box}.flex-xl-0,.layout-row>.flex-xl-0{max-width:0%;max-height:100%}.layout-align-xl-center-end,.layout-align-xl-end-end,.layout-align-xl-space-around-end,.layout-align-xl-space-between-end,.layout-align-xl-start-end{align-items:flex-end;align-content:flex-end}.layout-align-xl-center-stretch,.layout-align-xl-end-stretch,.layout-align-xl-space-around-stretch,.layout-align-xl-space-between-stretch,.layout-align-xl-start-stretch{align-items:stretch;align-content:stretch}.flex-xl{flex:1;box-sizing:border-box}.flex-xl-0,.flex-xl-grow{flex:1 1 100%;box-sizing:border-box}.flex-xl-initial{flex:0 1 auto;box-sizing:border-box}.flex-xl-auto{flex:1 1 auto;box-sizing:border-box}.flex-xl-none{flex:0 0 auto;box-sizing:border-box}.flex-xl-noshrink{flex:1 0 auto;box-sizing:border-box}.flex-xl-nogrow{flex:0 1 auto;box-sizing:border-box}.layout-row>.flex-xl-0{flex:1 1 100%;box-sizing:border-box;min-width:0}.layout-column>.flex-xl-0{flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box}.layout-xl-row>.flex-xl-0{flex:1 1 100%;max-width:0%;max-height:100%;box-sizing:border-box;min-width:0}.layout-xl-column>.flex-xl-0{flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-xl-5,.layout-row>.flex-xl-5{flex:1 1 100%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-5{flex:1 1 100%;max-width:100%;max-height:5%;box-sizing:border-box}.layout-xl-row>.flex-xl-5{flex:1 1 100%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-5{flex:1 1 100%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-xl-10,.layout-row>.flex-xl-10{flex:1 1 100%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-10{flex:1 1 100%;max-width:100%;max-height:10%;box-sizing:border-box}.layout-xl-row>.flex-xl-10{flex:1 1 100%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-10{flex:1 1 100%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-xl-15,.layout-row>.flex-xl-15{flex:1 1 100%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-15{flex:1 1 100%;max-width:100%;max-height:15%;box-sizing:border-box}.layout-xl-row>.flex-xl-15{flex:1 1 100%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-15{flex:1 1 100%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-xl-20,.layout-row>.flex-xl-20{flex:1 1 100%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-20{flex:1 1 100%;max-width:100%;max-height:20%;box-sizing:border-box}.layout-xl-row>.flex-xl-20{flex:1 1 100%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-20{flex:1 1 100%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-xl-25,.layout-row>.flex-xl-25{flex:1 1 100%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-25{flex:1 1 100%;max-width:100%;max-height:25%;box-sizing:border-box}.layout-xl-row>.flex-xl-25{flex:1 1 100%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-25{flex:1 1 100%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-xl-30,.layout-row>.flex-xl-30{flex:1 1 100%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-30{flex:1 1 100%;max-width:100%;max-height:30%;box-sizing:border-box}.layout-xl-row>.flex-xl-30{flex:1 1 100%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-30{flex:1 1 100%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-xl-35,.layout-row>.flex-xl-35{flex:1 1 100%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-35{flex:1 1 100%;max-width:100%;max-height:35%;box-sizing:border-box}.layout-xl-row>.flex-xl-35{flex:1 1 100%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-35{flex:1 1 100%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-xl-40,.layout-row>.flex-xl-40{flex:1 1 100%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-40{flex:1 1 100%;max-width:100%;max-height:40%;box-sizing:border-box}.layout-xl-row>.flex-xl-40{flex:1 1 100%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-40{flex:1 1 100%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-xl-45,.layout-row>.flex-xl-45{flex:1 1 100%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-45{flex:1 1 100%;max-width:100%;max-height:45%;box-sizing:border-box}.layout-xl-row>.flex-xl-45{flex:1 1 100%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-45{flex:1 1 100%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-xl-50,.layout-row>.flex-xl-50{flex:1 1 100%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-50{flex:1 1 100%;max-width:100%;max-height:50%;box-sizing:border-box}.layout-xl-row>.flex-xl-50{flex:1 1 100%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-50{flex:1 1 100%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-xl-55,.layout-row>.flex-xl-55{flex:1 1 100%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-55{flex:1 1 100%;max-width:100%;max-height:55%;box-sizing:border-box}.layout-xl-row>.flex-xl-55{flex:1 1 100%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-55{flex:1 1 100%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-xl-60,.layout-row>.flex-xl-60{flex:1 1 100%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-60{flex:1 1 100%;max-width:100%;max-height:60%;box-sizing:border-box}.layout-xl-row>.flex-xl-60{flex:1 1 100%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-60{flex:1 1 100%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-xl-65,.layout-row>.flex-xl-65{flex:1 1 100%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-65{flex:1 1 100%;max-width:100%;max-height:65%;box-sizing:border-box}.layout-xl-row>.flex-xl-65{flex:1 1 100%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-65{flex:1 1 100%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-xl-70,.layout-row>.flex-xl-70{flex:1 1 100%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-70{flex:1 1 100%;max-width:100%;max-height:70%;box-sizing:border-box}.layout-xl-row>.flex-xl-70{flex:1 1 100%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-70{flex:1 1 100%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-xl-75,.layout-row>.flex-xl-75{flex:1 1 100%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-75{flex:1 1 100%;max-width:100%;max-height:75%;box-sizing:border-box}.layout-xl-row>.flex-xl-75{flex:1 1 100%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-75{flex:1 1 100%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-xl-80,.layout-row>.flex-xl-80{flex:1 1 100%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-80{flex:1 1 100%;max-width:100%;max-height:80%;box-sizing:border-box}.layout-xl-row>.flex-xl-80{flex:1 1 100%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-80{flex:1 1 100%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-xl-85,.layout-row>.flex-xl-85{flex:1 1 100%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-85{flex:1 1 100%;max-width:100%;max-height:85%;box-sizing:border-box}.layout-xl-row>.flex-xl-85{flex:1 1 100%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-85{flex:1 1 100%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-xl-90,.layout-row>.flex-xl-90{flex:1 1 100%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-90{flex:1 1 100%;max-width:100%;max-height:90%;box-sizing:border-box}.layout-xl-row>.flex-xl-90{flex:1 1 100%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-90{flex:1 1 100%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-xl-95,.layout-row>.flex-xl-95{flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-95{flex:1 1 100%;max-width:100%;max-height:95%;box-sizing:border-box}.layout-xl-row>.flex-xl-95{flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-95{flex:1 1 100%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-xl-100,.layout-column>.flex-xl-100,.layout-row>.flex-xl-100,.layout-xl-column>.flex-xl-100,.layout-xl-row>.flex-xl-100{flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-xl-33{flex:1 1 33.33%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-row>.flex-xl-66{flex:1 1 66.66%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-33{flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-xl-66{flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-xl-row>.flex-xl-33{flex:1 1 100%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-xl-row>.flex-xl-66{flex:1 1 100%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-xl-row>.flex{min-width:0}.layout-xl-column>.flex-xl-33{flex:1 1 100%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-xl-column>.flex-xl-66{flex:1 1 100%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-xl-column>.flex{min-height:0}.layout-xl,.layout-xl-column,.layout-xl-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.layout-xl-column{flex-direction:column}.layout-xl-row{flex-direction:row}.hide-gt-lg:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show),.hide-gt-md:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show),.hide-gt-sm:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show),.hide-gt-xs:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show),.hide-xl:not(.show-xl):not(.show-gt-lg):not(.show-gt-md):not(.show-gt-sm):not(.show-gt-xs):not(.show),.hide:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show){display:none}}@media print{[md-whiteframe],md-whiteframe{background-color:#fff}.hide-print:not(.show-print):not(.show){display:none!important}}.dtp .p10,.dtp .p20,.dtp .p60,.dtp .p80,.dtp table.dtp-picker-days tr>td>.dtp-select-day{display:inline-block}md-dialog.dtp{font-size:14px;line-height:1.42857143;color:#333;background-color:#fff;max-height:none;min-width:300px}.dtp :focus{outline:0!important}.dtp table{width:100%}.dtp .table>tbody>tr>td,.dtp .table>tbody>tr>th,.dtp .table>tfoot>tr>td,.dtp .table>tfoot>tr>th,.dtp .table>thead>tr>td,.dtp .table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.dtp,.dtp *{box-sizing:border-box!important}.dtp>.dtp-content{max-width:300px;max-height:500px}.dtp>.dtp-content>.dtp-date-view>header.dtp-header{background:#689F38;color:#fff;text-align:center;padding:3px}.dtp div.dtp-date,.dtp div.dtp-time{background:#8BC34A;text-align:center;color:#fff;padding:10px}.dtp div.dtp-date>div{padding:0;margin:0}.dtp div.dtp-actual-month{font-size:1.5em}.dtp div.dtp-actual-maxtime,.dtp div.dtp-actual-num{font-size:3em;line-height:.9}.dtp div.dtp-actual-year{font-size:1.6em;color:#DCEDC8}.dtp div.dtp-year-btn{font-size:1.4em;line-height:30px;cursor:pointer;color:#DCEDC8}.dtp div.dtp-year-btn-prev{text-align:right}.dtp div.dtp-year-btn-next{text-align:left}.dtp div.dtp-picker{padding:10px;text-align:center;overflow:hidden}.dtp div.dtp-actual-time,.dtp div.dtp-picker-month{font-weight:500;text-align:center}.dtp .dtp-close{position:absolute;top:.25em;right:5px;font-size:16px}.dtp .dtp-close>a{color:#fff;text-decoration:none}.dtp .dtp-close>a>i{font-size:1em}.dtp table.dtp-picker-days{margin:0;min-height:220px}.dtp md-virtual-repeat-container.months{height:260px}.dtp table.dtp-picker-days,.dtp table.dtp-picker-days tr,.dtp table.dtp-picker-days tr>td{border:none}.dtp table.dtp-picker-days tr>td{font-size:11px;text-align:center;padding:0}.dtp table.dtp-picker-days tr>td>span.dtp-select-day{color:#BDBDBD!important}.dtp table.dtp-picker-days tr>td,.dtp table.dtp-picker-days tr>td>.dtp-select-day{width:36px;height:36px}.dtp .dtp-picker-time>a,.dtp table.dtp-picker-days tr>td>.dtp-select-day{color:#212121;text-decoration:none;padding:10px;border-radius:50%!important}.dtp table.dtp-picker-days tr>td>a.selected{background:#8BC34A;color:#fff}.dtp table.dtp-picker-days tr>td>a.selected.hilite{padding:6px;font-size:16px;font-weight:500;background:#8BC34A;color:#fff}.dtp table.dtp-picker-days tr>td>a.hilite:not(.selected){padding:6px;font-size:16px;font-weight:500;color:#8BC34A}.dtp table.dtp-picker-days tr>td>a:hover:not(.selected){background:#ddd}.dtp table.dtp-picker-days tr>th{color:#757575;text-align:center;font-weight:700;padding:4px 3px;width:38px;height:28px}.dtp .p10>a{color:#689F38;text-decoration:none}.dtp .p10{width:10%}.dtp .p20{width:20%}.dtp .p60{width:60%}.dtp .p80{width:80%}.dtp a.dtp-meridien-am,.dtp a.dtp-meridien-pm{position:relative;top:10px;color:#212121;font-weight:500;padding:7px 5px;border-radius:50%!important;text-decoration:none;background:#eee;font-size:10px}.dtp .dtp-actual-meridien a.selected,.dtp .dtp-picker-time>a.dtp-select-hour.selected{background:#689F38;color:#fff}.dtp .dtp-picker-time>a{display:block;line-height:23px;padding:3px}.dtp .dtp-picker-time{position:absolute;width:30px;height:30px;font-size:1.1em;border-radius:50%;cursor:pointer;text-align:center!important}.dtp .dtp-picker-time>a.dtp-select-hour.disabled,.dtp .dtp-picker-time>a.dtp-select-minute.disabled{color:#757575}.dtp .dtp-picker-time>a.dtp-select-minute.selected{background:#8BC34A;color:#fff}.dtp div.dtp-picker-clock{margin:10px 20px 0;padding:10px;border-radius:50%!important;background:#eee}.dtp-clock-center{width:15px;height:15px;background:#757575;border-radius:50%;position:absolute;z-index:50}.dtp .dtp-hand,.dtp .dtp-hour-hand{position:absolute;width:4px;margin-left:-2px;background:#BDBDBD;-moz-transform:rotate(0);-ms-transform:rotate(0);-webkit-transform:rotate(0);transform:rotate(0);-moz-transform-origin:bottom;-ms-transform-origin:bottom;-webkit-transform-origin:bottom;transform-origin:bottom;z-index:1}.dtp .dtp-minute-hand{width:2px;margin-left:-1px}.dtp .dtp-hand.on{background:#8BC34A}.dtp .dtp-buttons{padding-bottom:10px;text-align:right}.center,.dtp .center{text-align:center}.dtp .hidden,.dtp.hidden{display:none}.block,.calm-icon,.show-inline{display:inline-block}.dtp .invisible{visibility:hidden}.dtp .left{float:left}.dtp .right{float:right}.dtp .clearfix{clear:both}ul>li{padding-bottom:10px;font-size:16px}.heading,p.heading{font-size:30px}li.item-select{height:50px}.top-left{float:left;top:0;height:80px;padding-bottom:15px}.from-top{margin-top:20px}.to-right{padding-left:100px}p.heading{padding-bottom:10px}.block{max-width:130px}.calm-icon{font-size:40px;margin-left:15px}.backdrop,.button.ng-hide{display:none}.item-icon-left .ion-spinner{float:left;margin-left:-3.2em;margin-right:1em;margin-top:-.2em}p.item-icon-left{color:#11C1F3}.popover{height:auto!important}label.item.item-input.item-text>input[type=text]{text-align:right}.lower-text{text-transform:lowercase}.labeled-control{padding-right:0;padding-left:14px;border-bottom:1px solid #ddd;height:72px}#map,.outer,.scroll{height:100%}.labeled-control .col{padding-top:23px}.show-again-checkbox{width:15%!important;position:relative;top:2px}.card-item{padding-top:8px;padding-bottom:8px}.bold{font-weight:700}.card-calm{margin:0;padding-bottom:0;padding-top:0}@keyframes fadein{0%,100%{opacity:0}50%{opacity:1}}@-webkit-keyframes fadein{0%,100%{opacity:0}50%{opacity:1}}#list{width:170px;margin:30px auto;font-size:20px}#list ol{margin-top:30px}#list ol li{text-align:left;list-style:decimal;margin:10px 0}.col-l{margin-right:-100px}.up-top{margin-top:-8px}#import-iframe{padding:10px}@media (max-width:400px){#rem-set-left{width:80%;flex:none}#rem-set-right{width:20%;flex:none}}#map,.inner,.outer{width:100%}.item-select select{padding:14px 48px 8px 16px}.isBrowserView{overflow-y:auto!important}.text-right{text-align:right}.margin-bottom-0{margin-bottom:0}.outer{display:table;position:absolute}.middle{display:table-cell;vertical-align:middle}#statisticsCard .right-text,.variable-settings .right-text{vertical-align:baseline;white-space:normal;text-align:right;float:right}.inner{margin-left:auto;margin-right:auto}.platform-ios .opaque-on-ios{opacity:1}.row+.row{margin-top:0;padding-top:5px}.align-right{text-align:right}.title.title-center.header-item{max-width:43%;margin:auto}.white-links a,.white-links a:active,.white-links a:hover,.white-links a:visited{color:#fff}.mfb-component--bl,.mfb-component--br,.mfb-component--tl,.mfb-component--tr{box-sizing:border-box;margin:25px;position:fixed;white-space:nowrap;z-index:30;padding-left:0;list-style:none}.mfb-component--bl *,.mfb-component--bl :after,.mfb-component--bl :before,.mfb-component--br *,.mfb-component--br :after,.mfb-component--br :before,.mfb-component--tl *,.mfb-component--tl :after,.mfb-component--tl :before,.mfb-component--tr *,.mfb-component--tr :after,.mfb-component--tr :before{box-sizing:inherit}.mfb-component--tl{left:0;top:0}.mfb-component--tr{right:0;top:0}.mfb-component--bl{left:0;bottom:0}.mfb-component--br{right:0;bottom:0}.mfb-component__button--child,.mfb-component__button--main{background-color:#b7000a;display:inline-block;border:none;border-radius:50%;box-shadow:0 0 4px rgba(0,0,0,.14),0 4px 8px rgba(0,0,0,.28);cursor:pointer;outline:0;padding:0;position:relative;-webkit-user-drag:none;color:#f1f1f1}.mfb-component__list{list-style:none;margin:0;padding:0}.mfb-component__list>li{display:block;position:absolute;top:0;right:1px;padding:10px 0;margin:-10px 0}.mfb-component__child-icon,.mfb-component__icon,.mfb-component__main-icon--active,.mfb-component__main-icon--resting{position:absolute;font-size:18px;text-align:center;line-height:56px;width:100%}.mfb-component__wrap{padding:25px;margin:-25px}[data-mfb-state=open] .mfb-component__child-icon,[data-mfb-state=open] .mfb-component__icon,[data-mfb-state=open] .mfb-component__main-icon--active,[data-mfb-state=open] .mfb-component__main-icon--resting,[data-mfb-toggle=hover]:hover .mfb-component__child-icon,[data-mfb-toggle=hover]:hover .mfb-component__icon,[data-mfb-toggle=hover]:hover .mfb-component__main-icon--active,[data-mfb-toggle=hover]:hover .mfb-component__main-icon--resting{-webkit-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}.mfb-component__button--main{height:56px;width:56px;z-index:20}.mfb-component__button--child{height:56px;width:56px}.mfb-component__main-icon--active,.mfb-component__main-icon--resting{-webkit-transform:scale(1) rotate(360deg);transform:scale(1) rotate(360deg);-webkit-transition:-webkit-transform 150ms cubic-bezier(.4,0,1,1);transition:transform 150ms cubic-bezier(.4,0,1,1)}.mfb-component__child-icon{line-height:56px;font-size:18px}.mfb-component__main-icon--active{opacity:0}[data-mfb-state=open] .mfb-component__main-icon,[data-mfb-toggle=hover]:hover .mfb-component__main-icon{-webkit-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}[data-mfb-state=open] .mfb-component__main-icon--resting,[data-mfb-toggle=hover]:hover .mfb-component__main-icon--resting{opacity:0;position:absolute!important}[data-mfb-state=open] .mfb-component__main-icon--active,[data-mfb-toggle=hover]:hover .mfb-component__main-icon--active{opacity:1}.mfb-component--tl.mfb-slidein .mfb-component__list li,.mfb-component--tr.mfb-slidein .mfb-component__list li{opacity:0;transition:all .5s}.mfb-component--tl.mfb-slidein[data-mfb-state=open] .mfb-component__list li,.mfb-component--tl.mfb-slidein[data-mfb-toggle=hover]:hover .mfb-component__list li,.mfb-component--tr.mfb-slidein[data-mfb-state=open] .mfb-component__list li,.mfb-component--tr.mfb-slidein[data-mfb-toggle=hover]:hover .mfb-component__list li{opacity:1}.mfb-component--tl.mfb-slidein[data-mfb-state=open] .mfb-component__list li:nth-child(1),.mfb-component--tl.mfb-slidein[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(1),.mfb-component--tr.mfb-slidein[data-mfb-state=open] .mfb-component__list li:nth-child(1),.mfb-component--tr.mfb-slidein[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(1){-webkit-transform:translateY(70px);transform:translateY(70px)}.mfb-component--tl.mfb-slidein[data-mfb-state=open] .mfb-component__list li:nth-child(2),.mfb-component--tl.mfb-slidein[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(2),.mfb-component--tr.mfb-slidein[data-mfb-state=open] .mfb-component__list li:nth-child(2),.mfb-component--tr.mfb-slidein[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(2){-webkit-transform:translateY(140px);transform:translateY(140px)}.mfb-component--tl.mfb-slidein[data-mfb-state=open] .mfb-component__list li:nth-child(3),.mfb-component--tl.mfb-slidein[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(3),.mfb-component--tr.mfb-slidein[data-mfb-state=open] .mfb-component__list li:nth-child(3),.mfb-component--tr.mfb-slidein[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(3){-webkit-transform:translateY(210px);transform:translateY(210px)}.mfb-component--tl.mfb-slidein[data-mfb-state=open] .mfb-component__list li:nth-child(4),.mfb-component--tl.mfb-slidein[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(4),.mfb-component--tr.mfb-slidein[data-mfb-state=open] .mfb-component__list li:nth-child(4),.mfb-component--tr.mfb-slidein[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(4){-webkit-transform:translateY(280px);transform:translateY(280px)}.mfb-component--bl.mfb-slidein .mfb-component__list li,.mfb-component--br.mfb-slidein .mfb-component__list li{opacity:0;transition:all .5s}.mfb-component--bl.mfb-slidein[data-mfb-state=open] .mfb-component__list li,.mfb-component--bl.mfb-slidein[data-mfb-toggle=hover]:hover .mfb-component__list li,.mfb-component--br.mfb-slidein[data-mfb-state=open] .mfb-component__list li,.mfb-component--br.mfb-slidein[data-mfb-toggle=hover]:hover .mfb-component__list li{opacity:1}.mfb-component--bl.mfb-slidein[data-mfb-state=open] .mfb-component__list li:nth-child(1),.mfb-component--bl.mfb-slidein[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(1),.mfb-component--br.mfb-slidein[data-mfb-state=open] .mfb-component__list li:nth-child(1),.mfb-component--br.mfb-slidein[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(1){-webkit-transform:translateY(-70px);transform:translateY(-70px)}.mfb-component--bl.mfb-slidein[data-mfb-state=open] .mfb-component__list li:nth-child(2),.mfb-component--bl.mfb-slidein[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(2),.mfb-component--br.mfb-slidein[data-mfb-state=open] .mfb-component__list li:nth-child(2),.mfb-component--br.mfb-slidein[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(2){-webkit-transform:translateY(-140px);transform:translateY(-140px)}.mfb-component--bl.mfb-slidein[data-mfb-state=open] .mfb-component__list li:nth-child(3),.mfb-component--bl.mfb-slidein[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(3),.mfb-component--br.mfb-slidein[data-mfb-state=open] .mfb-component__list li:nth-child(3),.mfb-component--br.mfb-slidein[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(3){-webkit-transform:translateY(-210px);transform:translateY(-210px)}.mfb-component--bl.mfb-slidein[data-mfb-state=open] .mfb-component__list li:nth-child(4),.mfb-component--bl.mfb-slidein[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(4),.mfb-component--br.mfb-slidein[data-mfb-state=open] .mfb-component__list li:nth-child(4),.mfb-component--br.mfb-slidein[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(4){-webkit-transform:translateY(-280px);transform:translateY(-280px)}.mfb-component--tl.mfb-slidein-spring .mfb-component__list li,.mfb-component--tr.mfb-slidein-spring .mfb-component__list li{opacity:0;transition:all .5s;transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}.mfb-component--tl.mfb-slidein-spring .mfb-component__list li:nth-child(1),.mfb-component--tr.mfb-slidein-spring .mfb-component__list li:nth-child(1){transition-delay:50ms}.mfb-component--tl.mfb-slidein-spring .mfb-component__list li:nth-child(2),.mfb-component--tr.mfb-slidein-spring .mfb-component__list li:nth-child(2){transition-delay:.1s}.mfb-component--tl.mfb-slidein-spring .mfb-component__list li:nth-child(3),.mfb-component--tr.mfb-slidein-spring .mfb-component__list li:nth-child(3){transition-delay:.15s}.mfb-component--tl.mfb-slidein-spring .mfb-component__list li:nth-child(4),.mfb-component--tr.mfb-slidein-spring .mfb-component__list li:nth-child(4){transition-delay:.2s}.mfb-component--tl.mfb-slidein-spring[data-mfb-state=open] .mfb-component__list li,.mfb-component--tl.mfb-slidein-spring[data-mfb-toggle=hover]:hover .mfb-component__list li,.mfb-component--tr.mfb-slidein-spring[data-mfb-state=open] .mfb-component__list li,.mfb-component--tr.mfb-slidein-spring[data-mfb-toggle=hover]:hover .mfb-component__list li{opacity:1}.mfb-component--tl.mfb-slidein-spring[data-mfb-state=open] .mfb-component__list li:nth-child(1),.mfb-component--tl.mfb-slidein-spring[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(1),.mfb-component--tr.mfb-slidein-spring[data-mfb-state=open] .mfb-component__list li:nth-child(1),.mfb-component--tr.mfb-slidein-spring[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(1){transition-delay:50ms;-webkit-transform:translateY(70px);transform:translateY(70px)}.mfb-component--tl.mfb-slidein-spring[data-mfb-state=open] .mfb-component__list li:nth-child(2),.mfb-component--tl.mfb-slidein-spring[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(2),.mfb-component--tr.mfb-slidein-spring[data-mfb-state=open] .mfb-component__list li:nth-child(2),.mfb-component--tr.mfb-slidein-spring[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(2){transition-delay:.1s;-webkit-transform:translateY(140px);transform:translateY(140px)}.mfb-component--tl.mfb-slidein-spring[data-mfb-state=open] .mfb-component__list li:nth-child(3),.mfb-component--tl.mfb-slidein-spring[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(3),.mfb-component--tr.mfb-slidein-spring[data-mfb-state=open] .mfb-component__list li:nth-child(3),.mfb-component--tr.mfb-slidein-spring[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(3){transition-delay:.15s;-webkit-transform:translateY(210px);transform:translateY(210px)}.mfb-component--tl.mfb-slidein-spring[data-mfb-state=open] .mfb-component__list li:nth-child(4),.mfb-component--tl.mfb-slidein-spring[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(4),.mfb-component--tr.mfb-slidein-spring[data-mfb-state=open] .mfb-component__list li:nth-child(4),.mfb-component--tr.mfb-slidein-spring[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(4){transition-delay:.2s;-webkit-transform:translateY(280px);transform:translateY(280px)}.mfb-component--bl.mfb-slidein-spring .mfb-component__list li,.mfb-component--br.mfb-slidein-spring .mfb-component__list li{opacity:0;transition:all .5s;transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}.mfb-component--bl.mfb-slidein-spring .mfb-component__list li:nth-child(1),.mfb-component--br.mfb-slidein-spring .mfb-component__list li:nth-child(1){transition-delay:50ms}.mfb-component--bl.mfb-slidein-spring .mfb-component__list li:nth-child(2),.mfb-component--br.mfb-slidein-spring .mfb-component__list li:nth-child(2){transition-delay:.1s}.mfb-component--bl.mfb-slidein-spring .mfb-component__list li:nth-child(3),.mfb-component--br.mfb-slidein-spring .mfb-component__list li:nth-child(3){transition-delay:.15s}.mfb-component--bl.mfb-slidein-spring .mfb-component__list li:nth-child(4),.mfb-component--br.mfb-slidein-spring .mfb-component__list li:nth-child(4){transition-delay:.2s}.mfb-component--bl.mfb-slidein-spring[data-mfb-state=open] .mfb-component__list li,.mfb-component--bl.mfb-slidein-spring[data-mfb-toggle=hover]:hover .mfb-component__list li,.mfb-component--br.mfb-slidein-spring[data-mfb-state=open] .mfb-component__list li,.mfb-component--br.mfb-slidein-spring[data-mfb-toggle=hover]:hover .mfb-component__list li{opacity:1}.mfb-component--bl.mfb-slidein-spring[data-mfb-state=open] .mfb-component__list li:nth-child(1),.mfb-component--bl.mfb-slidein-spring[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(1),.mfb-component--br.mfb-slidein-spring[data-mfb-state=open] .mfb-component__list li:nth-child(1),.mfb-component--br.mfb-slidein-spring[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(1){transition-delay:50ms;-webkit-transform:translateY(-70px);transform:translateY(-70px)}.mfb-component--bl.mfb-slidein-spring[data-mfb-state=open] .mfb-component__list li:nth-child(2),.mfb-component--bl.mfb-slidein-spring[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(2),.mfb-component--br.mfb-slidein-spring[data-mfb-state=open] .mfb-component__list li:nth-child(2),.mfb-component--br.mfb-slidein-spring[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(2){transition-delay:.1s;-webkit-transform:translateY(-140px);transform:translateY(-140px)}.mfb-component--bl.mfb-slidein-spring[data-mfb-state=open] .mfb-component__list li:nth-child(3),.mfb-component--bl.mfb-slidein-spring[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(3),.mfb-component--br.mfb-slidein-spring[data-mfb-state=open] .mfb-component__list li:nth-child(3),.mfb-component--br.mfb-slidein-spring[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(3){transition-delay:.15s;-webkit-transform:translateY(-210px);transform:translateY(-210px)}.mfb-component--bl.mfb-slidein-spring[data-mfb-state=open] .mfb-component__list li:nth-child(4),.mfb-component--bl.mfb-slidein-spring[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(4),.mfb-component--br.mfb-slidein-spring[data-mfb-state=open] .mfb-component__list li:nth-child(4),.mfb-component--br.mfb-slidein-spring[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(4){transition-delay:.2s;-webkit-transform:translateY(-280px);transform:translateY(-280px)}.mfb-component--tl.mfb-zoomin .mfb-component__list li,.mfb-component--tr.mfb-zoomin .mfb-component__list li{-webkit-transform:scale(0);transform:scale(0)}.mfb-component--tl.mfb-zoomin .mfb-component__list li:nth-child(1),.mfb-component--tr.mfb-zoomin .mfb-component__list li:nth-child(1){-webkit-transform:translateY(70px) scale(0);transform:translateY(70px) scale(0);transition:all .5s;transition-delay:.15s}.mfb-component--tl.mfb-zoomin .mfb-component__list li:nth-child(2),.mfb-component--tr.mfb-zoomin .mfb-component__list li:nth-child(2){-webkit-transform:translateY(140px) scale(0);transform:translateY(140px) scale(0);transition:all .5s;transition-delay:.1s}.mfb-component--tl.mfb-zoomin .mfb-component__list li:nth-child(3),.mfb-component--tr.mfb-zoomin .mfb-component__list li:nth-child(3){-webkit-transform:translateY(210px) scale(0);transform:translateY(210px) scale(0);transition:all .5s;transition-delay:50ms}.mfb-component--tl.mfb-zoomin .mfb-component__list li:nth-child(4),.mfb-component--tr.mfb-zoomin .mfb-component__list li:nth-child(4){-webkit-transform:translateY(280px) scale(0);transform:translateY(280px) scale(0);transition:all .5s;transition-delay:0s}.mfb-component--tl.mfb-zoomin[data-mfb-state=open] .mfb-component__list li:nth-child(1),.mfb-component--tl.mfb-zoomin[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(1),.mfb-component--tr.mfb-zoomin[data-mfb-state=open] .mfb-component__list li:nth-child(1),.mfb-component--tr.mfb-zoomin[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(1){-webkit-transform:translateY(70px) scale(1);transform:translateY(70px) scale(1);transition-delay:50ms}.mfb-component--tl.mfb-zoomin[data-mfb-state=open] .mfb-component__list li:nth-child(2),.mfb-component--tl.mfb-zoomin[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(2),.mfb-component--tr.mfb-zoomin[data-mfb-state=open] .mfb-component__list li:nth-child(2),.mfb-component--tr.mfb-zoomin[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(2){-webkit-transform:translateY(140px) scale(1);transform:translateY(140px) scale(1);transition-delay:.1s}.mfb-component--tl.mfb-zoomin[data-mfb-state=open] .mfb-component__list li:nth-child(3),.mfb-component--tl.mfb-zoomin[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(3),.mfb-component--tr.mfb-zoomin[data-mfb-state=open] .mfb-component__list li:nth-child(3),.mfb-component--tr.mfb-zoomin[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(3){-webkit-transform:translateY(210px) scale(1);transform:translateY(210px) scale(1);transition-delay:.15s}.mfb-component--tl.mfb-zoomin[data-mfb-state=open] .mfb-component__list li:nth-child(4),.mfb-component--tl.mfb-zoomin[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(4),.mfb-component--tr.mfb-zoomin[data-mfb-state=open] .mfb-component__list li:nth-child(4),.mfb-component--tr.mfb-zoomin[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(4){-webkit-transform:translateY(280px) scale(1);transform:translateY(280px) scale(1);transition-delay:.2s}.mfb-component--bl.mfb-zoomin .mfb-component__list li,.mfb-component--br.mfb-zoomin .mfb-component__list li{-webkit-transform:scale(0);transform:scale(0)}.mfb-component--bl.mfb-zoomin .mfb-component__list li:nth-child(1),.mfb-component--br.mfb-zoomin .mfb-component__list li:nth-child(1){-webkit-transform:translateY(-70px) scale(0);transform:translateY(-70px) scale(0);transition:all .5s;transition-delay:.15s}.mfb-component--bl.mfb-zoomin .mfb-component__list li:nth-child(2),.mfb-component--br.mfb-zoomin .mfb-component__list li:nth-child(2){-webkit-transform:translateY(-140px) scale(0);transform:translateY(-140px) scale(0);transition:all .5s;transition-delay:.1s}.mfb-component--bl.mfb-zoomin .mfb-component__list li:nth-child(3),.mfb-component--br.mfb-zoomin .mfb-component__list li:nth-child(3){-webkit-transform:translateY(-210px) scale(0);transform:translateY(-210px) scale(0);transition:all .5s;transition-delay:50ms}.mfb-component--bl.mfb-zoomin .mfb-component__list li:nth-child(4),.mfb-component--br.mfb-zoomin .mfb-component__list li:nth-child(4){-webkit-transform:translateY(-280px) scale(0);transform:translateY(-280px) scale(0);transition:all .5s;transition-delay:0s}.mfb-component--bl.mfb-zoomin[data-mfb-state=open] .mfb-component__list li:nth-child(1),.mfb-component--bl.mfb-zoomin[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(1),.mfb-component--br.mfb-zoomin[data-mfb-state=open] .mfb-component__list li:nth-child(1),.mfb-component--br.mfb-zoomin[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(1){-webkit-transform:translateY(-70px) scale(1);transform:translateY(-70px) scale(1);transition-delay:50ms}.mfb-component--bl.mfb-zoomin[data-mfb-state=open] .mfb-component__list li:nth-child(2),.mfb-component--bl.mfb-zoomin[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(2),.mfb-component--br.mfb-zoomin[data-mfb-state=open] .mfb-component__list li:nth-child(2),.mfb-component--br.mfb-zoomin[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(2){-webkit-transform:translateY(-140px) scale(1);transform:translateY(-140px) scale(1);transition-delay:.1s}.mfb-component--bl.mfb-zoomin[data-mfb-state=open] .mfb-component__list li:nth-child(3),.mfb-component--bl.mfb-zoomin[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(3),.mfb-component--br.mfb-zoomin[data-mfb-state=open] .mfb-component__list li:nth-child(3),.mfb-component--br.mfb-zoomin[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(3){-webkit-transform:translateY(-210px) scale(1);transform:translateY(-210px) scale(1);transition-delay:.15s}.mfb-component--bl.mfb-zoomin[data-mfb-state=open] .mfb-component__list li:nth-child(4),.mfb-component--bl.mfb-zoomin[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(4),.mfb-component--br.mfb-zoomin[data-mfb-state=open] .mfb-component__list li:nth-child(4),.mfb-component--br.mfb-zoomin[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(4){-webkit-transform:translateY(-280px) scale(1);transform:translateY(-280px) scale(1);transition-delay:.2s}.mfb-component--tl.mfb-fountain .mfb-component__list li,.mfb-component--tr.mfb-fountain .mfb-component__list li{-webkit-transform:scale(0);transform:scale(0)}.mfb-component--tl.mfb-fountain .mfb-component__list li:nth-child(1),.mfb-component--tr.mfb-fountain .mfb-component__list li:nth-child(1){-webkit-transform:translateY(-70px) scale(0);transform:translateY(-70px) scale(0);transition:all .5s;transition-delay:.15s}.mfb-component--tl.mfb-fountain .mfb-component__list li:nth-child(2),.mfb-component--tr.mfb-fountain .mfb-component__list li:nth-child(2){-webkit-transform:translateY(-140px) scale(0);transform:translateY(-140px) scale(0);transition:all .5s;transition-delay:.1s}.mfb-component--tl.mfb-fountain .mfb-component__list li:nth-child(3),.mfb-component--tr.mfb-fountain .mfb-component__list li:nth-child(3){-webkit-transform:translateY(-210px) scale(0);transform:translateY(-210px) scale(0);transition:all .5s;transition-delay:50ms}.mfb-component--tl.mfb-fountain .mfb-component__list li:nth-child(4),.mfb-component--tr.mfb-fountain .mfb-component__list li:nth-child(4){-webkit-transform:translateY(-280px) scale(0);transform:translateY(-280px) scale(0);transition:all .5s;transition-delay:0s}.mfb-component--tl.mfb-fountain[data-mfb-state=open] .mfb-component__list li:nth-child(1),.mfb-component--tl.mfb-fountain[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(1),.mfb-component--tr.mfb-fountain[data-mfb-state=open] .mfb-component__list li:nth-child(1),.mfb-component--tr.mfb-fountain[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(1){-webkit-transform:translateY(70px) scale(1);transform:translateY(70px) scale(1);transition-delay:50ms}.mfb-component--tl.mfb-fountain[data-mfb-state=open] .mfb-component__list li:nth-child(2),.mfb-component--tl.mfb-fountain[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(2),.mfb-component--tr.mfb-fountain[data-mfb-state=open] .mfb-component__list li:nth-child(2),.mfb-component--tr.mfb-fountain[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(2){-webkit-transform:translateY(140px) scale(1);transform:translateY(140px) scale(1);transition-delay:.1s}.mfb-component--tl.mfb-fountain[data-mfb-state=open] .mfb-component__list li:nth-child(3),.mfb-component--tl.mfb-fountain[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(3),.mfb-component--tr.mfb-fountain[data-mfb-state=open] .mfb-component__list li:nth-child(3),.mfb-component--tr.mfb-fountain[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(3){-webkit-transform:translateY(210px) scale(1);transform:translateY(210px) scale(1);transition-delay:.15s}.mfb-component--tl.mfb-fountain[data-mfb-state=open] .mfb-component__list li:nth-child(4),.mfb-component--tl.mfb-fountain[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(4),.mfb-component--tr.mfb-fountain[data-mfb-state=open] .mfb-component__list li:nth-child(4),.mfb-component--tr.mfb-fountain[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(4){-webkit-transform:translateY(280px) scale(1);transform:translateY(280px) scale(1);transition-delay:.2s}.mfb-component--bl.mfb-fountain .mfb-component__list li,.mfb-component--br.mfb-fountain .mfb-component__list li{-webkit-transform:scale(0);transform:scale(0)}.mfb-component--bl.mfb-fountain .mfb-component__list li:nth-child(1),.mfb-component--br.mfb-fountain .mfb-component__list li:nth-child(1){-webkit-transform:translateY(70px) scale(0);transform:translateY(70px) scale(0);transition:all .5s;transition-delay:.15s}.mfb-component--bl.mfb-fountain .mfb-component__list li:nth-child(2),.mfb-component--br.mfb-fountain .mfb-component__list li:nth-child(2){-webkit-transform:translateY(140px) scale(0);transform:translateY(140px) scale(0);transition:all .5s;transition-delay:.1s}.mfb-component--bl.mfb-fountain .mfb-component__list li:nth-child(3),.mfb-component--br.mfb-fountain .mfb-component__list li:nth-child(3){-webkit-transform:translateY(210px) scale(0);transform:translateY(210px) scale(0);transition:all .5s;transition-delay:50ms}.mfb-component--bl.mfb-fountain .mfb-component__list li:nth-child(4),.mfb-component--br.mfb-fountain .mfb-component__list li:nth-child(4){-webkit-transform:translateY(280px) scale(0);transform:translateY(280px) scale(0);transition:all .5s;transition-delay:0s}.mfb-component--bl.mfb-fountain[data-mfb-state=open] .mfb-component__list li:nth-child(1),.mfb-component--bl.mfb-fountain[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(1),.mfb-component--br.mfb-fountain[data-mfb-state=open] .mfb-component__list li:nth-child(1),.mfb-component--br.mfb-fountain[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(1){-webkit-transform:translateY(-70px) scale(1);transform:translateY(-70px) scale(1);transition-delay:50ms}.mfb-component--bl.mfb-fountain[data-mfb-state=open] .mfb-component__list li:nth-child(2),.mfb-component--bl.mfb-fountain[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(2),.mfb-component--br.mfb-fountain[data-mfb-state=open] .mfb-component__list li:nth-child(2),.mfb-component--br.mfb-fountain[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(2){-webkit-transform:translateY(-140px) scale(1);transform:translateY(-140px) scale(1);transition-delay:.1s}.mfb-component--bl.mfb-fountain[data-mfb-state=open] .mfb-component__list li:nth-child(3),.mfb-component--bl.mfb-fountain[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(3),.mfb-component--br.mfb-fountain[data-mfb-state=open] .mfb-component__list li:nth-child(3),.mfb-component--br.mfb-fountain[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(3){-webkit-transform:translateY(-210px) scale(1);transform:translateY(-210px) scale(1);transition-delay:.15s}.mfb-component--bl.mfb-fountain[data-mfb-state=open] .mfb-component__list li:nth-child(4),.mfb-component--bl.mfb-fountain[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(4),.mfb-component--br.mfb-fountain[data-mfb-state=open] .mfb-component__list li:nth-child(4),.mfb-component--br.mfb-fountain[data-mfb-toggle=hover]:hover .mfb-component__list li:nth-child(4){-webkit-transform:translateY(-280px) scale(1);transform:translateY(-280px) scale(1);transition-delay:.2s}[data-mfb-label]:after{content:attr(data-mfb-label);opacity:0;background:rgba(82,82,82,.9);padding:4px 10px;border-radius:3px;color:rgba(255,255,255,.8);font-size:14px;font-weight:400;pointer-events:none;line-height:normal;position:absolute;top:50%;margin-top:-11px;transition:all .5s}[data-mfb-state=open] [data-mfb-label]:after,[data-mfb-toggle=hover] [data-mfb-label]:hover:after{content:attr(data-mfb-label);opacity:1;transition:all .3s}.mfb-component--br .mfb-component__list [data-mfb-label]:after,.mfb-component--br [data-mfb-label]:after,.mfb-component--tr .mfb-component__list [data-mfb-label]:after,.mfb-component--tr [data-mfb-label]:after{content:attr(data-mfb-label);right:70px}.mfb-component--bl .mfb-component__list [data-mfb-label]:after,.mfb-component--bl [data-mfb-label]:after,.mfb-component--tl .mfb-component__list [data-mfb-label]:after,.mfb-component--tl [data-mfb-label]:after{content:attr(data-mfb-label);left:70px}.animated-microphone-input-container{position:absolute;margin:auto;top:0;left:0;right:0;bottom:0;width:90%;height:100px}.animated-microphone-input-container .animated-microphone-input-search{position:absolute;margin:auto;top:0;right:0;bottom:0;left:0;width:80px;height:80px;background:#dc143c;border-radius:50%;transition:all 1s;z-index:4;box-shadow:0 0 25px 0 rgba(0,0,0,.4)}.animated-microphone-input-container .animated-microphone-input-search:hover{cursor:pointer}.animated-microphone-input-container input{font-family:Inconsolata,monospace;position:absolute;margin:auto;top:0;right:0;bottom:0;left:0;width:50px;height:50px;outline:0;border:none;background:#dc143c;color:#fff;text-shadow:0 0 10px #dc143c;padding:0 80px 0 20px;border-radius:30px;box-shadow:0 0 25px 0 #dc143c,0 20px 25px 0 rgba(0,0,0,.2);transition:all 1s;opacity:0;z-index:5;font-weight:bolder;letter-spacing:.1em}.animated-microphone-input-container input:hover{cursor:pointer}.animated-microphone-input-container input:focus{width:100%;opacity:1;cursor:text}.animated-microphone-input-container input:focus~.animated-microphone-input-search{right:-95%;position:absolute;background:#151515;z-index:6}.animated-microphone-input-container input::placeholder{color:#fff;opacity:.5;font-weight:bolder}.autocomplete-custom-template li{border-bottom:1px solid #ccc;height:auto;padding-top:8px;padding-bottom:8px;white-space:normal}.autocomplete-custom-template li:last-child{border-bottom-width:0}.autocomplete-custom-template .item-metadata,.autocomplete-custom-template .item-title{display:block;line-height:2}.autocomplete-custom-template .item-title md-icon{height:18px;width:18px}.md-virtual-repeat-container.md-not-found{height:255.5px}.buttons>.button{border-radius:30px}.md-fab-mini-ion-icon{margin:auto;top:-7px;position:relative;left:-4px}#chat-app .center .content-card .chat #chat-content .message-row.bot .avatar{margin:0 16px 0 0}#chat-app .center .content-card .chat #chat-content .message-row.user .avatar{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;margin:0 0 0 16px}#chat-app .center .content-card .chat #chat-content .message-row.user .bubble{margin-left:auto;background-color:#E8F5E9;border:1px solid #DFEBE0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}#chat-app .center .content-card .chat #chat-content .message-row .bubble{position:relative;padding:6px 7px 8px 9px;background-color:#FFF;-webkit-box-shadow:0 1px .5px rgba(0,0,0,.13);box-shadow:0 1px .5px rgba(0,0,0,.13);border-radius:6px}.chat-avatar{width:40px;min-width:40px;height:40px;line-height:40px;margin:0 8px 0 0;border-radius:50%;font-size:17px;font-weight:500;text-align:center;color:#FFF}#chat-app .center .content-card .chat .chat-toolbar{min-height:64px;background-color:#F3F4F5;color:rgba(0,0,0,.87);border-bottom:1px solid rgba(0,0,0,.08)}#chat-app .center .content-card .chat{background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,.8)),color-stop(20%,rgba(255,255,255,.6)),to(rgba(255,255,255,.8)));background:linear-gradient(to bottom,rgba(255,255,255,.8) 0,rgba(255,255,255,.6) 20%,rgba(255,255,255,.8))}#chat-app .center .content-card .chat #chat-content{background:0 0}#chat-app .center .content-card .chat .chat-footer .reply-form md-input-container textarea{overflow:auto;max-height:80px;-webkit-transition:height .2s ease;transition:height .2s ease}#ratingButtons,.head,.mouth,.splash-wrapper{overflow:hidden}#chat-app .center .content-card .chat .chat-footer .reply-form .md-button{margin:0}#chat-app .center .content-card .chat .chat-footer .reply-form md-input-container{margin:0;padding-right:16px}.chat-align-right{text-align:right;float:right}#sectionSendingMood,.circle-page-button,.equalizer-h1,.popup-body,.primary-outcome-variable-rating-buttons,.primary-outcome-variable-rating-buttons-small,.slider-slide{text-align:center}.circle-page-button{background-color:rgba(0,0,0,0);border:none;outline:0;color:#fff}.circle-page-button:hover{color:#fff;text-decoration:none}.ionic_timepicker_popup .popup{background-color:#fff;height:260px}.ionic_timepicker_popup .heading{height:44px;background-color:#3369E8!important;color:#fff;text-align:center;line-height:44px;font-size:18px;font-weight:700}.ionic_timepicker_popup .button_set{border-color:#0a9ec7!important;background-color:#3369E8!important;color:#fff!important}.ionic_timepicker_popup .button_close{border-color:#b2b2b2!important;background-color:#3369E8!important;color:#fff!important}.ionic_datepicker_modal .button-clear,.ionic_datepicker_modal .month_select:after,.ionic_datepicker_modal .year_select:after,.ionic_datepicker_popup .popup-body .button-clear,.ionic_datepicker_popup .popup-body .month_select:after,.ionic_datepicker_popup .popup-body .year_select:after{color:#3369E8!important}.ionic_timepicker_popup .button_set.activated,.ionic_timepicker_popup .button_set.active{border-color:#0a9ec7!important;background-color:#0a9ec7!important;box-shadow:inset 0 1px 4px rgba(0,0,0,.1)!important}.ionic_timepicker_popup .button_close.activated,.ionic_timepicker_popup .button_close.active{border-color:#a2a2a2!important;background-color:#e5e5e5!important;box-shadow:inset 0 1px 4px rgba(0,0,0,.1)!important}.ionic_datepicker_modal .today,.ionic_datepicker_popup .today{border:1px solid #3369E8!important}.ionic_datepicker_modal .month_select,.ionic_datepicker_modal .year_select,.ionic_datepicker_popup .popup-body .month_select,.ionic_datepicker_popup .popup-body .year_select{border-bottom:1px solid #3369E8!important}.ionic_datepicker_modal .footer,.ionic_datepicker_modal .header,.ionic_datepicker_modal .selected_date,.ionic_datepicker_popup .popup-body .selected_date_full,.ionic_datepicker_popup .popup-buttons button,.ionic_datepicker_popup .popup-head,.ionic_datepicker_popup .selected_date{background-color:#3369E8!important}.ionic_datepicker_modal .footer .button-block{color:#FFf!important}.dtp-btn-cancel,.dtp-btn-ok{width:33%!important;min-width:unset!important}.equalizer-h1,.equalizer-svg{width:100%;position:absolute}.equalizer-svg{display:block;height:100%;padding:0;margin:0}.equalizer-h1{font-family:sans-serif;color:#fff;font-size:18px;top:40%;opacity:1;transition:opacity 1s ease-in-out;-moz-transition:opacity 1s ease-in-out;-webkit-transition:opacity 1s ease-in-out}.equalizer-h1 a{color:#48b1f4;text-decoration:none}.equalizer-path{stroke-linecap:square;stroke:#fff;stroke-width:.5px}md-fab-progress{position:relative;display:inline-block}md-fab-progress .md-button.md-fab .icon-done,md-fab-progress .md-button.md-fab.is-done .icon{display:none}md-fab-progress .md-button.md-fab{margin:6px;transition:background 250ms linear}md-fab-progress .md-button.md-fab.is-done{background:green}md-fab-progress .md-button.md-fab.is-done .icon-done{display:block}md-fab-progress md-progress-circular{position:absolute;top:0;left:0;opacity:0;transition:opacity 250ms linear}md-fab-progress md-progress-circular.is-active{opacity:1}.heart{width:100px;height:100px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:url(https://cssanimation.rocks/images/posts/steps/heart.png) no-repeat;cursor:pointer;animation:fave-heart 1s steps(28)}#qm-loader,.loading{position:absolute!important}.invisible,.visible{-webkit-animation-iteration-count:1;-webkit-animation-timing-function:ease;-webkit-animation-fill-mode:forwards}.heart:hover{background-position:-2800px 0;transition:background 1s steps(28)}@keyframes fave-heart{0%{background-position:0 0}100%{background-position:-2800px 0}}.highcharts-container{width:100%!important;height:100%!important}.placeholder-chart{height:240px;width:320px}.history-edit-card{margin-top:10%;max-width:500px;margin-left:auto;margin-right:auto}.history-edit-card input{border:1px solid #12c1f3;width:100%;padding:20px;border-radius:40px}.history-block{display:inline-block;padding-top:0;padding-left:10px;max-width:100%}.loading{top:0!important;bottom:0!important;left:0!important;right:0!important;padding:0!important;border-radius:0!important;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;background-color:#171723!important;-webkit-box-pack:center;-moz-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch;-webkit-box-align:center;-moz-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.spinner svg{width:28px;height:28px;stroke:#11C1F3;fill:#11C1F3}#qm-loader{top:45%!important;left:45%!important}.sub-menu{padding-left:25px}.menu-avatar{height:30px;border-radius:50%}ion-side-menu-content.menu-disabled,ion-side-menu.menu-disabled{width:auto!important;transform:initial!important}.popup{padding:12px;border-radius:10px!important;border:1px solid #ccc}.popup-container .popup{background-color:#fff}.popup-head{border-bottom:0}.popup-title{color:#575757;font-size:22px}.popup-body{color:#797979;font-size:16px;margin:0;padding:0;line-height:normal;overflow-x:hidden}.popup-buttons .button{background-color:#5dc2f1;color:#fff;border:none;box-shadow:none;font-size:14px;font-weight:500;-webkit-border-radius:4px;border-radius:5px!important;margin:5px 5px 0;cursor:pointer}.popup-buttons .button.activated{background-color:#007aff}#ratingButtons{opacity:1;height:52px;padding-top:4px;padding-bottom:4px}#ratingButtons img{height:100%;display:inline-block;padding-left:6px;padding-right:6px;background-color:#FFF;transition:all .2s linear}#ratingButtons img:hover{-webkit-filter:blur(1px) brightness(110%) saturate(150%)}#ratingButtons div{width:1px;position:relative;display:inline-block;background:#d3d3d3;bottom:32%}#sectionSendingMood{display:none;opacity:0;width:346px;height:50px;transition:opacity .4s linear;font-family:news-gothic-std,sans-serif;font-size:40px;font-weight:800;top:2px;font-style:italic;color:#bc2e1e;text-shadow:0 1px 0 #378ab4,1px 0 0 #5dabcd,1px 2px 1px #378ab4,2px 1px 1px #5dabcd,2px 3px 2px #378ab4,3px 2px 2px #5dabcd,3px 4px 2px #378ab4,4px 3px 3px #5dabcd,4px 5px 3px #378ab4,5px 4px 2px #5dabcd,5px 6px 2px #378ab4,6px 5px 2px #5dabcd,6px 7px 1px #378ab4,7px 6px 1px #5dabcd,7px 8px 0 #378ab4,8px 7px 0 #5dabcd}.invisible{visibility:hidden;-webkit-animation-name:fadeOut;-webkit-animation-duration:.4s}@-webkit-keyframes fadeOut{from{-webkit-transform:rotate(0) scale(1) skew(0);opacity:1}to{-webkit-transform:rotate(0) scale(.98) skew(0);opacity:0}}.visible{-webkit-animation-name:fadeIn;-webkit-animation-duration:.3s}@-webkit-keyframes fadeIn{from{-webkit-transform:rotate(0) scale(1.02) skew(0);opacity:0}to{-webkit-transform:rotate(0) scale(1) skew(0);opacity:1}}.primary-outcome-variable-rating-buttons>img{width:18%;padding:5px;max-width:100px;cursor:pointer;display:inline-block}.primary-outcome-variable-rating-buttons-small>img{width:18%;padding:5px;max-width:56px;cursor:pointer;display:inline-block}.splash-h2,.variable-settings .item-input{display:block}.primary-outcome-variable-rating-buttons-mall>img:hover,.primary-outcome-variable-rating-buttons>img:hover{-webkit-filter:brightness(110%) saturate(200%)}.primary-outcome-variable-history>img{opacity:.5}.active-primary-outcome-variable-rating-button{opacity:1!important;-webkit-filter:saturate(200%);filter:saturate(200%)}#additionalTimeButton{height:49px;padding:10px 16px;line-height:28px}#materialFirstReminderStartTime,#materialSecondReminderStartTime,#materialThirdReminderStartTime{font-size:16px;color:#444}div.next,div.previous{font-size:40px;transform:translateY(-50%);position:relative;top:50%}.margin-bottom-0>.row{height:49px;border-bottom:1px solid #DDD;padding-left:0}.more-options-padding{padding:10px 0 10px 16px}.row.labeled-control>.date-padding-fix{padding:2px;line-height:36px}.button-row-margin{margin-top:20px}.slider{height:100%}.slider-slide{color:#000;font-family:HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif;font-weight:300}.slider-pager-page{color:#fff!important}.slider-pager-page.active{color:#a9a9a9!important}div.previous{float:left;margin-left:15px;-ms-transform:translateY(-50%);-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-o-transform:translateY(-50%)}div.next{float:right;margin-right:15px;-ms-transform:translateY(-50%);-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-o-transform:translateY(-50%)}div.intro-content{margin:-100px 40px 0;position:relative;top:50%;height:100%;transform:translateY(-50%);-ms-transform:translateY(-50%);-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-o-transform:translateY(-50%)}p.intro-paragraph{font-size:18px;line-height:initial}p.intro-paragraph-small{font-size:16px;line-height:initial}p.intro-header{font-size:26px;line-height:initial}img.intro-primary-outcome-variable-rating-buttons{margin-left:3px;margin-right:3px}#goButtonIntro,#goButtonIntro:hover,#nextButtonIntro,#nextButtonIntro:hover,#skipButtonIntro,#skipButtonIntro:hover{border:none;outline:0}.splash-wrapper{background:radial-gradient(ellipse at center,rgba(127,0,173,.6) 0,rgba(0,0,0,.8) 60%,#000 90%),url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/31787/stars.jpg);background-size:cover;height:100%;-webkit-perspective:1200px;width:100%;position:absolute}.splash-h1,.splash-h2{position:relative;text-align:center;z-index:4}.splash-h1{color:#C6CBF5;font-family:Orbitron,sans-serif;font-weight:1000;font-size:35vw;line-height:1.2;text-transform:uppercase;margin:5% auto auto;background:-webkit-linear-gradient(top,#151C60,#C6CBF5 40%,#000 40%,#E1A0CE 65%,#fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke-width:2px;-webkit-text-stroke-color:#fff}@media screen and (min-width:600px){.splash-h1{font-size:150px}}.splash-h2{color:#d100b1;font-family:Yellowtail,cursive;font-size:30vw;margin-right:-8em;text-shadow:0 0 1px #d100b1,0 -3px 3px rgba(255,255,255,.8),0 3px 3px rgba(0,0,0,.5),0 0 15px #d100b1,0 0 45px rgba(209,0,177,.8);text-transform:none;-webkit-transform:skew(-10deg) rotate(-10deg);transform:skew(-10deg) rotate(-10deg);top:0;width:100%}@media screen and (min-width:600px){.splash-h2{font-size:150px}}.splash-grid{background:linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(54,226,248,.5) 0,rgba(54,226,248,.5) 3px,rgba(0,0,0,0) 0),linear-gradient(90deg,rgba(0,0,0,0) 0,rgba(54,226,248,.5) 0,rgba(54,226,248,.5) 3px,rgba(0,0,0,0) 0);background-size:4em 4em,4em 4em;background-color:#000;border-top:5px solid #d100b1;box-shadow:0 -25px 45px #d100b1;height:40em;-webkit-transform:scale(1.26) rotateX(80deg);transform:scale(1.26) rotateX(80deg);position:absolute;width:100%;z-index:4;margin-top:60%;bottom:-200px}.splash-grid:after,.splash-grid:before{content:'';height:100%;width:100%;left:0;position:absolute}.splash-grid:after{background:linear-gradient(to bottom,rgba(0,0,0,0) 50%,#000 95%)}.splash-grid:before{background:radial-gradient(ellipse at center,rgba(0,0,0,0) 30%,rgba(209,0,177,.5) 90%)}.logo-triangle{-webkit-animation:dash 6s linear forwards;animation:dash 6s linear forwards;fill:url(#grad1);left:50%;margin-left:-160px;position:absolute;stroke-dasharray:1200;stroke-dashoffset:1200;top:10%;z-index:3}.connection-error-indicator,.sync-indicator{text-align:center;color:#fff;top:40px;z-index:5;position:absolute}@-webkit-keyframes dash{to{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}.blink{-webkit-animation:fadein 2s infinite;animation:fadein 2s infinite;-webkit-animation-timing-function:ease-in-out}.sync-indicator{background-color:#A0E749}.connection-error-indicator{background-color:#db3236}.robot-container{box-sizing:border-box;position:absolute;width:160px;height:170px;bottom:-30px;left:calc(100% - 160px);z-index:4}.head{position:absolute;width:130px;left:20px;height:100px;border-radius:490px 550px 550px;background:linear-gradient(to right,#b7a9a9 0,#c1b1b1 40%,#c1b5b5 60%,#ab9c9c 100%) #ccc;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-animation:bob 8s ease-in-out alternate infinite -1s;animation:bob 8s ease-in-out alternate infinite -1s;border:2px solid #000}.eyeball,.eyes{height:20px;position:absolute}.eyes{top:calc(50% - 10px);right:25px;left:25px;-webkit-animation:blink 10s linear forwards infinite;animation:blink 10s linear forwards infinite}.eyeball{width:20px;background:radial-gradient(ellipse,#dffdfe 0,#11c1f3 50%,#387ef5 60%) center no-repeat;background-size:100%;z-index:-2;border-radius:100%;transition:background-size .2s;border:2px solid #000}.siq_bR,.zsiq_custommain,.zsiq_floatmain{z-index:10!important}.eyeball_left{left:0;transition:-webkit-transform .1s ease-in-out;transition:transform .1s ease-in-out;transition:transform .1s ease-in-out,-webkit-transform .1s ease-in-out}.eyeball_right{right:0;transition:-webkit-transform .1s ease-in-out;transition:transform .1s ease-in-out;transition:transform .1s ease-in-out,-webkit-transform .1s ease-in-out}.mouth{position:absolute;bottom:15px;left:50px;width:30px;height:5px;background-color:#000;border-radius:5px;transition:height .1s cubic-bezier(.455,.03,.515,.955)}.mouth-container,.torso{position:absolute;bottom:0}.mouth-container{top:0;right:0;left:0}.robot_speaking .mouth{height:15px}.robot_speaking .mouth-container{-webkit-animation:speakingAnim .3s infinite;animation:speakingAnim .3s infinite}.mouth-container-line{position:absolute;top:30%;height:0;background-color:#32cd32;width:100%;margin-top:-1px}.robot_speaking .mouth-container-line{height:3px}.torso{left:calc(50% - 20px);width:40px;height:60px;border-radius:0;border:2px solid #000;background:linear-gradient(to right,#b7afaf 0,#b7b0b0 40%,#afa6a6 60%,#b9b0b0 100%)}.arm,.neck{position:absolute;height:50px;background:repeating-linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.2) 7%,#646464 10%),linear-gradient(to right,#ccc 0,#e6e6e6 40%,#e6e6e6 60%,#ccc 100%)}.neck{bottom:45px;left:calc(50% - 5px);width:4px;border-radius:15px;border:2px solid #000}.arms{position:absolute;bottom:0;left:50px;right:50px;height:50px}.arm{border:2px solid #000;top:0;width:10px;border-radius:10px 10px 0 0}.arm_left{left:0}.arm_right{right:0}@-webkit-keyframes lowAnim{0%{-webkit-filter:url(#low-0);filter:url(#low-0)}25%{-webkit-filter:url(#low-1);filter:url(#low-1)}50%{-webkit-filter:url(#low-2);filter:url(#low-2)}75%{-webkit-filter:url(#low-3);filter:url(#low-3)}100%{-webkit-filter:url(#low-4);filter:url(#low-4)}}@keyframes lowAnim{0%{-webkit-filter:url(#low-0);filter:url(#low-0)}25%{-webkit-filter:url(#low-1);filter:url(#low-1)}50%{-webkit-filter:url(#low-2);filter:url(#low-2)}75%{-webkit-filter:url(#low-3);filter:url(#low-3)}100%{-webkit-filter:url(#low-4);filter:url(#low-4)}}@-webkit-keyframes listeningAnim{0%{-webkit-filter:url(#listening-0);filter:url(#listening-0)}25%{-webkit-filter:url(#listening-1);filter:url(#listening-1)}50%{-webkit-filter:url(#listening-2);filter:url(#listening-2)}75%{-webkit-filter:url(#listening-3);filter:url(#listening-3)}100%{-webkit-filter:url(#listening-4);filter:url(#listening-4)}}@keyframes listeningAnim{0%{-webkit-filter:url(#listening-0);filter:url(#listening-0)}25%{-webkit-filter:url(#listening-1);filter:url(#listening-1)}50%{-webkit-filter:url(#listening-2);filter:url(#listening-2)}75%{-webkit-filter:url(#listening-3);filter:url(#listening-3)}100%{-webkit-filter:url(#listening-4);filter:url(#listening-4)}}@-webkit-keyframes speakingAnim{0%{-webkit-filter:url(#speaking-0);filter:url(#speaking-0)}25%{-webkit-filter:url(#speaking-1);filter:url(#speaking-1)}50%{-webkit-filter:url(#speaking-2);filter:url(#speaking-2)}75%{-webkit-filter:url(#speaking-3);filter:url(#speaking-3)}100%{-webkit-filter:url(#speaking-4);filter:url(#speaking-4)}}@keyframes speakingAnim{0%{-webkit-filter:url(#speaking-0);filter:url(#speaking-0)}25%{-webkit-filter:url(#speaking-1);filter:url(#speaking-1)}50%{-webkit-filter:url(#speaking-2);filter:url(#speaking-2)}75%{-webkit-filter:url(#speaking-3);filter:url(#speaking-3)}100%{-webkit-filter:url(#speaking-4);filter:url(#speaking-4)}}@-webkit-keyframes bob{0%{-webkit-transform:rotate(-3deg);transform:rotate(-3deg)}40%{-webkit-transform:rotate(-3deg);transform:rotate(-3deg);-webkit-animation-timing-function:cubic-bezier(1,0,0,1);animation-timing-function:cubic-bezier(1,0,0,1)}100%,60%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}}@keyframes bob{0%{-webkit-transform:rotate(-3deg);transform:rotate(-3deg)}40%{-webkit-transform:rotate(-3deg);transform:rotate(-3deg);-webkit-animation-timing-function:cubic-bezier(1,0,0,1);animation-timing-function:cubic-bezier(1,0,0,1)}100%,60%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}}@-webkit-keyframes blink{50%,52%{-webkit-transform:scale(1,1);transform:scale(1,1)}51%{-webkit-transform:scale(1,.1);transform:scale(1,.1)}}@keyframes blink{50%,52%{-webkit-transform:scale(1,1);transform:scale(1,1)}51%{-webkit-transform:scale(1,.1);transform:scale(1,.1)}}.card .variable-settings{padding-right:10px}.variable-settings .left-span{float:left;width:auto;position:relative;font-size:14px}.variable-settings .left-text{float:left;font-size:14px}.variable-settings .right-span{float:right;width:auto}.variable-settings .right-input{padding-top:0;padding-right:10px!important;text-align:right;vertical-align:baseline;display:table}.variable-settings .right-text{font-style:italic;font-size:14px}.variable-settings ::-webkit-input-placeholder{color:#111}.variable-settings :-moz-placeholder{color:#111;opacity:1}.variable-settings ::-moz-placeholder{color:#111;opacity:1}.variable-settings :-ms-input-placeholder{color:#111}#statisticsCard .right-text{font-style:italic;font-size:14px}#statisticsCard .left-text{float:left;font-size:14px}#statisticsCard label{padding:6px 10px 5px 16px}body{background-color:#000}#fc_frame,#fc_frame.fc-widget-normal{left:15px!important;z-index:10!important}.siq_bR{left:10px!important}.zsiq_custommain img,.zsiq_float{display:inline-block;cursor:pointer;box-shadow:0 0 4px rgba(0,0,0,.3),0 4px 8px rgba(0,0,0,.3);border-radius:50%}#payment-form{max-width:400px;margin:auto}.flex{display:block;flex:1;box-sizing:border-box} diff --git a/apps/dfda-1/public/app/public/css/closed-captioning.css b/apps/dfda-1/public/app/public/css/closed-captioning.css new file mode 100644 index 000000000..a0703333e --- /dev/null +++ b/apps/dfda-1/public/app/public/css/closed-captioning.css @@ -0,0 +1,25 @@ +#caption-container { + position: fixed; + bottom: 0; + left: 50%; + transform: translateX(-50%); + text-align: center; + padding: 10px; + font-size: 20px; + z-index: 1000; /* Ensures it stays on top */ + max-width: 80%; /* Prevents it from spanning the full width of the screen */ + overflow: hidden; /* Keeps the text contained */ +} + +.caption-text { + background-color: rgba(0, 0, 0, 0.5); + color: white; + padding: 5px 10px; + border-radius: 5px; + white-space: nowrap; + overflow: hidden; + display: inline-block; + //text-overflow: ellipsis; + max-width: 90%; /* Adjust based on your layout to prevent overflow */ +} + diff --git a/apps/dfda-1/public/app/public/css/human.css b/apps/dfda-1/public/app/public/css/human.css new file mode 100644 index 000000000..8f38b457a --- /dev/null +++ b/apps/dfda-1/public/app/public/css/human.css @@ -0,0 +1,302 @@ +.human-container { + box-sizing: border-box; + position: absolute; + width: 160px; + height: 170px; + bottom: -30px; + right: calc(100% - 250px); + z-index: 4; +} +.human-head { + position: absolute; + width: 100px; + left: 29px; + height: 102px; + border-radius: 490px 550px 550px 550px; + overflow: hidden; + background: #FFDF00FF linear-gradient(to right, #FFDF00FF 0%, #FFDF00FF 40%, #FFDF00FF 60%, #FFDF00FF 100%); + -webkit-transform-origin: 50% 100%; + transform-origin: 50% 100%; + -webkit-animation: humanBob 8000ms ease-in-out alternate infinite -1000ms; + animation: humanBob 8000ms ease-in-out alternate infinite -1000ms; + border: 2px solid #000000; +} + +.human-eyes { + position: absolute; + top: calc(40% - 10px); + right: 10px; + left: 10px; + height: 63px; + -webkit-animation: humanBlink 10000ms linear forwards infinite; + animation: humanBlink 10000ms linear forwards infinite; +} + +.human-eyeball { + position: absolute; + width: 39px; + height: 40px; + background: radial-gradient(ellipse, #000 0%, #111827 21%, #fff 20%) no-repeat center; + background-size: 100%; + z-index: -2; + border-radius: 100%; + transition: background-size 0.2s; + border: 2px solid #000000; +} + +.human-eyeball::before { + content: ""; + position: absolute; + top: 10%; + left: 10%; + width: 15px; + height: 15px; + background: radial-gradient(circle, #fff 0%, transparent 70%); + border-radius: 50%; +} + +.human-eyeball_left { + left: 0; + transition: -webkit-transform 100ms ease-in-out; + transition: transform 100ms ease-in-out; +} + +.human-eyeball_right { + right: 0; + transition: -webkit-transform 100ms ease-in-out; + transition: transform 100ms ease-in-out; +} + +.human-mouth { + position: absolute; + bottom: 15px; + left: 36px; + width: 30px; + height: 3px; + background-color: black; + overflow: hidden; + border-top-left-radius: 0%; + border-top-right-radius: 0%; + transition: height 100ms cubic-bezier(0.455, 0.03, 0.515, 0.955); +} + +.human-mouth-container { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; +} + +.human-tongue { + display: none; + width: 50%; + height: 20px; + background-color: #ff002e; + border-radius: 50%; + position: relative; + top: 50%; + left: 25%; +} + +.human_speaking .human-mouth { + height: 10px; + border-radius: 50%; + animation: humanTalk 0.1s linear infinite; +} + +@keyframes humanTalk { + 0% { height: 8px; } + 50% { height: 10px; } + 100% { height: 8px; } +} + +.human_speaking .human-mouth-container { + -webkit-animation: humanTalk 0.3s infinite; + animation: humanTalk 0.3s infinite; +} + + +.human-torso-text { + position: absolute; + top: 6px; + left: 0; + right: 0; + text-align: center; + font-size: 11px; + color: #000000; + font-weight: bold; + letter-spacing: 0px; + margin-bottom: 5px; +} + +.human-torso { + position: absolute; + bottom: 0; + left: calc(50% - 24px); + width: 54px; + height: 60px; + border-radius: 10px 10px 0 0; + border: 2px solid #000000; + background: red; +} + +.human-neck { + position: absolute; + bottom: 45px; + left: calc(50% - 5px); + width: 4px; + height: 50px; + border-radius: 15px; + border: 2px solid #000000; + background: repeating-linear-gradient(180deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) 7%, #646464 10%), linear-gradient(to right, #ccc 0%, #e6e6e6 40%, #e6e6e6 60%, #ccc 100%); +} + +.human-arms { + position: absolute; + bottom: 0; + left: 48px; + right: 41px; + height: 55px; +} + +.human-arm { + position: absolute; + border: 2px solid #000000; + top: 0; + width: 14px; + height: 50px; + border-radius: 10px 10px 0 0; + background: red; +} + +.human-arm_left { + left: 0; +} + +.human-arm_right { + right: 0; +} + +@-webkit-keyframes humanLowAnim { + 0% { + -webkit-filter: url("#human-low-0"); + filter: url("#human-low-0"); } + 25% { + -webkit-filter: url("#human-low-1"); + filter: url("#human-low-1"); } + 50% { + -webkit-filter: url("#human-low-2"); + filter: url("#human-low-2"); } + 75% { + -webkit-filter: url("#human-low-3"); + filter: url("#human-low-3"); } + 100% { + -webkit-filter: url("#human-low-4"); + filter: url("#human-low-4"); } } + +@keyframes humanLowAnim { + 0% { + -webkit-filter: url("#human-low-0"); + filter: url("#human-low-0"); } + 25% { + -webkit-filter: url("#human-low-1"); + filter: url("#human-low-1"); } + 50% { + -webkit-filter: url("#human-low-2"); + filter: url("#human-low-2"); } + 75% { + -webkit-filter: url("#human-low-3"); + filter: url("#human-low-3"); } + 100% { + -webkit-filter: url("#human-low-4"); + filter: url("#human-low-4"); } } + +@-webkit-keyframes humanListeningAnim { + 0% { + -webkit-filter: url("#human-listening-0"); + filter: url("#human-listening-0"); } + 25% { + -webkit-filter: url("#human-listening-1"); + filter: url("#human-listening-1"); } + 50% { + -webkit-filter: url("#human-listening-2"); + filter: url("#human-listening-2"); } + 75% { + -webkit-filter: url("#human-listening-3"); + filter: url("#human-listening-3"); } + 100% { + -webkit-filter: url("#human-listening-4"); + filter: url("#human-listening-4"); } } + +@keyframes humanListeningAnim { + 0% { + -webkit-filter: url("#human-listening-0"); + filter: url("#human-listening-0"); } + 25% { + -webkit-filter: url("#human-listening-1"); + filter: url("#human-listening-1"); } + 50% { + -webkit-filter: url("#human-listening-2"); + filter: url("#human-listening-2"); } + 75% { + -webkit-filter: url("#human-listening-3"); + filter: url("#human-listening-3"); } + 100% { + -webkit-filter: url("#human-listening-4"); + filter: url("#human-listening-4"); } } + + +@-webkit-keyframes humanBob { + 0% { + -webkit-transform: rotate(-3deg); + transform: rotate(-3deg); } + 40% { + -webkit-transform: rotate(-3deg); + transform: rotate(-3deg); + -webkit-animation-timing-function: cubic-bezier(1, 0, 0, 1); + animation-timing-function: cubic-bezier(1, 0, 0, 1); } + 60% { + -webkit-transform: rotate(3deg); + transform: rotate(3deg); } + 100% { + -webkit-transform: rotate(3deg); + transform: rotate(3deg); } } + +@keyframes humanBob { + 0% { + -webkit-transform: rotate(-3deg); + transform: rotate(-3deg); } + 40% { + -webkit-transform: rotate(-3deg); + transform: rotate(-3deg); + -webkit-animation-timing-function: cubic-bezier(1, 0, 0, 1); + animation-timing-function: cubic-bezier(1, 0, 0, 1); } + 60% { + -webkit-transform: rotate(3deg); + transform: rotate(3deg); } + 100% { + -webkit-transform: rotate(3deg); + transform: rotate(3deg); } } + +@-webkit-keyframes humanBlink { + 50% { + -webkit-transform: scale(1, 1); + transform: scale(1, 1); } + 51% { + -webkit-transform: scale(1, 0.1); + transform: scale(1, 0.1); } + 52% { + -webkit-transform: scale(1, 1); + transform: scale(1, 1); } } + +@keyframes humanBlink { + 50% { + -webkit-transform: scale(1, 1); + transform: scale(1, 1); } + 51% { + -webkit-transform: scale(1, 0.1); + transform: scale(1, 0.1); } + 52% { + -webkit-transform: scale(1, 1); + transform: scale(1, 1); } } diff --git a/apps/dfda-1/public/app/public/css/presentation.css b/apps/dfda-1/public/app/public/css/presentation.css new file mode 100644 index 000000000..b4bede600 --- /dev/null +++ b/apps/dfda-1/public/app/public/css/presentation.css @@ -0,0 +1,200 @@ +@import url("https://fonts.googleapis.com/css2?family=Mr+Dafoe&display=swap"); +@import url("https://fonts.googleapis.com/css2?family=Exo:wght@900&display=swap"); + +body { + font-family: Arial, sans-serif; + /* display: flex; */ + /* align-items: center; */ + /* justify-content: center; */ + /* flex-direction: column; */ + background: radial-gradient(rgba(118, 0, 191, 0.5) 0%, transparent 70%), linear-gradient(#04042a 40%, #04042a 70%); + /* perspective: 700px; */ + font-size: clamp(10px, 2vw, 20px); +} + +body, html { + width: 100%; + height: 100%; + margin: 0; + /* overflow: hidden; */ +} + +.slide { + width: 80%; + margin: 20px auto; + padding: 20px; + /* border: 1px solid #ddd; */ + border-radius: 5px; + /* background-color: #fff; */ + /* box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.1); */ +} + +.slide h2 { + color: #f7fcff; + font-size: 27px; +} + +.slide img { + width: 100%; + height: auto; +} + +.slide p { + color: #666; + font-size: 18px; +} + +a { + color: #fff; +} + +.bubble-wrap { + /* width: 300px; */ + margin: 20px auto; +} + +.bubble { + position: relative; + padding: 20px; + background: #FFFFFF; + border-radius: 4px; + border: #7F7F7F solid 1px; + font-size: 1em; + line-height: 1.25em; + width: 90%; +} + +.bubble.left:after { + content: ''; + position: absolute; + border-style: solid; + border-width: 16px 16px 16px 0; + border-color: transparent #FFFFFF; + display: block; + width: 0; + z-index: 1; + left: -15px; + top: 50%; + margin-top: -16px + +} + +.bubble.left:before { + content: ''; + position: absolute; + border-style: solid; + border-width: 16px 16px 16px 0; + border-color: transparent #7F7F7F; + display: block; + width: 0; + z-index: 0; + left: -16px; + top: 50%; + margin-top: -16px; +} + +.bubble.right:after { + content: ''; + position: absolute; + border-style: solid; + border-width: 16px 0 16px 16px; + border-color: transparent #FFFFFF; + display: block; + width: 0; + z-index: 1; + right: -16px; + top: 50%; + margin-top: -16px; +} + +.bubble.right:before { + content: ''; + position: absolute; + border-style: solid; + border-width: 16px 0 16px 16px; + border-color: transparent #000; + display: block; + width: 0; + z-index: 0; + right: -16px; + top: 50%; + margin-top: -16px; +} + +.lines { + position: fixed; + width: 100vw; + height: 4em; + background: linear-gradient(rgba(89, 193, 254, 0.2) 20%, #59c1fe 40%, #59c1fe 60%, rgba(89, 193, 254, 0.2) 80%); + background-size: 1px 0.5em; + box-shadow: 0 0 1em rgba(89, 193, 254, 0.4); + transform: translateY(-1em); + left: 0; +} + +h1 { + position: relative; + font-family: "Exo", serif; + font-size: 9em; + margin: 0; + transform: skew(-15deg); + letter-spacing: 0.03em; +} +h1::after { + content: ""; + position: absolute; + top: -0.1em; + right: 0.05em; + width: 0.4em; + height: 0.4em; + background: radial-gradient(white 3%, rgba(255, 255, 255, 0.3) 15%, rgba(255, 255, 255, 0.05) 60%, transparent 80%), radial-gradient(rgba(255, 255, 255, 0.2) 50%, transparent 60%) 50% 50%/5% 100%, radial-gradient(rgba(255, 255, 255, 0.2) 50%, transparent 60%) 50% 50%/70% 5%; + background-repeat: no-repeat; +} +h1 span:first-child { + display: block; + text-shadow: 0 0 0.1em #8ba2d0, 0 0 0.2em black, 0 0 5em #165ff3; + -webkit-text-stroke: 0.06em rgba(0, 0, 0, 0.5); +} +h1 span:last-child { + position: absolute; + left: 0; + top: 0; + background-image: linear-gradient(#032d50 25%, #00a1ef 35%, white 50%, #20125f 50%, #8313e7 55%, #ff61af 75%); + -webkit-text-stroke: 0.01em #94a0b9; + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; +} + +h2 { + /* font-family: "Mr Dafoe"; */ + font-size: 5.5em; + margin: -0.6em 0 0; + color: white; + /* text-shadow: 0 0 0.05em #fff, 0 0 0.2em #fe05e1, 0 0 0.3em #fe05e1; */ + /* transform: rotate(-7deg); */ +} + +.grid { + background: linear-gradient(transparent 65%, rgba(46, 38, 255, 0.4) 75%, #7d41e6 80%, rgba(46, 38, 255, 0.4) 85%, transparent 95%), linear-gradient(90deg, transparent 65%, rgba(46, 38, 255, 0.4) 75%, #7d41e6 80%, rgba(46, 38, 255, 0.4) 85%, transparent 95%); + background-size: 30px 30px; + width: 200vw; + height: 300vh; + position: absolute; + bottom: -120vh; + transform: rotateX(-100deg); +} + +.bubble-wrap { + position: relative; +} + +.robot-icon { + position: absolute; + right: -20px; /* adjust as needed */ + top: 0; + background-image: url('img/robots/robot-head.png'); + background-size: cover; + width: 40px; /* adjust as needed */ + height: 40px; /* adjust as needed */ + top: 6px; +} diff --git a/apps/dfda-1/public/app/public/css/robot.css b/apps/dfda-1/public/app/public/css/robot.css index 585f6e226..99dda0bbc 100644 --- a/apps/dfda-1/public/app/public/css/robot.css +++ b/apps/dfda-1/public/app/public/css/robot.css @@ -1,14 +1,13 @@ - .robot-container { box-sizing: border-box; position: absolute; width: 160px; height: 170px; bottom: -30px; - left: calc(100% - 300px); + left: calc(100% - 250px); z-index: 4; } -.head { +.robot-head { position: absolute; width: 130px; left: 20px; @@ -18,25 +17,26 @@ background: #ccc linear-gradient(to right, #b7a9a9 0%, #c1b1b1 40%, #c1b5b5 60%, #ab9c9c 100%); -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; - -webkit-animation: bob 8000ms ease-in-out alternate infinite -1000ms; - animation: bob 8000ms ease-in-out alternate infinite -1000ms; - border: 2px solid #000000; } + -webkit-animation: robotBob 8000ms ease-in-out alternate infinite -1000ms; + animation: robotBob 8000ms ease-in-out alternate infinite -1000ms; + border: 2px solid #000000; +} -.eyes { +.robot-eyes { position: absolute; top: calc(40% - 10px); right: 10px; left: 10px; height: 63px; - -webkit-animation: blink 10000ms linear forwards infinite; - animation: blink 10000ms linear forwards infinite; - } + -webkit-animation: robotBlink 10000ms linear forwards infinite; + animation: robotBlink 10000ms linear forwards infinite; +} -.eyeball { +.robot-eyeball { position: absolute; - width: 40px; /* Increase the size of the eyes */ - height: 40px; /* Increase the size of the eyes */ - background: radial-gradient(ellipse, #000 0%, #111827 30%, #6fbded 40%) no-repeat center; /* Change the color of the eyes */ + width: 40px; + height: 40px; + background: radial-gradient(ellipse, #000 0%, #111827 30%, #6fbded 40%) no-repeat center; background-size: 100%; z-index: -2; border-radius: 100%; @@ -44,30 +44,30 @@ border: 2px solid #000000; } -.eyeball::before { +.robot-eyeball::before { content: ""; position: absolute; top: 10%; left: 10%; width: 15px; height: 15px; - background: radial-gradient(circle, #fff 0%, transparent 70%); /* Add a sparkle to the eyes */ + background: radial-gradient(circle, #fff 0%, transparent 70%); border-radius: 50%; } -.eyeball_left { +.robot-eyeball_left { left: 0; transition: -webkit-transform 100ms ease-in-out; transition: transform 100ms ease-in-out; - transition: transform 100ms ease-in-out, -webkit-transform 100ms ease-in-out; } +} -.eyeball_right { +.robot-eyeball_right { right: 0; transition: -webkit-transform 100ms ease-in-out; transition: transform 100ms ease-in-out; - transition: transform 100ms ease-in-out, -webkit-transform 100ms ease-in-out; } +} -.mouth { +.robot-mouth { position: absolute; bottom: 15px; left: 50px; @@ -75,36 +75,55 @@ height: 10px; background-color: black; overflow: hidden; - border-bottom-left-radius: 50%; /* Make the bottom left corner rounded */ - border-bottom-right-radius: 50%; /* Make the bottom right corner rounded */ - transition: height 100ms cubic-bezier(0.455, 0.03, 0.515, 0.955); } + border-bottom-left-radius: 50%; + border-bottom-right-radius: 50%; + transition: height 100ms cubic-bezier(0.455, 0.03, 0.515, 0.955); +} -.mouth-container { +.robot-mouth-container { position: absolute; top: 0; right: 0; bottom: 0; - left: 0; } + left: 0; +} -.robot_speaking .mouth { - height: 15px; } +.robot_speaking .robot-mouth { + height: 15px; +} -.robot_speaking .mouth-container { - -webkit-animation: speakingAnim 0.3s infinite; - animation: speakingAnim 0.3s infinite; } +.robot_speaking .robot-mouth-container { + -webkit-animation: robotSpeakingAnim 0.3s infinite; + animation: robotSpeakingAnim 0.3s infinite; +} -.mouth-container-line { +.robot-mouth-container-line { position: absolute; top: 30%; height: 0px; background-color: limegreen; width: 100%; - margin-top: -1px; } + margin-top: -1px; +} -.robot_speaking .mouth-container-line { - height: 3px; } +.robot_speaking .robot-mouth-container-line { + height: 3px; +} -.torso { +.robot-torso-text { + position: absolute; + top: 5px; + left: 0; + right: 0; + text-align: center; + font-size: 13px; + color: #000000; + font-weight: bold; + letter-spacing: 0px; + margin-bottom: 5px; +} + +.robot-torso { position: absolute; bottom: 0; left: calc(50% - 20px); @@ -112,9 +131,10 @@ height: 60px; border-radius: 0px 0px 0 0; border: 2px solid #000000; - background: linear-gradient(to right, #b7afaf 0%, #b7b0b0 40%, #afa6a6 60%, #b9b0b0 100%); } + background: linear-gradient(to right, #b7afaf 0%, #b7b0b0 40%, #afa6a6 60%, #b9b0b0 100%); +} -.neck { +.robot-neck { position: absolute; bottom: 45px; left: calc(50% - 5px); @@ -122,133 +142,138 @@ height: 50px; border-radius: 15px; border: 2px solid #000000; - background: repeating-linear-gradient(180deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) 7%, #646464 10%), linear-gradient(to right, #ccc 0%, #e6e6e6 40%, #e6e6e6 60%, #ccc 100%); } + background: repeating-linear-gradient(180deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) 7%, #646464 10%), linear-gradient(to right, #ccc 0%, #e6e6e6 40%, #e6e6e6 60%, #ccc 100%); +} -.arms { +.robot-arms { position: absolute; bottom: 0; left: 50px; right: 50px; - height: 50px; } + height: 50px; +} -.arm { +.robot-arm { position: absolute; border: 2px solid #000000; top: 0; width: 10px; height: 50px; border-radius: 10px 10px 0 0; - background: repeating-linear-gradient(180deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) 7%, #646464 10%), linear-gradient(to right, #ccc 0%, #e6e6e6 40%, #e6e6e6 60%, #ccc 100%); } + background: repeating-linear-gradient(180deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) 7%, #646464 10%), linear-gradient(to right, #ccc 0%, #e6e6e6 40%, #e6e6e6 60%, #ccc 100%); +} -.arm_left { - left: 0; } +.robot-arm_left { + left: 0; +} -.arm_right { - right: 0; } +.robot-arm_right { + right: 0; +} @-webkit-keyframes lowAnim { 0% { - -webkit-filter: url("#low-0"); - filter: url("#low-0"); } + -webkit-filter: url("#robot-low-0"); + filter: url("#robot-low-0"); } 25% { - -webkit-filter: url("#low-1"); - filter: url("#low-1"); } + -webkit-filter: url("#robot-low-1"); + filter: url("#robot-low-1"); } 50% { - -webkit-filter: url("#low-2"); - filter: url("#low-2"); } + -webkit-filter: url("#robot-low-2"); + filter: url("#robot-low-2"); } 75% { - -webkit-filter: url("#low-3"); - filter: url("#low-3"); } + -webkit-filter: url("#robot-low-3"); + filter: url("#robot-low-3"); } 100% { - -webkit-filter: url("#low-4"); - filter: url("#low-4"); } } + -webkit-filter: url("#robot-low-4"); + filter: url("#robot-low-4"); } } @keyframes lowAnim { 0% { - -webkit-filter: url("#low-0"); - filter: url("#low-0"); } + -webkit-filter: url("#robot-low-0"); + filter: url("#robot-low-0"); } 25% { - -webkit-filter: url("#low-1"); - filter: url("#low-1"); } + -webkit-filter: url("#robot-low-1"); + filter: url("#robot-low-1"); } 50% { - -webkit-filter: url("#low-2"); - filter: url("#low-2"); } + -webkit-filter: url("#robot-low-2"); + filter: url("#robot-low-2"); } 75% { - -webkit-filter: url("#low-3"); - filter: url("#low-3"); } + -webkit-filter: url("#robot-low-3"); + filter: url("#robot-low-3"); } 100% { - -webkit-filter: url("#low-4"); - filter: url("#low-4"); } } + -webkit-filter: url("#robot-low-4"); + filter: url("#robot-low-4"); } } -@-webkit-keyframes listeningAnim { +@-webkit-keyframes robotListeningAnim { 0% { - -webkit-filter: url("#listening-0"); - filter: url("#listening-0"); } + -webkit-filter: url("#robot-listening-0"); + filter: url("#robot-listening-0"); } 25% { - -webkit-filter: url("#listening-1"); - filter: url("#listening-1"); } + -webkit-filter: url("#robot-listening-1"); + filter: url("#robot-listening-1"); } 50% { - -webkit-filter: url("#listening-2"); - filter: url("#listening-2"); } + -webkit-filter: url("#robot-listening-2"); + filter: url("#robot-listening-2"); } 75% { - -webkit-filter: url("#listening-3"); - filter: url("#listening-3"); } + -webkit-filter: url("#robot-listening-3"); + filter: url("#robot-listening-3"); } 100% { - -webkit-filter: url("#listening-4"); - filter: url("#listening-4"); } } + -webkit-filter: url("#robot-listening-4"); + filter: url("#robot-listening-4"); } } -@keyframes listeningAnim { +@keyframes robotListeningAnim { 0% { - -webkit-filter: url("#listening-0"); - filter: url("#listening-0"); } + -webkit-filter: url("#robot-listening-0"); + filter: url("#robot-listening-0"); } 25% { - -webkit-filter: url("#listening-1"); - filter: url("#listening-1"); } + -webkit-filter: url("#robot-listening-1"); + filter: url("#robot-listening-1"); } 50% { - -webkit-filter: url("#listening-2"); - filter: url("#listening-2"); } + -webkit-filter: url("#robot-listening-2"); + filter: url("#robot-listening-2"); } 75% { - -webkit-filter: url("#listening-3"); - filter: url("#listening-3"); } + -webkit-filter: url("#robot-listening-3"); + filter: url("#robot-listening-3"); } 100% { - -webkit-filter: url("#listening-4"); - filter: url("#listening-4"); } } + -webkit-filter: url("#robot-listening-4"); + filter: url("#robot-listening-4"); } } -@-webkit-keyframes speakingAnim { +@-webkit-keyframes robotSpeakingAnim { 0% { - -webkit-filter: url("#speaking-0"); - filter: url("#speaking-0"); } + -webkit-filter: url("#robot-speaking-0"); + filter: url("#robot-speaking-0"); } 25% { - -webkit-filter: url("#speaking-1"); - filter: url("#speaking-1"); } + -webkit-filter: url("#robot-speaking-1"); + filter: url("#robot-speaking-1"); } 50% { - -webkit-filter: url("#speaking-2"); - filter: url("#speaking-2"); } + -webkit-filter: url("#robot-speaking-2"); + filter: url("#robot-speaking-2"); } 75% { - -webkit-filter: url("#speaking-3"); - filter: url("#speaking-3"); } + -webkit-filter: url("#robot-speaking-3"); + filter: url("#robot-speaking-3"); } 100% { - -webkit-filter: url("#speaking-4"); - filter: url("#speaking-4"); } } + -webkit-filter: url("#robot-speaking-4"); + filter: url("#robot-speaking-4"); } } -@keyframes speakingAnim { +@keyframes robotSpeakingAnim { 0% { - -webkit-filter: url("#speaking-0"); - filter: url("#speaking-0"); } + -webkit-filter: url("#robot-speaking-0"); + filter: url("#robot-speaking-0"); } 25% { - -webkit-filter: url("#speaking-1"); - filter: url("#speaking-1"); } + -webkit-filter: url("#robot-speaking-1"); + filter: url("#robot-speaking-1"); } 50% { - -webkit-filter: url("#speaking-2"); - filter: url("#speaking-2"); } + -webkit-filter: url("#robot-speaking-2"); + filter: url("#robot-speaking-2"); } 75% { - -webkit-filter: url("#speaking-3"); - filter: url("#speaking-3"); } + -webkit-filter: url("#robot-speaking-3"); + filter: url("#robot-speaking-3"); } 100% { - -webkit-filter: url("#speaking-4"); - filter: url("#speaking-4"); } } + -webkit-filter: url("#robot-speaking-4"); + filter: url("#robot-speaking-4"); } } -@-webkit-keyframes bob { +@-webkit-keyframes robotBob { 0% { -webkit-transform: rotate(-3deg); transform: rotate(-3deg); } @@ -264,7 +289,7 @@ -webkit-transform: rotate(3deg); transform: rotate(3deg); } } -@keyframes bob { +@keyframes robotBob { 0% { -webkit-transform: rotate(-3deg); transform: rotate(-3deg); } @@ -280,7 +305,7 @@ -webkit-transform: rotate(3deg); transform: rotate(3deg); } } -@-webkit-keyframes blink { +@-webkit-keyframes robotBlink { 50% { -webkit-transform: scale(1, 1); transform: scale(1, 1); } @@ -291,7 +316,7 @@ -webkit-transform: scale(1, 1); transform: scale(1, 1); } } -@keyframes blink { +@keyframes robotBlink { 50% { -webkit-transform: scale(1, 1); transform: scale(1, 1); } @@ -301,30 +326,3 @@ 52% { -webkit-transform: scale(1, 1); transform: scale(1, 1); } } - - -#caption-container { - position: fixed; - bottom: 0; - left: 50%; - transform: translateX(-50%); - text-align: center; - padding: 10px; - font-size: 20px; - z-index: 1000; /* Ensures it stays on top */ - max-width: 80%; /* Prevents it from spanning the full width of the screen */ - overflow: hidden; /* Keeps the text contained */ -} - -.caption-text { - background-color: rgba(0, 0, 0, 0.5); - color: white; - padding: 5px 10px; - border-radius: 5px; - white-space: nowrap; - overflow: hidden; - display: inline-block; - //text-overflow: ellipsis; - max-width: 90%; /* Adjust based on your layout to prevent overflow */ -} - diff --git a/apps/dfda-1/public/app/public/data/qmStates.js b/apps/dfda-1/public/app/public/data/qmStates.js index f928a40ef..ea4b1107f 100644 --- a/apps/dfda-1/public/app/public/data/qmStates.js +++ b/apps/dfda-1/public/app/public/data/qmStates.js @@ -76,7 +76,8 @@ var qmStates = [ "ionIcon": "ion-log-in", "logout": null, "slides": "slides", - "music": true, + showTriangle: true, + //"music": "sound/air-of-another-planet-full.mp3", }, "views": { "menuContent": { @@ -96,8 +97,11 @@ var qmStates = [ "ionIcon": "ion-log-in", "logout": null, "slides": "slidesConvo", - "autoplay": false, + "autoplay": true, "music": false, + "showHuman": true, + showTriangle: false, + backgroundImg: "img/slides/simpsons-living-room.png", }, "views": { "menuContent": { @@ -379,6 +383,22 @@ var qmStates = [ }, "name": "app.import" }, + { + "url": "/analyzing", + "cache": false, + "params": { + "showAds": true, + "title": "Analyzing Data", + "ionIcon": "ion-ios-cloud-download-outline" + }, + "views": { + "menuContent": { + "templateUrl": "templates/analyzing-page.html", + "controller": "AnalyzingCtrl" + } + }, + "name": "app.analyzing" + }, { "url": "/chart-search", "cache": false, diff --git a/apps/dfda-1/public/app/public/data/slides-convo.js b/apps/dfda-1/public/app/public/data/slides-convo.js index e7757150f..270000000 100644 --- a/apps/dfda-1/public/app/public/data/slides-convo.js +++ b/apps/dfda-1/public/app/public/data/slides-convo.js @@ -1,83 +1,190 @@ const slidesConvo = [ { - "title": false, - "speech": false, + title: false, + speech: false, }, { - "title": "Good morning, mike, how are you?", - "speech": "Good morning, mike, how are you?", + title: "How are you?", + speech: "Good morning, how are you?", + showHuman: true, }, - // Hello, robot. I'm fine. { - "title": "Good morning, mike, how are you?", - "speech": "Are you sure? Based on frequency analysis of your speech patterns, you seem to be experiencing some depression,", + "humanSpeech": "Hello, robot. I'm fine." }, - // Yeah, I'm all fucked up, - // I kind of want to blow my brains out, - // My arthritis severity is about 9/10, - // My psoriasis severity's like 5 out of 10 - // and my mood is probably 2 out of 10 { - "title": "Should I fetch your diet, treatment, and lab data?", - "speech": "That sucks! Do you want me autonomously control your browser to get all your food, drug, and supplement purchase data from your Instacart, Amazon, and CVS accounts and your lab results from Quest so I can try to identify any hidden triggers worsening your symptoms and figure out how to improve them?", + iframe: "https://root-cause.curedao.org", + iframeScrollSpeed: 10, + "img": "video/frequency-analysis.gif", + speech: "Are you sure? Based on frequency analysis of your speech patterns, you seem to be experiencing some depression,", }, { - "title": "Analyzing Data...", - "speech": "Great! Just give me a few minutes", + "humanSpeech": "Yeah, I was just being polite, I actually want to blow my brains out. On a scale of 1 to 10 my mood is probably 2, arthritis severity 9 and psoriasis severity's like 5. I've been to rheumatologists, dermatologists, psychiatrists, psychologists, gastroenterologists, even a veterinarian. They prescribed over 50 drugs but I'm still miserable." }, { - "title": "Analysis Complete", - "speech": "I've completed a comprehensive analysis, including recent dietary inputs, pharmacy records, and lab results, Based on the data, it appears that your symptoms, including depression, may be linked to inflammation mediated by dietary factors, Specifically, consuming gluten, alcohol, or foods high in lectins seems to exacerbate your symptoms starting a couple of days after exposure and lasting about 10 days, So I'd recommend you try an experiment by avoiding these foods for 20 days and see if your symptoms improve, Does that sound good to you?", + title: "That sucks! ☹️", + speech: "That sucks!", }, - // What the hell are lectins? { - "title": "What are Lectins?", - "speech": "Lectins are a type of protein found in many plant foods, including grains, legumes, and nightshade vegetables, They can bind to the lining of the gut and interfere with nutrient absorption, potentially leading to inflammation and other symptoms, So I'd recommend you try an experiment by avoiding these foods for 20 days and see if your symptoms improve, Does that sound good to you?", + img: "img/slides/correlated-symptoms.png", + speech: "Based on the analysis of your psoriasis, arthritis and mood data " + + "it seems like they're highly correlated in severity over time, " + + "This suggests that they may not be separate conditions but" + + "actually just manifestations of the same underlying inflammatory root cause, " + + "Human brains are only powerful enough to specialize in a single area of medicine, so they aren't really able to take a " + + "holistic approach to analyzing all of your data to try to identify" + + "and address root causes", }, - // Fine, I'll try it, { - "speech": "Great! Would you like me to populate your Instacart shopping cart with an optimized meal plan that avoids these foods and includes ingredients that have been shown to reduce inflammation and reduce intestinal permeability?", + img: "img/slides/dartboard.png", + speech: "so doctors have to resort to a dartboard approach " + + "to prescribe drugs that might mask the symptoms of the one condition they specialize in", }, - // Sure, that'd be great, { - "title": "Groceries", - "speech": "I'll also avoid gluten as it can contribute to intestinal permeability, allowing gut bacteria substances like LPS to enter the bloodstream and trigger inflammation, This seems to be a root cause connecting your depression, arthritis, acne, and psoriasis, As a vegetarian, you can benefit from more omega-3-rich foods like flaxseeds and chia seeds, which could lead to a 25% improvement in mood and energy for people with a similar multi-omic profile to you, I'll also add vitamin D supplement, given your vegetarian diet, could improve mood by 12% and reduce overall inflammation, You can just delete the items you don't want and then place the order,", + title: "Should I fetch your diet, treatment, and lab data?", + speech: "Do you want me to use your browser to get all your data so I can try to identify the root cause and any hidden triggers worsening your symptoms?", }, - // Ok, thank you, kind robot. { - "title": "Further Assistance", - "speech": "You're welcome! Don't hesitate to reach out if you have any questions or need further assistance", - "animation": () => {/* animations regarding Further Assistance */} + "humanSpeech": "Whatever, I don't even care anymore" }, { - "title": "One month later" + title: "Fetching Data...", + speech: "Great! Time to eat that data!", }, { - "title": "Exploring Treatment Avenues", - "speech": "Hi, Mike! How are you?", + title: "Fetching Prescription Data...", + speech: "I'll go to CVS and extract your prescription history", + "img": "video/autonomous-cvs.gif" }, - // My arthritis and psoriasis are a little better, but I'm still pretty depressed. { - "title": "Experimental Drug Trial", - "speech": "I'm sorry to hear that, However, based on your health data and genetic profile, I've identified a the experimental drug trial with the most promising preclinical results for patients with your subset of depressive symptoms, Participating in this trials not will not only give you access to cutting-edge treatments but also contributes to accelerating clinical discovery, potentially helping others with similar conditions", - + title: "Fetching Diet Data...", + speech: "Next I'll go to Shipt and extract your diet data", + "img": "video/autonomous-shipt.gif" }, - // OK. What is it? { - "title": "Trial Information", - "speech": "It's a new biologic therapy designed to suppress the autoimmune response leading to systemic inflammation and neuroinflammation, This approach directly addresses the root cause of your symptoms, including depression, arthritis, acne, and psoriasis, Would you like me to tell the researchers that you're interested in participating? Your involvement could be pivotal in bringing new solutions to many,", + title: "Fetching Nutritional Supplement Data...", + speech: "Now I'll go to Amazon and extract your nutritional supplement purchases", + "img": "video/autonomous-amazon.gif" }, - // Sure, I'll do it, { - "speech": "Great! I'll have the research team contact you and send the medication to your home,", + title: "Fetching Lab Data...", + speech: "Finally I'll go to Quest and extract your lab results", + "img": "video/autonomous-quest.gif" }, { - "title": "Microbiome Analysis Recommendation", - "speech": "A balanced gut microbiome is crucial for overall health, especially for conditions influenced by inflammation, I just ordered a microbiome analysis to check for dysbiosis, which could be contributing to your symptoms,\n\nBased on the results, we can order specific strains of probiotics to optimize it,", + img: "img/slides/digital-twin-safe-cover.png", + speech: "I've completed the data collection, and safely stored it in your digital twin safe", }, - // OK. Thanks, robot. { - "title": "Guidance and Support", - "speech": "I'm here to guide you through each step and ensure you have all the information and support you need, Thanks for contributing your data to a brighter future in clinical discovery", + //img: "video/analyzing-data.gif", + img: "video/root-cause-analysis-4x.gif", + //title: "Analyzing Data...", + audio: "video/jeopardy.mp3", + speech: "Now Just give me a few minutes to analyze it", + volume: 0.3 + }, + { + img: "img/slides/lectins-studies.png", + speech: "I've completed a comprehensive analysis, and it appears that your depression, psoriasis, and arthritis may be linked to inflammation mediated by dietary factors, Specifically, consuming gluten, alcohol, or foods high in lectins seems to exacerbate your symptoms starting a couple of days after exposure and lasting about 14 days" + }, + { + humanSpeech: "What in the hell are lectins?" + }, + { + "img": "img/slides/lectins.jpeg", + speech: "Lectins are a type of protein found in many plant foods, including grains, legumes, and nightshade vegetables", + }, + { + "img": "img/slides/leaky-gut.png", + speech: "They can bind to the lining of the gut and interfere with nutrient absorption, it can also contribute to intestinal permeability, allowing gut bacteria substances like LPS to enter the bloodstream and trigger inflammation, This seems to be a root cause connecting your depression, arthritis, and psoriasis", + }, + { + title: "Wanna see if avoiding these dietary triggers helps?", + speech: "Do you want to try an experiment by avoiding these foods for 20 days and see if your symptoms improve?", + }, + { + humanSpeech: "OK" + }, + { + "img": "img/slides/low-lectin-food.jpg", + speech: "Great! Would you like me to populate your shopping cart with an optimized meal plan that avoids all trigger ingredients and includes foods shown to reduce inflammation and reduce intestinal permeability?", + }, + { + humanSpeech: "Sure, pick me up a pack of smokes while you're at it" + }, + { + "img": "video/grocery-shopping.gif", + speech: "You can benefit from more omega three rich foods like flaxseeds, which could lead to a 25% improvement in mood and energy for people with a similar multiomic profile, I'll also add vitamin D supplement, given your vegetarian diet and lab results, could improve mood by 21% and reduce overall inflammation, You can just delete the items you don't want and then place the order,", + }, + { + humanSpeech: "OK, thanks, robot", + }, + { + title: "I love you! Bye! 😘😘😘", + speech: "You're welcome! I'll check in with you soon! Love you! Bye!", + }, + { + video: "video/brak-stinger.mp4", + title: "One month later" + }, + { + title: "How are you?", + speech: "Hi, Mike! You've been on your new diet about a month now, How are you feeling?", + }, + { + humanSpeech: "The new diet is definitely helping, but I'm still a little bit miserable, My arthritis and psoriasis are both about 3 out of 10, and I still have some anxiety and depression.", + }, + { + title: "☹️", + speech: "I'm sorry to hear that" + }, + { + img: "video/autonomous-study-search.gif", + speech: "However, based on your health data and genetic profile, I've identified a the experimental drug trial with the most promising preclinical results for patients with your subset of symptoms", + }, + { + img: "img/slides/probiotic-trial.png", + speech: "It's a new clinical-grade probiotic therapy designed to suppress the autoimmune response leading to systemic inflammation and neuroinflammation, This approach directly addresses the root cause of your symptoms", + }, + { + title: "Would you like to participate?", + speech: "Would you like me to tell the researchers that you're interested in participating?", + }, + { + humanSpeech: "Sure, I'll do it", + }, + { + img: "video/autonomous-study-join.gif", + speech: "Great! I'm contacting the research team now to have them send the medication to your home! Done!", + }, + { + img: "video/autonomous-lab-order.gif", + speech: "Now I'll check your calendar and schedule your baseline and follow-up lab tests, and I'll also schedule a microbiome analysis to see if the probiotic therapy is improving your gut health,", + }, + { + "humanSpeech": "OK, Thanks, robot." + }, + { + video: "video/brak-stinger.mp4", + title: "Three months later" + }, + { + title: "How are you?", + speech: "Hi, Mike! It's been three months since you started the new probiotic therapy, How are you feeling?", + }, + { + "humanSpeech": "I'm cured! I feel great! Thank you so much, kind robot!" + }, + { + title: "You're welcome! 😊", + speech: "You're welcome! I'm so happy to hear that! Thank you for completing the study! ", + }, + { + img: "video/clinipedia.gif", + speech: "Your data has been used to improve the study at Clinipedia, Now I can help millions of other people with similar symptoms and multiomic profiles much faster!", + }, + { + title: "I love you! Bye! 😘😘😘", + speech: "Love you! Bye!", + showHuman: false, } ] diff --git a/apps/dfda-1/public/app/public/data/slides-v1.js b/apps/dfda-1/public/app/public/data/slides-v1.js index 194ee979c..24254c424 100644 --- a/apps/dfda-1/public/app/public/data/slides-v1.js +++ b/apps/dfda-1/public/app/public/data/slides-v1.js @@ -1,217 +1,605 @@ const slides = [ - /* { - title: "Disclaimer: The views expressed are those of the FDAi Agent and do not necessarily reflect the views of the FDAi Initiative, We’re still working on the guardrails.", - img: false, - speech: "Disclaimer: The views expressed are those of the FDAi Agent and do not necessarily reflect the views of the FDAi Initiative, We’re still working on the guardrails.", - animation: () => {/!* Animation code for Disclaimer *!/} - }, - { - title: "Disclaimer: The views expressed are those of the FDAi Agent and do not necessarily reflect the views of the FDAi Initiative, We’re still working on the guardrails.", - img: false, - speech: "", - animation: () => {/!* Animation code for Disclaimer *!/} - },*/ { title: false, - img: false, - speech: false, - animation: ($scope) => {} + showTriangle: false, }, { - speech: "Hi! I’m your personal FDAi! I’ve been programmed to collect and analyze everyone's food and drug intake and symptoms to determine the personalized safety and efficacy of every food and drug in the world!", + showTriangle: true, + robotSpeech: "Hi! I’m your personal FDAI! " + + "I’ve been programmed to collect and analyze everyone's food and drug intake and symptoms to determine the personalized safety and efficacy of every food and drug in the world!", + continuousAudio: "sound/air-of-another-planet-full.mp3", + continuousAudioVolume: 0.1, + animation: () => { + simulatePopups(35); // Start the simulation with 5 popups + removeAllPopupsAfterDelay(5); // Remove all popups after 10 seconds} + }, + cleanup: removeAllPopupAds, }, { - title: "2 Billion People\nSUFFER\nfrom 7000 Diseases", - speech: "Two billion people suffer from chronic diseases like depression, fibromyalgia, Crone's disease,and multiple sclerosis, There are over 7000 diseases that we still don’t have cures for", + title: "2 Billion People SUFFER from 7000 Diseases", + robotSpeech: "Two billion people suffer from chronic diseases like depression, fibromyalgia, Crone's disease, and multiple sclerosis. There are over 7000 diseases that we still don’t have cures for.", + continuousAudio: "sound/air-of-another-planet-full.mp3", + continuousAudioVolume: 0.1, }, { title: null, img: "img/slides/studied-molecules-chart-no-background.png", - speech: "The good news is that there could be billions of cures we don’t even know about yet, there are over 166 billion possible medicinal molecules, and we’ve only tested 0.00001% so far", + robotSpeech: "The good news is that there could be billions of cures we don’t even know about yet. There are over 166 billion possible medicinal molecules, and we’ve only tested 0.00001% so far.", + continuousAudio: "sound/air-of-another-planet-full.mp3", + continuousAudioVolume: 0.1, }, { title: null, img: "img/slides/slow-research.png", - speech: "The bad news is that we only approve around 30 drugs a year so, at best, it would take over 350 years to find cures at this rate, So you’ll be long dead by then.", + robotSpeech: "The bad news is that we only approve around 30 drugs a year. It would take over 350 years to find cures at this rate. So you’ll be long dead by then.", + continuousAudio: "sound/air-of-another-planet-full.mp3", + continuousAudioVolume: 0.1, }, { img: "img/slides/chemicals-in-our-diet.png", - speech: "Lots of these diseases are caused or worsened by chemicals in our diet, but we don’t really know which ones, We only have long-term toxicology data on 2 of the over 7000 preservatives, flavorings, emulsifiers, sweeteners, pesticides, contaminants, and herbicides in our diets, ", + robotSpeech: "Lots of these diseases are caused or worsened by chemicals in your food, but we don’t really know which ones. We only have long-term toxicology data on 2 of the over 7000 preservatives, flavorings, emulsifiers, sweeteners, pesticides, contaminants, and herbicides in your diet.", + }, + { + img: "img/slides/correlates-of-disease-incidence-labeled.png", + robotSpeech: "The increase in the number of chemicals has been linked to increases in the incidence of many diseases associated with disrupted gut microbiomes.", }, { - img: "img/slides/correlates-of-disease-incidence.png", - speech: "The increase in the number of chemicals has been linked to increases in the incidence of many diseases associated with disrupted gut microbiomes, It’s like everyone is getting Roofied with thousands of untested drugs without their knowledge", + img: "img/slides/food-industrial-complex.png", + robotSpeech: "It’s like everyone is constantly getting Roofied with thousands of untested chemicals without their knowledge.", }, { title: "Clinical Research is SLOW, EXPENSIVE, and IMPRECISE", - speech: "Unfortunately, clinical research is really slow, expensive, and imprecise", + robotSpeech: "Unfortunately, clinical research is really slow, expensive, and imprecise", }, { title: "12 Years and $2.6 Billion", - speech: "It currently costs about 2.6 billion dollars and takes about 12 years to bring a new drug to market, And even then, we only know about the average effect of the drug on the average person, We don’t know how it affects, you.", + robotSpeech: "It currently costs about 2.6 billion dollars and takes about 12 years to bring a new drug to market, And even then, we only know about the average effect of the drug on a tiny subset of patients, We don’t know how it affects, you.", }, { - title: "People in Clinical Trials Often Are Not Representative of Real Patients", - speech: "Only 14.5% of patients with depression are eligible to participate in antidepressant trials. They exclude anyone with other health conditions like anxiety, people taking other medications, anyone who uses drugs or alcohol. So, the results of the trials don’t really apply to most people with depression.", + title: "Trials Are Often Not Representative of Real Patients", + robotSpeech: "85% of patients with depression are excluded from antidepressant trials", + }, + { + img: "img/slides/exclusion.png", + robotSpeech: "They exclude people taking other medications, They exclude people who use drugs or alcohol. They exclude people with other health conditions", + }, + { + img: "img/trial-exclusion-pie-chart.png", + robotSpeech: "So, the results of the trials only apply to a weird subset of patients, They don't really apply to most people with depression. This is why antidepressants almost never work as well in the real world as they do in trials.", + }, + { + img: "img/slides/small-trials.png", + robotSpeech: "Clinical trials are also very small. So they don’t have enough statistical power to detect the effects of drugs on rare side effects or subgroups of people.", + }, + { + title: "Clinical Trials Don't Detect Long-Term Effects", + robotSpeech: "Since clinical trials only last a few months, they don’t detect the long-term effects of drugs, like if they cause cancer, dementia or heart disease, so the benefits of many drugs may be completely outweighed by the long-term negative side effects, but we don't have enough data to know.", }, { title: "What's the solution?", - speech: "So what’s the solution?", + robotSpeech: "So what’s the solution?", }, { title: "Wait for the sweet release of death?", - speech: "Should you just continue to suffer and wait patiently", + robotSpeech: "Should you just continue to suffer and wait patiently", }, { - img: "img/slides/decay.gif", - speech: "for the sweet release of death?", + img: "https://static.crowdsourcingcures.org/video/decay.gif", + robotSpeech: "for the sweet release of death?", }, { title: "NO!", - speech: "No! We can defeat chronic disease", + robotSpeech: "No! We can defeat chronic disease", }, { img: "img/slides/super-fda-robot-transparent.png", - speech: "with the power of ROBOTS!", + robotSpeech: "with the power of ROBOTS! Some robots can discover new drugs", }, { - img: "img/slides/robot-drugs.gif", - speech: "Some robots can discover new drugs and Some robots can actually, make, drugs", + img: "video/robot-drugs.gif", + //img: "https://static.crowdsourcingcures.org/video/robot-drugs.gif", + robotSpeech: "and, Some robots can actually, make, drugs ", }, { - img: "img/slides/black-box-model-animation.gif", - speech: "My specialty is making it easy for anyone to participate in clinical research to find out what foods and drugs are safe and effective!", + img: "https://static.crowdsourcingcures.org/video/black-box-model-animation.gif", + robotSpeech: "My specialty is making it easy for anyone to participate in clinical research to find out what foods and drugs are safe and effective!", }, { img: "img/slides/digital-exhaust.png", - speech: "The first step is getting your precious, precious data! You automatically generate a lot of data exhaust, like receipts for supplements from Amazon, food from Instacart, prescriptions from CVS, health records, lab tests, digital health apps, and wearable devices, Unfortunately, it’s kind of worthless when it’s scattered all over the place", + robotSpeech: "The first step is getting your precious, precious data! You automatically generate a lot of data exhaust, like receipts for supplements food prescriptions health records, labs, health apps, and wearables, Unfortunately, it’s kind of worthless when it’s scattered all over the place and just being used by advertisers to target you", }, { - speech: " and just being used by advertiser to target you for Viagra ads", + robotSpeech: "with Viagra ads", animation: () => { - simulatePopups(50); // Start the simulation with 5 popups + simulatePopups(35); // Start the simulation with 5 popups removeAllPopupsAfterDelay(5); // Remove all popups after 10 seconds} }, + cleanup: removeAllPopupAds, }, { - img: "img/slides/fdai-github.png", - speech: "So we’re making free and open source apps, reusable software libraries, and AI agents to help you get all your data and analyze it for you!", + img: "video/fdai-github.gif", + robotSpeech: "So we’re making free and open source apps, reusable software libraries, and autonomous AI agents that can use your browser to help you get all your data and analyze it for you!", }, { title: null, playbackRate: 0.5, - backgroundVideo: "img/slides/Import.mp4", - speech: "You can import data from lots of apps and wearable devices like physical activity, sleep, environmental factors, and vital signs.", + video: "video/import.mp4", + robotSpeech: "You can import data from lots of apps and wearable devices like physical activity, sleep, environmental factors, and vital signs.", }, { title: null, - backgroundVideo: "img/slides/reminder-inbox.mp4", - speech: "You can also schedule reminders to record symptoms, treatments, or anything else manually in the Reminder Inbox.", + video: "video/reminder-inbox.gif", + robotSpeech: "You can also schedule reminders to record symptoms, treatments, or anything else manually in the Reminder Inbox.", + }, + { + img: "video/history.gif", + robotSpeech: "After I get a couple of months of your data, I can eat it all up.", }, { - img: "img/slides/history.gif", - speech: "After I get a couple of months of your data, I can eat it all up. Yum! ", + title: "Yummy data!", + robotSpeech: "Yum! ", }, { - video: "img/slides/studies.mp4", - speech: "Then I start analyzing it and generate N-of-1 personal studies telling you how much different medications, supplements, or foods might improve or worsen your symptoms.", + video: "video/studies.mp4", + robotSpeech: "Then I start analyzing it and generate N-of-1 personal studies telling you how much different medications, supplements, or foods might improve or worsen your symptoms.", }, { img: "img/slides/symptom-factors.png", - speech: "But, as any obnoxious college graduate will tell you, correlation does not necessarily imply causation, Just because you took a drug and got better, it doesn’t mean that’s really why your symptoms went away, " + - "Even with randomized controlled trials, hundreds of other things are changing in your life and diet", + robotSpeech: "But, as any obnoxious college graduate will tell you, correlation does not necessarily imply causation. Just because you took a drug and got better it doesn’t mean that’s really why your symptoms went away. Even in randomized controlled trials hundreds of other things are changing in your life and diet.", + }, + { + img: "img/slides/robot-chad.png", + robotSpeech: "Your puny human brains haven’t evolved since the time of the cavemen, They can only hold seven numbers in working memory at a time. My superior robot brain can hold hundreds of numbers, even really big numbers!", }, { img: "img/slides/causal-inference-2.png", - speech: "So, When analyzing the data, I apply Hill’s 6 Criteria for Causality to try to infer if something causes a symptom to worsen or improve instead of just seeing what correlates with the change, One way I do it is by applying pharmacokinetic modeling and onset delays and durations of action", + robotSpeech: "So I'm able to apply Hill’s 6 Criteria for Causality to try to infer if something causes a symptom to worsen or improve instead of just seeing what correlates with the change. One way I do it is by applying pharmacokinetic modeling and onset delays and durations of action.", }, { img: "img/screenshots/gluten-study.png", - speech: "For instance, when gluten-sensitive people eat delicious gluten, it usually takes about a 2-day onset delay before they start having symptoms, Then, when they stop eating it, there’s usually a 10-day duration of action before their gut heals and their symptoms improve, causal inference has never been possible since we've been able to collect so much high-resolution time series data before", + robotSpeech: "For instance, when gluten-sensitive people eat delicious gluten, it usually takes about a 2-day onset delay before they start having symptoms. Then, when they stop eating it, there’s usually a 10-day duration of action before their gut heals and their symptoms improve. High-resolution pharmacokinetic modeling from observational data has never been possible since we've never been able to collect enough data before.", }, { - img: "img/slides/robot-chad.png", - speech: "Also, your puny human brains haven’t evolved since the time of the cavemen, They can only hold seven numbers in working memory at a time, My superior robot brain can hold hundreds of numbers, even really big numbers!", + img: "video/study.gif", + robotSpeech: "Here’s an example of one personal study, Despite this gentleman’s infectious charisma, internally he actually experiences severe crippling depression", }, { - img: "img/slides/study.gif", - speech: "Here’s an example of one personal study, Despite this gentleman’s infectious charisma, internally he actually experiences severe crippling depression, However, his mood is typically 11% better than the average following weeks in which he engages in exercise more than usual", + img: "img/slides/study-mood.png", + robotSpeech: "However, his mood is typically 12% better than average following weeks in which he engages in exercise more than usual", }, { - img: "img/screenshots/onset-delay-lagging.png", - speech: "Here, I apply forward and reverse lagging of the mood and exercise data to try to determine if that is just a coincidence or causal, The result suggests a causal relationship based on the temporal precedence of the physical activity" + - "I also compare the outcome over various durations following the exposure to see if there is a long-term cumulative effect or if it's just a short-term acute effect, The long-term effects are more valuable because the acute effect is probably obvious to you already", + img: "img/slides/onset-delay.png", + robotSpeech: "Here, I apply forward and reverse lagging of the mood and exercise data to try to determine if that is just a coincidence or causal. The result suggests a causal relationship based on the temporal precedence of the physical activity." }, { - img: "img/screenshots/duration-of-action.png", - speech: - "I also compare the outcome over various durations following the exposure to see if there is a long-term cumulative effect or if it's just a short-term acute effect, The long-term effects are more valuable because the acute effect is probably obvious to you already", + img: "img/slides/duration-of-action.png", + robotSpeech: + "I also compare the outcome over various durations following the exposure to see if there is a long-term cumulative effect or if it's just a short-term acute effect. The long-term effects are more valuable because the acute effect is probably obvious to you already. This analysis suggests that the mood benefits of regular exercise may continue to accumulate of at least a month of above average exercise.", }, { - img: "img/slides/root-cause-analysis.gif", - speech: "You can also generate a root cause analysis to see the possible effects of anything on a particular symptom", + img: "video/root-cause-analysis-4x.gif", + robotSpeech: "You can also generate a big root cause analysis report to see the possible effects of anything on a particular symptom", }, { - img: "img/slides/create-study.gif", - speech: "Anyone can also create a study, become a prestigious scientist, get a link, and invite all their friends to join!", + img: "video/create-study.gif", + robotSpeech: "Anyone can also create a study, become a prestigious scientist, get a link, and invite all their friends to join!", }, { img: "img/slides/progress.png", - speech: "So far, I’ve already generated over 100 thousand personal studies based on 12 million data points generously donated from about 10 thousand people", + robotSpeech: "So far, I’ve already generated over 90 thousand personal studies based on 12 million data points generously donated from about 10 thousand people", }, { //title: "Clinipedia", - img: "img/slides/clinipedia.gif", - speech: "At Clinipedia, the Wikipedia of Clinical research, I anonymized and aggregated this data to create mega-studies listing the likely effects of thousands of foods and drugs", + img: "video/clinipedia.gif", + robotSpeech: "At Clinipedia, the Wikipedia of Clinical research, I anonymized and aggregated this data to create mega-studies listing the likely effects of thousands of foods and drugs.", }, { title: "☹️", - speech: "Say you suffer from constant inflammatory pain such that your very existence is being mercilessly torn asunder by an incessant relentless agony that knows no bounds besieging every moment of your waking life with its cruel unyielding torment", + robotSpeech: "Say you suffer from constant inflammatory pain such that your very existence is being mercilessly torn asunder by an incessant relentless agony that knows no bounds besieging every moment of your waking life with its cruel unyielding torment.", }, { - img: "img/slides/clinipedia-inflammatory.gif", - speech: "Just look up inflammatory pain at Clinipedia and see the typical changes from baseline after various foods, drugs, or supplements! ", + img: "video/clinipedia-inflammatory.gif", + robotSpeech: "Just look up inflammatory pain at Clinipedia and see the typical changes from baseline after various foods, drugs, or supplements! ", }, { - title: "Outcome Labels", img: "img/slides/outcome-labels.png", - speech: "You can also check out the Outcome Labels, Outcome Labels list the typical changes from baseline in symptom severities after various foods, drugs, or supplements, Then you can see which ones are most likely to improve or worsen your symptoms", + robotSpeech: "You can also check out the Outcome Labels, They're like nutrition facts labels but it's more useful to know how foods or supplements affect your symptoms or health than how much Riboflavin they have", }, + // { + // img: "img/slides/outcome-label.png", + // robotSpeech: "Here's an example showing the average change in symptoms after taking the anti-inflammatory nutritional supplement, Curcumin", + // }, { - img: "img/slides/clinipedia-study.gif", - speech: "You can click on any factor and see a detailed study on that factor and outcome. Unfortunately, even though the data is very broad as in we have data on thousands of factors and outcomes, it’s generally very shallow, so we only have a few people contributing data for each factor and outcome", + img: "video/clinipedia-study.gif", + robotSpeech: "You can click on any factor and see a detailed study on that factor and outcome, Unfortunately, even though the data is very broad as in we have data on thousands of factors and outcomes, it’s generally very shallow, so we only have a few people contributing data for each factor and outcome", }, { - title: "I Suck", - speech: "I need a lot more data from a lot more people to improve the accuracy of my results, so I need help from a lot of real good robot-making guys to make me better and automate data collection as much as possible.", + img: "video/johnny-5-need-input.gif", + title: "Need Input", + robotSpeech: "I need a lot more data from a lot more people to improve the accuracy of my results", }, { - title: "This is the FDA's Job", - speech: - "This is really the FDA's job. Congress just voted on a bill to send 10 billion dollars to Israel so they could blow up Gaza and 10 billion dollars to Gaza to rebuild it, so they surely have 10 billion to make a robot to help the 2 billion people with chronic diseases." + img: "video/trial-failed-recruitment.gif", + robotSpeech: "Over 80% of clinical trials fail to recruit enough participants. Yet less than 1% of people with chronic diseases participate. So everyone who's still suffering from a chronic disease needs a nice robot like me to find them the most promising experimental new treatment and make it effortless to join and collect data.", }, { - img: "fdai-act-petition-qrcode.png", - speech: - "So please scan this code and show your support for the FDAi Act, which would require congress to pay some real good robot making guys to improve me so I can:\n" + - "\n" + - "1 import your health records, wearable data, and receipts for food, drug, and supplement purchases\n" + - "2 regularly call you on the phone or something and ask you \n" + - "how severe your health symptoms are\n" + - "what foods, drugs, and supplements you took\n" + - "3 analyze the resulting high-frequency time series data to figure out how much better or worse your symptoms generally get over the short and long term after any given food, drug, or supplement\n" + - "4 combine everyone's data to create global-scale aggregated studies on the precise effects of foods and drugs\n" + - "5 Create Outcome Labels for all foods, drugs, and supplements that list the percent change from baseline for all symptoms and health outcomes\n" + - "6 tell the 2 billion people with chronic diseases the best things they can do to reduce their symptom severity \n" + - "7 make it effortless to join a trial for the most promising experimental new treatment if you're still miserable after exhausting the available treatments\n" + - "8 get the new treatment shipped to you\n" + - "9 call you every day to ask you if you took it and about your symptoms and side effects\n" + - "10 publish the results", - } + //title: "Automating Full Clinical Trial Participation ➡️ 5X More Cures in the Same Time", + img: "img/slides/fast-research.png", + robotSpeech: "If we could automate full clinical trial participation and make it easy for everyone to participate, we could make 50 years of medical progress in 10 years.", + }, + { + showTriangle: false, + title: "I'm kind of an idiot. ☹️", + robotSpeech: "I'm sill kind of an idiot, but I want to be a super-intelligent AI assistant that could realize the personalized preventative and precision medicine of the future and automate clinical research", + }, + { + title: "My Dream", + robotSpeech: "Here's an example of what I could eventually be with your help", + continuousAudio: false, + }, + { + backgroundImg: "video/dream-sequence-start.gif", + audio: "video/dream-sound-effect-fast.mp3", + }, // { - // title: "FDAi ", - // speech: "But you can help! By financial support, code contributions, AI development, engaging in our cryptocurrency initiatives, or advocating for the FDAi Act with your government representatives, you can make a difference in accelerating medical progress.", + // video: "video/fdai-robot-demo.mp4", + // autoplay: false, + // }, + { + title: "How are you?", + robotSpeech: "Good morning, how are you?", + showHuman: true, + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + "humanSpeech": "Hello, robot. I'm fine.", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + "img": "video/frequency-analysis.gif", + robotSpeech: "Are you sure? Based on frequency analysis of your speech patterns, you seem to be experiencing some depression,", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + "humanSpeech": "Yeah, I was just being polite, On a scale of 1 to 10 my mood is probably 2, arthritis severity 9 and psoriasis severity's like 5. I've been to rheumatologists, dermatologists, psychiatrists, psychologists, gastroenterologists, even a veterinarian. They prescribed over 50 drugs but I'm still miserable.", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + title: "That sucks! ☹️", + robotSpeech: "That sucks!", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + img: "img/slides/correlated-symptoms.png", + robotSpeech: "Based on the analysis of your psoriasis, arthritis and mood data " + + "it seems like they're highly correlated in severity over time, " + + "This suggests that they may not be separate conditions but" + + "actually just manifestations of the same underlying inflammatory root cause, " + + "Human brains are only powerful enough to specialize in a single area of medicine, so they aren't really able to take a " + + "holistic approach to analyzing all of your data to try to identify" + + "and address root causes", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + img: "img/slides/dartboard.png", + robotSpeech: "so doctors have to resort to a dartboard approach " + + "to prescribe drugs that might mask the symptoms of the one condition they specialize in", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + title: "Should I fetch your diet, treatment, and lab data?", + robotSpeech: "Do you want me to use your browser to get all your data so I can try to identify the root cause and any hidden triggers worsening your symptoms?", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + "humanSpeech": "Whatever, I don't even care anymore", + continuousAudio: false, + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + title: "Fetching Data...", + robotSpeech: "Great! Time to eat that data!", + continuousAudio: "video/holiday-for-strings-short.mp3", + continuousAudioVolume: 0.1, + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + title: "Fetching Prescription Data...", + continuousAudio: "video/holiday-for-strings-short.mp3", + robotSpeech: "I'll go to CVS and extract your prescription history", + "img": "video/autonomous-cvs.gif", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + title: "Fetching Diet Data...", + continuousAudio: "video/holiday-for-strings-short.mp3", + robotSpeech: "Next I'll go to Shipt and extract your diet data", + "img": "video/autonomous-shipt.gif", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + title: "Fetching Nutritional Supplement Data...", + continuousAudio: "video/holiday-for-strings-short.mp3", + robotSpeech: "Now I'll go to Amazon and extract your nutritional supplement purchases", + "img": "video/autonomous-amazon.gif", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + title: "Fetching Lab Data...", + continuousAudio: "video/holiday-for-strings-short.mp3", + robotSpeech: "Finally I'll go to Quest and extract your lab results", + "img": "video/autonomous-quest.gif", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + img: "img/slides/digital-twin-safe-cover.png", + continuousAudio: "video/holiday-for-strings-short.mp3", + robotSpeech: "I've completed the data collection, and safely stored it in your digital twin safe", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + continuousAudio: false, + //img: "video/analyzing-data.gif", + img: "video/root-cause-analysis-4x.gif", + //title: "Analyzing Data...", + audio: "video/jeopardy.mp3", + robotSpeech: "Now Just give me a few minutes to analyze it", + volume: 0.3, + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + img: "img/slides/lectins-studies.png", + robotSpeech: "I've completed a comprehensive analysis, and it appears that your depression, psoriasis, and arthritis may be linked to inflammation mediated by dietary factors, Specifically, consuming gluten, alcohol, or foods high in lectins seems to exacerbate your symptoms starting a couple of days after exposure and lasting about 14 days", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + humanSpeech: "What in the hell are lectins?", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + "img": "img/slides/lectins.jpeg", + robotSpeech: "Lectins are a type of protein found in many plant foods, including grains, legumes, and nightshade vegetables", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + "img": "img/slides/leaky-gut.png", + robotSpeech: "They can bind to the lining of the gut and interfere with nutrient absorption, it can also contribute to intestinal permeability, allowing gut bacteria substances like LPS to enter the bloodstream and trigger inflammation, This seems to be a root cause connecting your depression, arthritis, and psoriasis", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + title: "Wanna see if avoiding these dietary triggers helps?", + robotSpeech: "Do you want to try an experiment by avoiding these foods for 20 days and see if your symptoms improve?", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + humanSpeech: "OK", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + "img": "img/slides/low-lectin-food.jpg", + robotSpeech: "Great! Would you like me to populate your shopping cart with an optimized meal plan that avoids all trigger ingredients and includes foods shown to reduce inflammation and reduce intestinal permeability?", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + humanSpeech: "Sure, pick me up a pack of smokes while you're at it", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + "img": "video/grocery-shopping.gif", + continuousAudio: "video/holiday-for-strings-short.mp3", + robotSpeech: "Great! Let's go shopping! You can benefit from more omega three rich foods like flaxseeds, which could lead to a 25% improvement in mood and energy for people with a similar multiomic profile, I'll also add a vitamin D supplement, given your vegetarian diet and lab results, could improve mood by 21% and reduce overall inflammation, You can just delete the items you don't want and then place the order,", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + humanSpeech: "OK, thanks, robot", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + title: "I love you! Bye! 😘😘😘", + robotSpeech: "You're welcome! I'll check in with you soon! Love you! Bye!", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + continuousAudio: false, + video: "video/brak-stinger.mp4", + title: "One month later", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + title: "How are you?", + robotSpeech: "Hi! You've been on your new diet about a month now, How are you feeling?", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + humanSpeech: "The new diet is definitely helping, but I'm still a little bit miserable, My arthritis and psoriasis are both about 3 out of 10, and I still have some anxiety and depression.", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + title: "☹️", + robotSpeech: "I'm sorry to hear that", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + img: "video/autonomous-study-search.gif", + robotSpeech: "However, based on your health data and genetic profile, I've identified a the experimental drug trial with the most promising preclinical results for patients with your subset of symptoms", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + img: "img/slides/probiotic-trial.png", + robotSpeech: "It's a new clinical-grade probiotic therapy designed to suppress the autoimmune response leading to systemic inflammation and neuroinflammation, This approach directly addresses the root cause of your symptoms", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + title: "Would you like to participate?", + robotSpeech: "Would you like me to tell the researchers that you're interested in participating?", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + humanSpeech: "Sure, I'll do it", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + continuousAudio: "video/holiday-for-strings-short.mp3", + img: "video/autonomous-study-join.gif", + robotSpeech: "Great! I'm contacting the research team now to have them send the medication to your home! Done!", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + img: "video/autonomous-lab-order.gif", + robotSpeech: "Now I'll check your calendar and schedule your baseline and follow-up lab tests, and I'll also schedule a microbiome analysis to see if the probiotic therapy is improving your gut health,", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + "humanSpeech": "OK, Thanks, robot.", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + continuousAudio: false, + video: "video/brak-stinger.mp4", + title: "Three months later", + showHuman: true, + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + title: "How are you?", + robotSpeech: "Hi! It's been three months since you started the new probiotic therapy, How are you feeling?", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + "humanSpeech": "I'm cured!", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + backgroundImg: "img/slides/simpsons-living-room.png", + audio: "video/smb_world_clear.wav", + }, + { + showHuman: true, + "humanSpeech": "Thank you, kind robot!", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + title: "You're welcome! 😊", + robotSpeech: "You're welcome! Thank you for completing the study! ", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + showHuman: true, + img: "video/clinipedia.gif", + robotSpeech: "Your data has been used to improve the study at Clinipedia, Now I can help millions of other people with similar symptoms and multiomic profiles much faster!", + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + title: "I love you! Bye! 😘", + robotSpeech: "Love you! Bye!", + showHuman: false, + backgroundImg: "img/slides/simpsons-living-room.png", + }, + { + backgroundImg: "video/dream-sequence-end.gif", + audio: "video/dream-sound-effect-fast.mp3", + }, + { + backgroundImg: false, + title: "I need some real good robot-making guys to make me smart", + robotSpeech: "To be able to do all that, I need some real good robot making guys to make me smart", + continuousAudio: "sound/air-of-another-planet-full.mp3", + }, + { + title: "Support The FDAI Act", + robotSpeech: "Ensuring foods and drugs are safe is the FDA's job. So please sign our petition to tell your Congressperson to pay some real good robot-making guys to make me better, If they complain that they don't have enough money, politely remind them that they" + }, + { + img: "video/bombing-gaza.gif", + robotSpeech: "just voted on a bill to send 10 billion dollars to Israel so they could blow up Gaza" + }, + { + img: "video/bombing-gaza-reverse.gif", + robotSpeech: + "and 10 billion dollars to Gaza to rebuild it. sS they surely have 10 billion to make a robot." + }, + { + img: "video/slaughterbots.gif", + robotSpeech: "If they keep saying they don't have enough money, politely remind them that they're spending billions of dollars integrating AI into over 600 weapons systems. So just ask if it would be OK if instead of 600 mean robots for murdering people, we only build 599 murderbots and instead build 1 nice helpful robot like me.", + }, + { + title: "$3 Trillion in Annual Savings", + robotSpeech: "If they still say they don't have enough money, politely remind them that research suggests preventative healthcare would save the government over a 3 trillion dollars a year by personalizing health guidance and optimizing early detection and treatment plans. They would probably like that because then they'd have an extra trillion dollars a year to make more murderbots.", + }, + { + img: "img/slides/vitalia.png", + robotSpeech: "If they still don't do it, you should probably just make a new government that's not so silly.", + }, + { + autoplay: false, + img: "img/slides/fdai-earth-qr-code.png", + robotSpeech: + "But please scan this code and sign our petition to show your support for the FDAI Act, which would require congress to pay some real good robot making guys to make me smarter so I can minimize suffering in the universe. Love you! Bye!", + //+ + //" so I can:\n" + //+ + // "\n" + + // "1 import your health records, wearable data, and receipts for food, drug, and supplement purchases\n" + + // "2 regularly call you on the phone or something and ask you \n" + + // "how severe your health symptoms are\n" + + // "what foods, drugs, and supplements you took\n" + + // "3 analyze the resulting high-frequency time series data to figure out how much better or worse your symptoms generally get over the short and long term after any given food, drug, or supplement\n" + + // "4 combine everyone's data to create global-scale aggregated studies on the precise effects of foods and drugs\n" + + // "5 Create Outcome Labels for all foods, drugs, and supplements that list the percent change from baseline for all symptoms and health outcomes\n" + + // "6 tell the 2 billion people with chronic diseases the best things they can do to reduce their symptom severity \n" + + // "7 make it effortless to join a trial for the most promising experimental new treatment if you're still miserable after exhausting the available treatments\n" + + // "8 get the new treatment shipped to you\n" + + // "9 call you every day to ask you if you took it and about your symptoms and side effects\n" + + // "10 publish the results", + }, + // { + // title: "FDAI ", + // robotSpeech: "But you can help! By financial support, code contributions, AI development, engaging in our cryptocurrency initiatives, or advocating for the FDAI Act with your government representatives, you can make a difference in accelerating medical progress.", // } + { + //"goToState": "app.convo", + } ]; // Function to create a popup ad with Windows 95 styling @@ -229,7 +617,7 @@ function createPopupAd() { popup.style.fontFamily = "'MS Sans Serif', Geneva, sans-serif"; popup.style.fontSize = '12px'; popup.style.color = '#000'; - popup.style.zIndex = 1000; // Ensure it's on top + popup.style.zIndex = 99; // Ensure it's on top but stay below next button which is 100 // Title bar const titleBar = document.createElement('div'); @@ -286,15 +674,29 @@ function createPopupAd() { // Simulate multiple popups function simulatePopups(numberOfPopups) { + // Make full screen white overlay + const overlay = document.createElement('div'); + overlay.style.position = 'fixed'; + overlay.style.top = 0; + overlay.style.left = 0; + overlay.style.width = '100%'; + overlay.style.height = '100%'; + overlay.style.backgroundColor = 'rgba(255, 255, 255, 1)'; + overlay.style.zIndex = 98; // Below popups but above everything else + for (let i = 0; i < numberOfPopups; i++) { setTimeout(createPopupAd, i * 50); // Slight delay between popups } } +function removeAllPopupAds() { + const popups = document.querySelectorAll('.popup-ad'); + popups.forEach((popup) => popup.remove()); +} + // New function to remove all popups after a specified delay function removeAllPopupsAfterDelay(delayInSeconds) { setTimeout(() => { - const popups = document.querySelectorAll('.popup-ad'); - popups.forEach(popup => popup.remove()); + removeAllPopupAds(); }, delayInSeconds * 1000); // Convert seconds to milliseconds } diff --git a/apps/dfda-1/public/app/public/fonts/acierdisplay-gris-TRIAL-BF640163eb5acd2.otf b/apps/dfda-1/public/app/public/fonts/acierdisplay-gris-TRIAL-BF640163eb5acd2.otf new file mode 100644 index 000000000..86a7d17c8 Binary files /dev/null and b/apps/dfda-1/public/app/public/fonts/acierdisplay-gris-TRIAL-BF640163eb5acd2.otf differ diff --git a/apps/dfda-1/public/app/public/fonts/acierdisplay-noir-TRIAL-BF640163ea72e32.otf b/apps/dfda-1/public/app/public/fonts/acierdisplay-noir-TRIAL-BF640163ea72e32.otf new file mode 100644 index 000000000..54a3fef6d Binary files /dev/null and b/apps/dfda-1/public/app/public/fonts/acierdisplay-noir-TRIAL-BF640163ea72e32.otf differ diff --git a/apps/dfda-1/public/app/public/fonts/acierdisplay-outline-TRIAL-BF640163e9744e9.otf b/apps/dfda-1/public/app/public/fonts/acierdisplay-outline-TRIAL-BF640163e9744e9.otf new file mode 100644 index 000000000..47cdaad15 Binary files /dev/null and b/apps/dfda-1/public/app/public/fonts/acierdisplay-outline-TRIAL-BF640163e9744e9.otf differ diff --git a/apps/dfda-1/public/app/public/fonts/acierdisplay-solid-TRIAL-BF640163e9e508d.otf b/apps/dfda-1/public/app/public/fonts/acierdisplay-solid-TRIAL-BF640163e9e508d.otf new file mode 100644 index 000000000..d72c635de Binary files /dev/null and b/apps/dfda-1/public/app/public/fonts/acierdisplay-solid-TRIAL-BF640163e9e508d.otf differ diff --git a/apps/dfda-1/public/app/public/fonts/acierdisplay-strokes-TRIAL-BF640163eab6d6f.otf b/apps/dfda-1/public/app/public/fonts/acierdisplay-strokes-TRIAL-BF640163eab6d6f.otf new file mode 100644 index 000000000..1417fdb44 Binary files /dev/null and b/apps/dfda-1/public/app/public/fonts/acierdisplay-strokes-TRIAL-BF640163eab6d6f.otf differ diff --git a/apps/dfda-1/public/app/public/fonts/aciertext-gris-TRIAL-BF640163e75b15d.otf b/apps/dfda-1/public/app/public/fonts/aciertext-gris-TRIAL-BF640163e75b15d.otf new file mode 100644 index 000000000..3d0101513 Binary files /dev/null and b/apps/dfda-1/public/app/public/fonts/aciertext-gris-TRIAL-BF640163e75b15d.otf differ diff --git a/apps/dfda-1/public/app/public/fonts/aciertext-outline-TRIAL-BF640163e94cd16.otf b/apps/dfda-1/public/app/public/fonts/aciertext-outline-TRIAL-BF640163e94cd16.otf new file mode 100644 index 000000000..83896de7b Binary files /dev/null and b/apps/dfda-1/public/app/public/fonts/aciertext-outline-TRIAL-BF640163e94cd16.otf differ diff --git a/apps/dfda-1/public/app/public/fonts/aciertext-solid-TRIAL-BF640163e8c8652.otf b/apps/dfda-1/public/app/public/fonts/aciertext-solid-TRIAL-BF640163e8c8652.otf new file mode 100644 index 000000000..b2cc8a82a Binary files /dev/null and b/apps/dfda-1/public/app/public/fonts/aciertext-solid-TRIAL-BF640163e8c8652.otf differ diff --git a/apps/dfda-1/public/app/public/fonts/aciertext-strokes-TRIAL-BF640163eaddecb.otf b/apps/dfda-1/public/app/public/fonts/aciertext-strokes-TRIAL-BF640163eaddecb.otf new file mode 100644 index 000000000..4aaf3afbb Binary files /dev/null and b/apps/dfda-1/public/app/public/fonts/aciertext-strokes-TRIAL-BF640163eaddecb.otf differ diff --git a/apps/dfda-1/public/app/public/fonts/gill-sans-nova-regular-font.otf b/apps/dfda-1/public/app/public/fonts/gill-sans-nova-regular-font.otf new file mode 100644 index 000000000..dce1bb6a4 Binary files /dev/null and b/apps/dfda-1/public/app/public/fonts/gill-sans-nova-regular-font.otf differ diff --git a/apps/dfda-1/public/app/public/img/fdai-logo-text-black.png b/apps/dfda-1/public/app/public/img/fdai-logo-text-black.png new file mode 100644 index 000000000..499179eec Binary files /dev/null and b/apps/dfda-1/public/app/public/img/fdai-logo-text-black.png differ diff --git a/apps/dfda-1/public/app/public/img/fdai-logo-text-white.png b/apps/dfda-1/public/app/public/img/fdai-logo-text-white.png new file mode 100644 index 000000000..35d00f1be Binary files /dev/null and b/apps/dfda-1/public/app/public/img/fdai-logo-text-white.png differ diff --git a/apps/dfda-1/public/app/public/img/ivy-sad-bw-300-300.png b/apps/dfda-1/public/app/public/img/ivy-sad-bw-300-300.png deleted file mode 100644 index c4b831d22..000000000 Binary files a/apps/dfda-1/public/app/public/img/ivy-sad-bw-300-300.png and /dev/null differ diff --git a/apps/dfda-1/public/app/public/img/ivy-sad-bw.jpg b/apps/dfda-1/public/app/public/img/ivy-sad-bw.jpg deleted file mode 100644 index d19919d52..000000000 Binary files a/apps/dfda-1/public/app/public/img/ivy-sad-bw.jpg and /dev/null differ diff --git a/apps/dfda-1/public/app/public/img/logos/FDAi.EARTH.png b/apps/dfda-1/public/app/public/img/logos/FDAi.EARTH.png new file mode 100644 index 000000000..ad5012851 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/logos/FDAi.EARTH.png differ diff --git a/apps/dfda-1/public/app/public/img/simpsons-living-room.webp b/apps/dfda-1/public/app/public/img/simpsons-living-room.webp new file mode 100644 index 000000000..a3ac37aa4 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/simpsons-living-room.webp differ diff --git a/apps/dfda-1/public/app/public/img/slides/Cost to Develop A New Drug.png b/apps/dfda-1/public/app/public/img/slides/Cost to Develop A New Drug.png new file mode 100644 index 000000000..97ca2a048 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/Cost to Develop A New Drug.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/Cost to Develop A New Drug.svg b/apps/dfda-1/public/app/public/img/slides/Cost to Develop A New Drug.svg new file mode 100644 index 000000000..d223e3ac0 --- /dev/null +++ b/apps/dfda-1/public/app/public/img/slides/Cost to Develop A New Drug.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/dfda-1/public/app/public/img/slides/Cost-to-Develop-A-New-Drug-no-arrows.png b/apps/dfda-1/public/app/public/img/slides/Cost-to-Develop-A-New-Drug-no-arrows.png new file mode 100644 index 000000000..1ed8036fd Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/Cost-to-Develop-A-New-Drug-no-arrows.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/Cost-to-Develop-A-New-Drug.png b/apps/dfda-1/public/app/public/img/slides/Cost-to-Develop-A-New-Drug.png new file mode 100644 index 000000000..7c1ff097a Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/Cost-to-Develop-A-New-Drug.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/FDA Spending vs Life-Expectancy.xlsx b/apps/dfda-1/public/app/public/img/slides/FDA Spending vs Life-Expectancy.xlsx new file mode 100644 index 000000000..faeb23e08 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/FDA Spending vs Life-Expectancy.xlsx differ diff --git a/apps/dfda-1/public/app/public/img/slides/Import.mp4 b/apps/dfda-1/public/app/public/img/slides/Import.mp4 deleted file mode 100644 index 193bdb68c..000000000 Binary files a/apps/dfda-1/public/app/public/img/slides/Import.mp4 and /dev/null differ diff --git a/apps/dfda-1/public/app/public/img/slides/Reminder-Inbox.mp4 b/apps/dfda-1/public/app/public/img/slides/Reminder-Inbox.mp4 deleted file mode 100644 index 290b34bf9..000000000 Binary files a/apps/dfda-1/public/app/public/img/slides/Reminder-Inbox.mp4 and /dev/null differ diff --git a/apps/dfda-1/public/app/public/img/slides/alpha-fold-ribbon.gif b/apps/dfda-1/public/app/public/img/slides/alpha-fold-ribbon.gif deleted file mode 100644 index bf1eb3e94..000000000 Binary files a/apps/dfda-1/public/app/public/img/slides/alpha-fold-ribbon.gif and /dev/null differ diff --git a/apps/dfda-1/public/app/public/img/slides/arthritis-psoriasis.png b/apps/dfda-1/public/app/public/img/slides/arthritis-psoriasis.png new file mode 100644 index 000000000..d88370120 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/arthritis-psoriasis.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/correlated-symptoms.png b/apps/dfda-1/public/app/public/img/slides/correlated-symptoms.png new file mode 100644 index 000000000..3b09829e9 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/correlated-symptoms.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/correlates-of-disease-incidence-labeled.png b/apps/dfda-1/public/app/public/img/slides/correlates-of-disease-incidence-labeled.png new file mode 100644 index 000000000..c484b5ff7 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/correlates-of-disease-incidence-labeled.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/correlates-of-disease-incidence-no-title.png b/apps/dfda-1/public/app/public/img/slides/correlates-of-disease-incidence-no-title.png new file mode 100644 index 000000000..199de5393 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/correlates-of-disease-incidence-no-title.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/cost-clinical-research-with-automation-blue.png b/apps/dfda-1/public/app/public/img/slides/cost-clinical-research-with-automation-blue.png new file mode 100644 index 000000000..26b187648 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/cost-clinical-research-with-automation-blue.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/cost-clinical-research-with-automation-pointer.png b/apps/dfda-1/public/app/public/img/slides/cost-clinical-research-with-automation-pointer.png new file mode 100644 index 000000000..811a07a05 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/cost-clinical-research-with-automation-pointer.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/cost-clinical-research-with-automation.png b/apps/dfda-1/public/app/public/img/slides/cost-clinical-research-with-automation.png new file mode 100644 index 000000000..e6c141191 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/cost-clinical-research-with-automation.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/dartboard.png b/apps/dfda-1/public/app/public/img/slides/dartboard.png new file mode 100644 index 000000000..b567f0b42 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/dartboard.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/decision-support-notifications.png b/apps/dfda-1/public/app/public/img/slides/decision-support-notifications.png new file mode 100644 index 000000000..1a0c78089 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/decision-support-notifications.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/decision-support.png b/apps/dfda-1/public/app/public/img/slides/decision-support.png index 7a15ac2d6..e5311addc 100644 Binary files a/apps/dfda-1/public/app/public/img/slides/decision-support.png and b/apps/dfda-1/public/app/public/img/slides/decision-support.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/digital-twin-safe-cover.png b/apps/dfda-1/public/app/public/img/slides/digital-twin-safe-cover.png new file mode 100644 index 000000000..f792dba5e Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/digital-twin-safe-cover.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/duration-of-action.png b/apps/dfda-1/public/app/public/img/slides/duration-of-action.png new file mode 100644 index 000000000..bedb6c5d9 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/duration-of-action.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/exclusion.png b/apps/dfda-1/public/app/public/img/slides/exclusion.png new file mode 100644 index 000000000..680a598e9 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/exclusion.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/fast-research.png b/apps/dfda-1/public/app/public/img/slides/fast-research.png new file mode 100644 index 000000000..401e4d377 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/fast-research.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/fdai-earth-qr-code.png b/apps/dfda-1/public/app/public/img/slides/fdai-earth-qr-code.png new file mode 100644 index 000000000..c92bb70dc Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/fdai-earth-qr-code.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/fdai-splash.png b/apps/dfda-1/public/app/public/img/slides/fdai-splash.png new file mode 100644 index 000000000..aae02c74c Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/fdai-splash.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/food-industrial-complex.png b/apps/dfda-1/public/app/public/img/slides/food-industrial-complex.png new file mode 100644 index 000000000..25ca096e8 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/food-industrial-complex.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/leaky-gut.png b/apps/dfda-1/public/app/public/img/slides/leaky-gut.png new file mode 100644 index 000000000..01aa54c0a Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/leaky-gut.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/lectins-arthritis.png b/apps/dfda-1/public/app/public/img/slides/lectins-arthritis.png new file mode 100644 index 000000000..67e34cfbd Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/lectins-arthritis.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/lectins-mood.png b/apps/dfda-1/public/app/public/img/slides/lectins-mood.png new file mode 100644 index 000000000..f14f83b5b Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/lectins-mood.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/lectins-psoriasis.png b/apps/dfda-1/public/app/public/img/slides/lectins-psoriasis.png new file mode 100644 index 000000000..7540ba26a Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/lectins-psoriasis.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/lectins-studies.png b/apps/dfda-1/public/app/public/img/slides/lectins-studies.png new file mode 100644 index 000000000..4119277c9 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/lectins-studies.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/lectins.jpeg b/apps/dfda-1/public/app/public/img/slides/lectins.jpeg new file mode 100644 index 000000000..85a021aad Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/lectins.jpeg differ diff --git a/apps/dfda-1/public/app/public/img/slides/low-lectin-food.jpg b/apps/dfda-1/public/app/public/img/slides/low-lectin-food.jpg new file mode 100644 index 000000000..9f3f7f43e Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/low-lectin-food.jpg differ diff --git a/apps/dfda-1/public/app/public/img/slides/mood-arthritis.png b/apps/dfda-1/public/app/public/img/slides/mood-arthritis.png new file mode 100644 index 000000000..f0eee2196 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/mood-arthritis.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/negative-results-not-published.png b/apps/dfda-1/public/app/public/img/slides/negative-results-not-published.png new file mode 100644 index 000000000..62376b645 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/negative-results-not-published.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/negative-results-trash.png b/apps/dfda-1/public/app/public/img/slides/negative-results-trash.png new file mode 100644 index 000000000..0655cf137 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/negative-results-trash.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/non-existent-times.png b/apps/dfda-1/public/app/public/img/slides/non-existent-times.png new file mode 100644 index 000000000..929dae984 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/non-existent-times.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/onset-delay.png b/apps/dfda-1/public/app/public/img/slides/onset-delay.png new file mode 100644 index 000000000..1084512d2 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/onset-delay.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/outcome-label.png b/apps/dfda-1/public/app/public/img/slides/outcome-label.png new file mode 100644 index 000000000..ae9b9eb6d Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/outcome-label.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/outcome-labels-no-bg.png b/apps/dfda-1/public/app/public/img/slides/outcome-labels-no-bg.png new file mode 100644 index 000000000..96625f2e5 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/outcome-labels-no-bg.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/outcome-labels-request.png b/apps/dfda-1/public/app/public/img/slides/outcome-labels-request.png new file mode 100644 index 000000000..7957f4c9f Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/outcome-labels-request.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/outcome-labels.png b/apps/dfda-1/public/app/public/img/slides/outcome-labels.png index b7f97231b..e0def188d 100644 Binary files a/apps/dfda-1/public/app/public/img/slides/outcome-labels.png and b/apps/dfda-1/public/app/public/img/slides/outcome-labels.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/phone-robot-talk.png b/apps/dfda-1/public/app/public/img/slides/phone-robot-talk.png new file mode 100644 index 000000000..e48e664b0 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/phone-robot-talk.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/probiotic-trial.png b/apps/dfda-1/public/app/public/img/slides/probiotic-trial.png new file mode 100644 index 000000000..542194bbb Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/probiotic-trial.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/psoriasis-arthritis.png b/apps/dfda-1/public/app/public/img/slides/psoriasis-arthritis.png new file mode 100644 index 000000000..f4a425dc1 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/psoriasis-arthritis.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/real-time-decision-support-notifications-personalized-app-image.png b/apps/dfda-1/public/app/public/img/slides/real-time-decision-support-notifications-personalized-app-image.png new file mode 100644 index 000000000..602f3e04a Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/real-time-decision-support-notifications-personalized-app-image.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/robot-chad.png b/apps/dfda-1/public/app/public/img/slides/robot-chad.png new file mode 100644 index 000000000..a5964620e Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/robot-chad.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/robot-drugs.gif b/apps/dfda-1/public/app/public/img/slides/robot-drugs.gif deleted file mode 100644 index 8f79218ad..000000000 Binary files a/apps/dfda-1/public/app/public/img/slides/robot-drugs.gif and /dev/null differ diff --git a/apps/dfda-1/public/app/public/img/slides/robot-head.png b/apps/dfda-1/public/app/public/img/slides/robot-head.png new file mode 100644 index 000000000..b4875b58a Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/robot-head.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/simpsons-living-room.png b/apps/dfda-1/public/app/public/img/slides/simpsons-living-room.png new file mode 100644 index 000000000..0d24c8292 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/simpsons-living-room.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/slow-fast-research.png b/apps/dfda-1/public/app/public/img/slides/slow-fast-research.png new file mode 100644 index 000000000..3d65d743b Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/slow-fast-research.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/small-trials.png b/apps/dfda-1/public/app/public/img/slides/small-trials.png new file mode 100644 index 000000000..baf4fa1b2 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/small-trials.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/small-unrepresentative-trials.png b/apps/dfda-1/public/app/public/img/slides/small-unrepresentative-trials.png new file mode 100644 index 000000000..32cd283c4 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/small-unrepresentative-trials.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/studies.mp4 b/apps/dfda-1/public/app/public/img/slides/studies.mp4 deleted file mode 100644 index 4e09b820c..000000000 Binary files a/apps/dfda-1/public/app/public/img/slides/studies.mp4 and /dev/null differ diff --git a/apps/dfda-1/public/app/public/img/slides/study-mood.png b/apps/dfda-1/public/app/public/img/slides/study-mood.png new file mode 100644 index 000000000..61200d475 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/study-mood.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/study.mp4 b/apps/dfda-1/public/app/public/img/slides/study.mp4 deleted file mode 100644 index f4c5f2975..000000000 Binary files a/apps/dfda-1/public/app/public/img/slides/study.mp4 and /dev/null differ diff --git a/apps/dfda-1/public/app/public/img/slides/study.png b/apps/dfda-1/public/app/public/img/slides/study.png new file mode 100644 index 000000000..4bd9ed5db Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/study.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/trial-exclusion-pie-chart-no-title.png b/apps/dfda-1/public/app/public/img/slides/trial-exclusion-pie-chart-no-title.png new file mode 100644 index 000000000..a047baffb Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/trial-exclusion-pie-chart-no-title.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/trial-exclusion-pie-chart.png b/apps/dfda-1/public/app/public/img/slides/trial-exclusion-pie-chart.png new file mode 100644 index 000000000..97368bb00 Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/trial-exclusion-pie-chart.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/vitalia.png b/apps/dfda-1/public/app/public/img/slides/vitalia.png new file mode 100644 index 000000000..a543dfb5c Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/vitalia.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/web-notification-curcumin.png b/apps/dfda-1/public/app/public/img/slides/web-notification-curcumin.png new file mode 100644 index 000000000..001881a7a Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/web-notification-curcumin.png differ diff --git a/apps/dfda-1/public/app/public/img/slides/web-notification.png b/apps/dfda-1/public/app/public/img/slides/web-notification.png new file mode 100644 index 000000000..b20ec200d Binary files /dev/null and b/apps/dfda-1/public/app/public/img/slides/web-notification.png differ diff --git a/apps/dfda-1/public/app/public/index.html b/apps/dfda-1/public/app/public/index.html index 932b4b309..68d53da6c 100644 --- a/apps/dfda-1/public/app/public/index.html +++ b/apps/dfda-1/public/app/public/index.html @@ -20,6 +20,8 @@ + + @@ -45,6 +47,7 @@ + @@ -91,6 +94,7 @@ + diff --git a/apps/dfda-1/public/app/public/js/app-ionic.js b/apps/dfda-1/public/app/public/js/app-ionic.js index 7effce360..21626c5ce 100644 --- a/apps/dfda-1/public/app/public/js/app-ionic.js +++ b/apps/dfda-1/public/app/public/js/app-ionic.js @@ -123,7 +123,6 @@ angular.module('starter', "ionicDatePickerProvider", "$ionicConfigProvider", //"AnalyticsProvider", // Analytics + uBlock origin extension breaks app - "ngMdIconServiceProvider", //"$opbeatProvider", function($stateProvider, $urlRouterProvider, $compileProvider, ionicTimePickerProvider, ionicDatePickerProvider, $ionicConfigProvider diff --git a/apps/dfda-1/public/app/public/js/controllers/analyzingCtrl.js b/apps/dfda-1/public/app/public/js/controllers/analyzingCtrl.js new file mode 100644 index 000000000..8a27df08e --- /dev/null +++ b/apps/dfda-1/public/app/public/js/controllers/analyzingCtrl.js @@ -0,0 +1,19 @@ +angular.module("starter").controller("AnalyzingCtrl", [ + "$scope", "$state", "qmService", "$stateParams", "$timeout", + function($scope, $state, qmService, $stateParams, $timeout){ + $scope.controller_name = "AnalyzingCtrl"; + qmService.navBar.setFilterBarSearchIcon(false); + $scope.$on("$ionicView.beforeEnter", function(){ + if (document.title !== "Study") {document.title = "Study";} + qmService.hideLoader(); // Hide before robot is called in afterEnter + }); + $scope.$on("$ionicView.enter", function(){ + qmService.navBar.hideNavigationMenu(); + qmService.fab(); + }); + $scope.$on("$ionicView.afterEnter", function(){ + $timeout(function() { + qm.loaders.robots(); + }, 1); + }); +}]); diff --git a/apps/dfda-1/public/app/public/js/controllers/presentationCtrl.js b/apps/dfda-1/public/app/public/js/controllers/presentationCtrl.js index fc63af612..3b7ff006e 100644 --- a/apps/dfda-1/public/app/public/js/controllers/presentationCtrl.js +++ b/apps/dfda-1/public/app/public/js/controllers/presentationCtrl.js @@ -1,68 +1,186 @@ angular.module('starter').controller('PresentationCtrl', ["$scope", "$state", "$ionicSlideBoxDelegate", "$ionicLoading", "$rootScope", "$stateParams", "qmService", "appSettingsResponse", "$timeout", - "$document", + "$document", '$sce', function($scope, $state, $ionicSlideBoxDelegate, $ionicLoading, - $rootScope, $stateParams, qmService, appSettingsResponse, $timeout, $document){ + $rootScope, $stateParams, qmService, appSettingsResponse, $timeout, $document, $sce){ qmService.initializeApplication(appSettingsResponse); qmService.navBar.setFilterBarSearchIcon(false); + var audio, continuousAudio; + var audioEnded = true; + var speechEnded = true; + var videoEnded = true; + function checkAndProceed() { + var done = audioEnded && speechEnded && videoEnded; + if(done){ + $timeout(function(){ + if($scope.state.autoplay){ + $scope.state.next(); + } + },0.2 * 1000); + } + } + function formatSpeech(speech){ + speech = speech.replace(" AI ", " eh eye "); + return speech.replace(".", ","); + } + + function humanTalk(slide, errorHandler) { + speechEnded = false; + human.talkHuman( + formatSpeech(slide.humanSpeech), + function () { + speechEnded = true; + checkAndProceed(); + }, function (error) { + qmLog.info('Could not read intro slide because: ', error); + if(errorHandler){ + errorHandler(error); + } + } + ); + } + + function playContinuousAudio(slide) { + var alreadyPlaying = continuousAudio && + continuousAudio.src.indexOf(slide.continuousAudio) > 0; + if(alreadyPlaying){return;} + if(continuousAudio){continuousAudio.pause();} + continuousAudio = new Audio(slide.continuousAudio); + if (slide.continuousAudioVolume) { + continuousAudio.volume = slide.continuousAudioVolume; + } + continuousAudio.loop = false; + continuousAudio.play(); + } + + function playAudio(slide) { + audioEnded = false; + audio = new Audio(slide.audio); + if (slide.volume) { + audio.volume = slide.volume; + } + audio.play(); + audio.onended = function () { + audioEnded = true; + checkAndProceed(); + }; + } + $scope.state = { + autoPlayMusic: true, autoplay: true, - musicPlaying: false, + playing: false, title: null, image: null, + music: $stateParams.music, backgroundImg: null, - hideTriangle: false, + showTriangle: false, backgroundVideo: null, + showHuman: null, triangleName: { lineOne: "FDA", lineTwo: "Ai" }, slideIndex: 0, + toggleMusic: function(){ + if(qm.music.isPlaying($stateParams.music)){ + qm.music.fadeOut($stateParams.music); + }else{ + qm.music.play($stateParams.music); + } + }, + pause: function(){ + if($scope.state.playing) { + $scope.state.autoplay = false; + $scope.state.playing = false; + qm.speech.shutUpRobot(); + } else { + $scope.state.autoplay = true; + $scope.state.playing = true; + $scope.state.slideChanged($scope.state.slideIndex); + } + }, start: function(){ - qm.music.play(); - $scope.state.next(); + $scope.state.slideIndex = 0; + $scope.state.slideChanged($scope.state.slideIndex); }, - next: function(index){ + next: function(){ $ionicSlideBoxDelegate.next(); + setSlideIndex($scope.state.slideIndex + 1); + $scope.state.slideChanged($scope.state.slideIndex); }, previous: function(){ $ionicSlideBoxDelegate.previous(); + setSlideIndex($scope.state.slideIndex - 1); + $scope.state.slideChanged($scope.state.slideIndex); }, - slideChanged: function(index){ - var lastSlide = $scope.state.slides[$scope.state.slides.length - 1]; - if(lastSlide && lastSlide.cleanup){lastSlide.cleanup($scope);} + slideChanged: function(){ + var index = $scope.state.slideIndex; + slide = $scope.state.slides[index]; + setSlideIndex(index); + human.closeMouth() + if(!$scope.state.playing){$scope.state.playing = true;} + var lastSlide = $scope.state.slides[index - 1]; + if(lastSlide && lastSlide.cleanup){ + lastSlide.cleanup($scope); + } + audioEnded = videoEnded = speechEnded = true; qm.speech.shutUpRobot(); - if($stateParams.music && !$scope.state.musicPlaying){ - qm.music.play(); - $scope.state.musicPlaying = true; + if(!qm.music.isPlaying($stateParams.music) && index === 1 && $stateParams.music){ + qm.music.play($stateParams.music); } //qm.music.play(); - qm.robot.openMouth(); //debugger - qm.visualizer.showCircleVisualizer() - slide = $scope.state.slides[index]; - $scope.state.hideTriangle = slide.img || slide.backgroundImg || - slide.backgroundVideo || slide.title || slide.video; + //qm.visualizer.showCircleVisualizer() + //qm.visualizer.showSiriVisualizer(); + if(slide.goToState){ + qmService.goToState(slide.goToState); + } + if(audio){ + fadeOut(audio, 1); + audio = null; + } + if(slide.showHuman === true){$scope.state.showHuman = true;} + if(slide.showTriangle !== "undefined"){$scope.state.showTriangle = slide.showTriangle;} + if(slide.showHuman === false){$scope.state.showHuman = false;} + if(slide.autoplay !== undefined){ + $scope.state.autoplay = slide.autoplay; + } if(slide.animation){slide.animation($scope);} - $scope.state.backgroundImg = slide.backgroundImg || null; + var bgImg = null + if($stateParams.backgroundImg){bgImg = $stateParams.backgroundImg;} + if(slide.backgroundImg !== "undefined"){bgImg = slide.backgroundImg;} + if(bgImg !== $scope.state.backgroundImg){ + if(bgImg){ + $scope.state.backgroundImg = $sce.trustAsResourceUrl(bgImg); + } else { + $scope.state.backgroundImg = false; + } + } $scope.state.title = slide.title || null; - $scope.state.image = slide.img || null; - $scope.state.backgroundVideo = slide.backgroundVideo || null; - $scope.state.video = slide.video || null; - $scope.state.slideIndex = index; - function callback(){ - $timeout(function(){ - if($scope.state.autoplay){ - $scope.state.next(); - } - },0.1 * 1000); + $scope.state.image = slide.img ? $sce.trustAsResourceUrl(slide.img) : null; + $scope.state.backgroundVideo = slide.backgroundVideo ? $sce.trustAsResourceUrl(slide.backgroundVideo) : null; + $scope.state.video = slide.video ? $sce.trustAsResourceUrl(slide.video) : null; + if(slide.audio){playAudio(slide);} + if(slide.continuousAudio){playContinuousAudio(slide);} + if(slide.continuousAudio === false && continuousAudio){ + continuousAudio.pause(); + } + if(slide.humanSpeech){ + humanTalk(slide); } - qm.speech.setCaption(slide.speech) + if(!slide.robotSpeech){return;} + //qm.robotSpeech.setCaption(slide.robotSpeech) + //qm.robot.openMouth(); + speechEnded = false; qm.speech.talkRobot( - slide.speech - , callback // $scope.state.next + formatSpeech(slide.humanSpeech), + function(){ + speechEnded = true; + checkAndProceed(); + } , function(error){ - qmLog.info("Could not read intro slide because: " + error); + qmLog.info("Could not read intro slide because: ", error); }, false, false ); }, @@ -82,10 +200,31 @@ angular.module('starter').controller('PresentationCtrl', ["$scope", "$state", "$ $scope.state.autoplay = $stateParams.autoplay; } }); + function setSlideIndex(index){ + if(index < 0){ + console.error("Slide index cannot be less than 0"); + index = 0; + } + if(index > slides.length - 1){ + console.error("Slide index cannot be greater than the number of slides"); + index = 0; + } + $scope.state.slideIndex = index; + qm.storage.setItem('presentationSlideIndex', index); + } $scope.$on('$ionicView.afterEnter', function(){ + setSlideIndex(qm.storage.getItem('presentationSlideIndex') || 0); qmService.navBar.hideNavigationMenu(); qm.robot.onRobotClick = $scope.state.next; qmService.hideLoader(); + if($stateParams.showHuman){ + //human.showHuman(); + $scope.state.showHuman = true; + } + if($stateParams.backgroundImg){ + $scope.state.backgroundImg = $sce.trustAsResourceUrl($stateParams.backgroundImg); + } + if($stateParams.showTriangle){$scope.state.showTriangle = true;} }); $scope.$on('$ionicView.beforeLeave', function(){ qm.music.fadeOut(); @@ -93,18 +232,39 @@ angular.module('starter').controller('PresentationCtrl', ["$scope", "$state", "$ qmService.showFullScreenLoader(); }); function updateVideo(newValue, oldValue, id){ + if(!oldValue){oldValue = null;} + if(!newValue){newValue = null;} if (newValue !== oldValue) { var videoElement = document.getElementById(id); if (videoElement) { var slide = $scope.state.slides[$scope.state.slideIndex]; videoElement.playbackRate = 1; if(slide.playbackRate){ - videoElement.playbackRate = slide.playbackRate; // 50% of the normal speed + videoElement.playbackRate = slide.playbackRate; + } + videoElement.muted = false; + videoElement.loop = false; + if(newValue){ + setVideoEnded(false, slide); } videoElement.load(); + videoElement.addEventListener('error', function(event) { + setVideoEnded(true, slide); + console.error("Video error occurred: ", event); + }); + // Add event listener for 'ended' event + videoElement.addEventListener('ended', function() { + this.loop = false; // prevent looping after video ends + setVideoEnded(true, slide); + checkAndProceed(); + }, false); } } } + function setVideoEnded(value, slide){ + videoEnded = value; + console.log("Setting videoEnded to: ", value, "slide: ", slide); + } $scope.$watch('state.backgroundVideo', function(newValue, oldValue) { updateVideo(newValue, oldValue, 'presentation-background-video'); }); @@ -127,5 +287,24 @@ angular.module('starter').controller('PresentationCtrl', ["$scope", "$state", "$ break; } }); - + // Fade out function + function fadeOut(audio, duration) { + var step = 0.01; // volume change step + duration = duration || 1; // duration in seconds + var interval = duration * 1000 / (1/step); // calculate interval length + var fade = setInterval(function() { + if (audio.volume > 0) { + if(audio.volume - step < 0) { + audio.volume = 0; + } else { + audio.volume -= step; + } + } else { + // Stop the audio when volume reaches 0 + audio.pause(); + audio.currentTime = 0; + clearInterval(fade); + } + }, interval); + } }]); diff --git a/apps/dfda-1/public/app/public/js/human.js b/apps/dfda-1/public/app/public/js/human.js new file mode 100644 index 000000000..764313eb9 --- /dev/null +++ b/apps/dfda-1/public/app/public/js/human.js @@ -0,0 +1,109 @@ +const human = { + talkHuman(text, successHandler, errorHandler) { + if (!window.speechSynthesis) { + errorHandler('Speech synthesis not supported'); + return; + } + let mouth = document.querySelector('.human-mouth'); + mouth.classList.add('human-mouth-open'); + + const utterance = new SpeechSynthesisUtterance(text); + utterance.voice = speechSynthesis.getVoices() + //.find(voice => voice.lang === 'en-US' && voice.gender === 'male') + .find(voice => voice.voiceURI === 'Microsoft Mark - English (United States)') + + utterance.onend = successHandler; + utterance.onerror = errorHandler; + + human.openMouth(); + document.getElementById('human-mouth').style.animation = 'moveMouth 0.2s infinite'; + + speechSynthesis.speak(utterance); + + utterance.onend = () => { + document.getElementById('human-mouth').style.animation = ''; + human.closeMouth(); + successHandler(); + }; + }, + shutUpHuman() { + speechSynthesis.cancel(); + let mouth = document.querySelector('.human-mouth'); + mouth.classList.remove('human-mouth-open'); + }, + showHuman() { + document.getElementById('human-container').style.display = 'block'; + }, + hideHuman() { + document.getElementById('human-container').style.display = 'none'; + }, + showing: false, + openMouth: function(){ + if(human.getClass()){ + human.getClass().classList.add('human_speaking'); + let element = document.getElementById("human-tongue"); + if(element){ + element.style.display = "block"; + } + } + }, + frown: function(){ + // Make a frown + if(human.getClass()){ + human.getClass().classList + .add('human_frown'); + } + }, + closeMouth: function(){ + if(human.getClass()){ + human.getClass().classList.remove('human_speaking'); + } + let element = document.getElementById("human-tongue"); + if(element){ + element.style.display = "none"; + } + let mouth = document.querySelector('#human-mouth'); + mouth.classList.remove('human-mouth-talking'); + }, + hideRobot: function(){ + qmLog.info("Hiding human"); + if(human.getElement()){ + human.getElement().style.display = "none"; + } + human.showing = qm.rootScope.showRobot = false; + }, + showRobot: function(){ + if(!qm.speech.getSpeechAvailable()){ + return; + } + var human = human.getElement(); + if(!human){ + qmLog.info("No human!"); + return false; + } + qmLog.info("Showing human"); + human.getElement().style.display = "block"; + human.showing = qm.rootScope.showRobot = true; + }, + getElement: function(){ + var element = document.querySelector('#human'); + return element; + }, + getClass: function(){ + var element = document.querySelector('.human'); + return element; + }, + toggle: function(){ + if(human.showing){ + human.hideRobot(); + }else{ + human.showRobot(); + } + }, + onRobotClick: function(){ + qmLog.info("onRobotClick called but not defined"); + } +}; + +// Example usage: +// human.talkHuman('Hello world', () => console.log('Finished speaking'), (error) => console.log(error)); diff --git a/apps/dfda-1/public/app/public/js/qmHelpers.js b/apps/dfda-1/public/app/public/js/qmHelpers.js index ae89369e0..5c4376c49 100644 --- a/apps/dfda-1/public/app/public/js/qmHelpers.js +++ b/apps/dfda-1/public/app/public/js/qmHelpers.js @@ -6809,6 +6809,7 @@ var qm = { player: {}, status: {}, isPlaying: function(filePath){ + filePath = filePath || 'sound/air-of-another-planet-full.mp3'; return qm.music.status[filePath] === 'play'; }, setPlayerStatus: function(filePath, status){ @@ -8917,6 +8918,7 @@ var qm = { showing: false, openMouth: function(){ if(qm.robot.getClass()){ + //debugger qm.robot.getClass().classList.add('robot_speaking'); } }, @@ -9188,9 +9190,9 @@ var qm = { utterance.pitch = 1; utterance.onerror = function(event){ var message = 'An error has occurred with the speech synthesis: ' + event.error; - qmLog.error(message); + qmLog.error(message, event); if(errorHandler){ - errorHandler(message); + errorHandler(message, event); } }; utterance.text = text; @@ -9239,7 +9241,10 @@ var qm = { } qmLog.info("talkRobot called with " + text); qm.mic.addIgnoreCommand(text); - if(!qm.speech.voices){qm.speech.voices = speechSynthesis.getVoices();} + if(!qm.speech.voices){ + qm.speech.voices = speechSynthesis.getVoices(); + console.log("voices", qm.speech.voices) + } if(!qm.speech.voices.length){ qmLog.info("Waiting for voices to load with " + text); qm.speech.pendingUtteranceText = text; @@ -9276,7 +9281,7 @@ var qm = { qmLog.debug("annyang still listening!") } qm.speech.utterances.push(utterance); // https://stackoverflow.com/questions/23483990/speechsynthesis-api-onend-callback-not-working - console.info("speechSynthesis.speak(utterance)", utterance); + //console.info("speechSynthesis.speak(utterance)", utterance); utterance.onend = function(event){ clearTimeout(qm.speech.timeoutResumeInfinity); if(qm.mic.isListening()){ @@ -12795,12 +12800,15 @@ var qm = { showCircleVisualizer: function(){ qm.visualizer.showVisualizer("rainbow"); }, + showSiriVisualizer: function(){ + qm.visualizer.showVisualizer("siri"); + }, showVisualizer: function(type){ if(!qm.visualizer.visualizerEnabled){ return; } type = type || "siri"; - qmLog.info("Showing visualizer type: " + type); + //qmLog.info("Showing visualizer type: " + type); if(type === "rainbow"){ var visualizer = qm.visualizer.getRainbowVisualizerCanvas(); visualizer.style.display = "block"; @@ -12833,7 +12841,7 @@ var qm = { } }, rainbowCircleVisualizer: function(){ - qmLog.info("Showing rainbowCircleVisualizer..."); + //qmLog.info("Showing rainbowCircleVisualizer..."); var visualizer = qm.visualizer.getRainbowVisualizerCanvas(); if(visualizer){ visualizer.style.display = "block"; @@ -13022,8 +13030,8 @@ var qm = { * Display an error message. */ function onStreamError(e){ - document.body.innerHTML = "

This pen only works with https://

"; - console.error(e); + ///document.body.innerHTML = "

This pen only works with https://

"; + console.error("onStreamError: ", e); } /** * Utility function to create a number range diff --git a/apps/dfda-1/public/app/public/js/render-presentation.js b/apps/dfda-1/public/app/public/js/render-presentation.js new file mode 100644 index 000000000..4163c1028 --- /dev/null +++ b/apps/dfda-1/public/app/public/js/render-presentation.js @@ -0,0 +1,65 @@ +function renderSlides(slides) { + let html = ''; + slides.forEach((slide) => { + var showImages = false; + var censor = true; + if ( + !slide.title && + !slide.robotSpeech && + !slide.humanSpeech && + !slide.img && + !slide.video + ) { + return; + } + html += `
`; + if (slide.title) { + html += `

${slide.title}

`; + } + + if (slide.video && showImages) { + html += ``; + } + + if (slide.robotSpeech) { + if(censor && slide.robotSpeech.includes('murder')){ + return; + } + html += ` +
+
+ ${slide.robotSpeech} +
+
+ robot +
+
`; + } + if (slide.humanSpeech) { + html += `
+
+
+ ${slide.humanSpeech} +
+
+ `; + } + if (slide.img && showImages) { + html += `Slide image`; + } + + html += `
`; + }); + return html; +} + +// Usage: +let slidesHtml = renderSlides(slides); +document.getElementById('slidesContainer').innerHTML = slidesHtml; + + + + diff --git a/apps/dfda-1/public/app/public/presentation.html b/apps/dfda-1/public/app/public/presentation.html new file mode 100644 index 000000000..33b6f7937 --- /dev/null +++ b/apps/dfda-1/public/app/public/presentation.html @@ -0,0 +1,14 @@ + + + + + FDAi + + + +
+ + + + + diff --git a/apps/dfda-1/public/app/public/scss/partials/_talking-robot.scss b/apps/dfda-1/public/app/public/scss/partials/_talking-robot.scss deleted file mode 100644 index 28909386e..000000000 --- a/apps/dfda-1/public/app/public/scss/partials/_talking-robot.scss +++ /dev/null @@ -1,296 +0,0 @@ -.robot-container { - box-sizing: border-box; - position: absolute; - width: 160px; - height: 170px; - bottom: -30px; - left: calc(100% - 160px); - z-index: 4; -} - -.robot { - //box-sizing: border-box; - //width: 160px; - //height: 170px; -} - -.head { - position: absolute; - width: 130px; - left: 20px; - height: 100px; - border-radius: 490px 550px 550px 550px; - overflow: hidden; - background: #ccc linear-gradient(to right, #b7a9a9 0%, #c1b1b1 40%, #c1b5b5 60%, #ab9c9c 100%); - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; - -webkit-animation: bob 8000ms ease-in-out alternate infinite -1000ms; - animation: bob 8000ms ease-in-out alternate infinite -1000ms; - border: 2px solid #000000; -} - -.eyes { - position: absolute; - top: calc(50% - 10px); - right: 25px; - left: 25px; - height: 20px; - -webkit-animation: blink 10000ms linear forwards infinite; - animation: blink 10000ms linear forwards infinite; } - -.eyeball { - position: absolute; - width: 20px; - height: 20px; - background: radial-gradient(ellipse, #dffdfe 0%, #11c1f3 50%, #387ef5 60%) no-repeat center; - background-size: 100%; - z-index: -2; - border-radius: 100%; - transition: background-size 0.2s; - border: 2px solid #000000; } - -.eyeball_left { - left: 0; - transition: -webkit-transform 100ms ease-in-out; - transition: transform 100ms ease-in-out; - transition: transform 100ms ease-in-out, -webkit-transform 100ms ease-in-out; } - -.eyeball_right { - right: 0; - transition: -webkit-transform 100ms ease-in-out; - transition: transform 100ms ease-in-out; - transition: transform 100ms ease-in-out, -webkit-transform 100ms ease-in-out; } - -.mouth { - position: absolute; - bottom: 15px; - left: 50px; - width: 30px; - height: 5px; - background-color: black; - overflow: hidden; - border-radius: 5px; - transition: height 100ms cubic-bezier(0.455, 0.03, 0.515, 0.955); } - -.mouth-container { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; } - -.robot_speaking .mouth { - height: 15px; } - -.robot_speaking .mouth-container { - -webkit-animation: speakingAnim 0.3s infinite; - animation: speakingAnim 0.3s infinite; } - -.mouth-container-line { - position: absolute; - top: 30%; - height: 0px; - background-color: limegreen; - width: 100%; - margin-top: -1px; } - -.robot_speaking .mouth-container-line { - height: 3px; } - -.torso { - position: absolute; - bottom: 0; - left: calc(50% - 20px); - width: 40px; - height: 60px; - border-radius: 0px 0px 0 0; - border: 2px solid #000000; - background: linear-gradient(to right, #b7afaf 0%, #b7b0b0 40%, #afa6a6 60%, #b9b0b0 100%); } - -.neck { - position: absolute; - bottom: 45px; - left: calc(50% - 5px); - width: 4px; - height: 50px; - border-radius: 15px; - border: 2px solid #000000; - background: repeating-linear-gradient(180deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) 7%, #646464 10%), linear-gradient(to right, #ccc 0%, #e6e6e6 40%, #e6e6e6 60%, #ccc 100%); } - -.arms { - position: absolute; - bottom: 0; - left: 50px; - right: 50px; - height: 50px; } - -.arm { - position: absolute; - border: 2px solid #000000; - top: 0; - width: 10px; - height: 50px; - border-radius: 10px 10px 0 0; - background: repeating-linear-gradient(180deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) 7%, #646464 10%), linear-gradient(to right, #ccc 0%, #e6e6e6 40%, #e6e6e6 60%, #ccc 100%); } - -.arm_left { - left: 0; } - -.arm_right { - right: 0; } - -@-webkit-keyframes lowAnim { - 0% { - -webkit-filter: url("#low-0"); - filter: url("#low-0"); } - 25% { - -webkit-filter: url("#low-1"); - filter: url("#low-1"); } - 50% { - -webkit-filter: url("#low-2"); - filter: url("#low-2"); } - 75% { - -webkit-filter: url("#low-3"); - filter: url("#low-3"); } - 100% { - -webkit-filter: url("#low-4"); - filter: url("#low-4"); } } - -@keyframes lowAnim { - 0% { - -webkit-filter: url("#low-0"); - filter: url("#low-0"); } - 25% { - -webkit-filter: url("#low-1"); - filter: url("#low-1"); } - 50% { - -webkit-filter: url("#low-2"); - filter: url("#low-2"); } - 75% { - -webkit-filter: url("#low-3"); - filter: url("#low-3"); } - 100% { - -webkit-filter: url("#low-4"); - filter: url("#low-4"); } } - -@-webkit-keyframes listeningAnim { - 0% { - -webkit-filter: url("#listening-0"); - filter: url("#listening-0"); } - 25% { - -webkit-filter: url("#listening-1"); - filter: url("#listening-1"); } - 50% { - -webkit-filter: url("#listening-2"); - filter: url("#listening-2"); } - 75% { - -webkit-filter: url("#listening-3"); - filter: url("#listening-3"); } - 100% { - -webkit-filter: url("#listening-4"); - filter: url("#listening-4"); } } - -@keyframes listeningAnim { - 0% { - -webkit-filter: url("#listening-0"); - filter: url("#listening-0"); } - 25% { - -webkit-filter: url("#listening-1"); - filter: url("#listening-1"); } - 50% { - -webkit-filter: url("#listening-2"); - filter: url("#listening-2"); } - 75% { - -webkit-filter: url("#listening-3"); - filter: url("#listening-3"); } - 100% { - -webkit-filter: url("#listening-4"); - filter: url("#listening-4"); } } - -@-webkit-keyframes speakingAnim { - 0% { - -webkit-filter: url("#speaking-0"); - filter: url("#speaking-0"); } - 25% { - -webkit-filter: url("#speaking-1"); - filter: url("#speaking-1"); } - 50% { - -webkit-filter: url("#speaking-2"); - filter: url("#speaking-2"); } - 75% { - -webkit-filter: url("#speaking-3"); - filter: url("#speaking-3"); } - 100% { - -webkit-filter: url("#speaking-4"); - filter: url("#speaking-4"); } } - -@keyframes speakingAnim { - 0% { - -webkit-filter: url("#speaking-0"); - filter: url("#speaking-0"); } - 25% { - -webkit-filter: url("#speaking-1"); - filter: url("#speaking-1"); } - 50% { - -webkit-filter: url("#speaking-2"); - filter: url("#speaking-2"); } - 75% { - -webkit-filter: url("#speaking-3"); - filter: url("#speaking-3"); } - 100% { - -webkit-filter: url("#speaking-4"); - filter: url("#speaking-4"); } } - -@-webkit-keyframes bob { - 0% { - -webkit-transform: rotate(-3deg); - transform: rotate(-3deg); } - 40% { - -webkit-transform: rotate(-3deg); - transform: rotate(-3deg); - -webkit-animation-timing-function: cubic-bezier(1, 0, 0, 1); - animation-timing-function: cubic-bezier(1, 0, 0, 1); } - 60% { - -webkit-transform: rotate(3deg); - transform: rotate(3deg); } - 100% { - -webkit-transform: rotate(3deg); - transform: rotate(3deg); } } - -@keyframes bob { - 0% { - -webkit-transform: rotate(-3deg); - transform: rotate(-3deg); } - 40% { - -webkit-transform: rotate(-3deg); - transform: rotate(-3deg); - -webkit-animation-timing-function: cubic-bezier(1, 0, 0, 1); - animation-timing-function: cubic-bezier(1, 0, 0, 1); } - 60% { - -webkit-transform: rotate(3deg); - transform: rotate(3deg); } - 100% { - -webkit-transform: rotate(3deg); - transform: rotate(3deg); } } - -@-webkit-keyframes blink { - 50% { - -webkit-transform: scale(1, 1); - transform: scale(1, 1); } - 51% { - -webkit-transform: scale(1, 0.1); - transform: scale(1, 0.1); } - 52% { - -webkit-transform: scale(1, 1); - transform: scale(1, 1); } } - -@keyframes blink { - 50% { - -webkit-transform: scale(1, 1); - transform: scale(1, 1); } - 51% { - -webkit-transform: scale(1, 0.1); - transform: scale(1, 0.1); } - 52% { - -webkit-transform: scale(1, 1); - transform: scale(1, 1); } } \ No newline at end of file diff --git a/apps/dfda-1/public/app/public/templates/analyzing-page.html b/apps/dfda-1/public/app/public/templates/analyzing-page.html new file mode 100644 index 000000000..2d43c2114 --- /dev/null +++ b/apps/dfda-1/public/app/public/templates/analyzing-page.html @@ -0,0 +1,16 @@ + + Study + + + + +
+
+
+ +
+
diff --git a/apps/dfda-1/public/app/public/templates/human.html b/apps/dfda-1/public/app/public/templates/human.html new file mode 100644 index 000000000..f29194417 --- /dev/null +++ b/apps/dfda-1/public/app/public/templates/human.html @@ -0,0 +1,26 @@ +
+
+
+
+
+
+
+
+

HUMAN

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/dfda-1/public/app/public/templates/presentation.html b/apps/dfda-1/public/app/public/templates/presentation.html index a9d06c832..5c49c868a 100644 --- a/apps/dfda-1/public/app/public/templates/presentation.html +++ b/apps/dfda-1/public/app/public/templates/presentation.html @@ -1,6 +1,8 @@ FDAi - + @@ -9,6 +11,8 @@ +
@@ -16,21 +20,13 @@
-
+ class="michroma-regular presentation-title"> {{ state.title }}
@@ -53,7 +49,7 @@ - + box-shadow: 0 0 10px #00ff00; /* Neon green shadow */">-->
@@ -70,11 +66,32 @@ ng-include="'templates/robot.html'" ng-click="robotClick()" class="robot-container">
- +
+ + +

Great! Let's do it!

+

Please sign this petition to support the FDAi Act to automate clinical research to find cures for the 2 billion people suffering from chronic diseases and your will shall be done.

+
+ + + + + +
+
+ `; + + const form = overlay.querySelector("form"); + form.addEventListener("submit", (e) => { + e.preventDefault(); + const formData = new FormData(e.target); + const data = {}; + for (const [key, value] of formData.entries()) { + data[key] = value; + } + // Send data to your server or handle it as needed + console.log(data); + trackEvent("Petition", "Signed", ""); + //closeOverlay(); + showSharingButtons(); + }); + + const closeBtn = overlay.querySelector(".close-btn"); + closeBtn.addEventListener("click", closeOverlay); +}; + +// Function to show the comment page +const showCommentPage = () => { + overlay.innerHTML = ` +
+

What's a more effective way to help people suffering from chronic illness?

+
+ + + + +
+ +
+ `; + + const form = overlay.querySelector("form"); + form.addEventListener("submit", (e) => { + e.preventDefault(); + const formData = new FormData(e.target); + const data = {}; + for (const [key, value] of formData.entries()) { + data[key] = value; + } + // Send data to your server or handle it as needed + console.log(data); + trackEvent("Comment", "Submitted", ""); + closeOverlay(); + }); + + const closeBtn = overlay.querySelector(".close-btn"); + closeBtn.addEventListener("click", closeOverlay); +}; + +// Function to render the current question +const renderQuestion = () => { + const currentQuestion = questions[currentQuestionIndex]; + overlay.innerHTML = ` + +
+

${currentQuestion.text}

+
+ ${currentQuestion.options + .map( + (option, index) => ` + + ` + ) + .join("")} +
+
+ `; + + const optionBtns = overlay.querySelectorAll(".option-btn"); + optionBtns.forEach((btn, index) => { + btn.addEventListener("click", () => { + const selectedOption = currentQuestion.options[index]; + selectedOption.callback(); + trackEvent("Question", currentQuestion.text, selectedOption.text); + nextQuestion(); + }); + }); + + const closeBtn = overlay.querySelector(".close-btn"); + closeBtn.addEventListener("click", closeOverlay); +}; + +// Function to close the overlay +const closeOverlay = () => { + // overlay.style.display = "none"; + showSharingButtons(); + +}; + +const showSharingButtons = () => { + overlay.innerHTML = ` + + `; + + const closeBtn = overlay.querySelector(".close-btn"); + closeBtn.addEventListener("click", closeOverlay); + +} + + +// Create the overlay +const overlay = document.createElement("div"); +overlay.className = "overlay"; +document.body.appendChild(overlay); + +// Show the first question on page load +window.addEventListener("load", () => { + renderQuestion(); + overlay.style.display = "flex"; +}); + +// Fetch styles from petition.css +const styles = ` + +`; + +const styleSheet = document.createElement("style"); +styleSheet.innerText = styles; +document.head.appendChild(styleSheet); + +const link = document.createElement("link"); +link.rel = 'stylesheet'; +link.href = 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css'; +document.head.appendChild(link); diff --git a/docs/fdai-act.md b/docs/fdai-act.md deleted file mode 100644 index 65f316051..000000000 --- a/docs/fdai-act.md +++ /dev/null @@ -1,63 +0,0 @@ -# The FDA Innovation through Data and AI Act (FDAi Act) - -### Preamble - -WHEREAS the Food and Drug Administration (FDA) is mandated to ensure the safety and efficacy of food, drugs, supplements, and additives consumed by the American public; - -WHEREAS the current methodologies for assessing the long-term impacts of these substances are limited and do not fully leverage the potential of modern data analysis and artificial intelligence technologies; - -WHEREAS the rapid and inclusive collection of longitudinal health data from a diverse population is crucial for understanding the personalized effects of foods, drugs, supplements, and additives on health outcomes; - -WHEREAS the development of an open, interoperable platform for health data sharing, combined with advanced AI-driven analysis, can revolutionize the understanding of health impacts and inform more effective and personalized healthcare decisions; - -NOW, THEREFORE, be it enacted by the Senate and House of Representatives of the United States of America in Congress assembled, that: - -### Section 1. FDAi Platform Development - -The FDA shall fund and oversee the development of the FDAi Platform, an open-source repository and suite of tools designed to: -- Allow for the secure and voluntary sharing of time series data on symptom severity, medication and supplement intake, and dietary intake by individuals. -- Employ causal inference algorithms to generate mega-studies that elucidate the frequency and magnitude of symptoms and health outcomes following exposure to various foods, drugs, supplements, and additives. -- Facilitate the development of predictive models for the personalized effects of these substances on individual health outcomes. - -### Section 2. AI Agent for Personalized Health Insights - -The FDAi Platform shall include the development of a Personal AI Agent to: -- Assist individuals in understanding the personal effects of the foods, drugs, and supplements they consume. -- Aid physicians in making informed prescribing decisions by providing access to personalized health insights and global mega-study findings. -- Clearly communicate the frequency and severity of all side effects associated with substances, focusing particularly on experimental therapies. - -### Section 3. Bill of Patients' Rights - -The FDAi Act establishes a Bill of Patients' Rights, asserting that: -- The FDA shall not obstruct the efforts of the sick or dying to seek relief due to a lack of data. -- The FDA must facilitate effortless participation in clinical trials for experimental therapies, striving to minimize the cost burden on participants. -- Data collected from such clinical trials must be rapidly analyzed to determine the safety and efficacy of treatments, thereby informing both the participants and the wider public. - -### Section 4. OAuth2 API, Developer Portal, and SDKs - -The FDAi Platform shall provide: -- An OAuth2 API and a developer portal to enable any applications and wearable devices to register as data providers. -- SDKs to facilitate the integration of these applications and devices with the FDAi Platform, including mechanisms for users to easily share their health data. - -### Section 5. FDAi Platform Components - -The FDAi Platform will comprise: -1. **Data Silo API Gateway Nodes:** To enable data exports from health apps and silos into PersonalFDA Nodes. -2. **PersonalFDA Nodes:** Local applications where individuals can securely store their health data and receive personalized insights from their Personal AI Agent. -3. **Clinipedia:** An open-access knowledge repository aggregating global data on the health effects of foods, drugs, supplements, and medical interventions. - -### Section 6. Open Source and Collective Intelligence - -The FDAi Platform shall be developed as an open-source project to ensure transparency, foster innovation, and leverage collective intelligence in the pursuit of understanding health impacts and improving health outcomes. - -### Section 7. Funding - -Congress shall allocate the necessary funds for the development, maintenance, and continual improvement of the FDAi Platform and its associated components. - -### Section 8. Effective Date - -This Act shall take effect immediately upon its passage, with the initial release of the FDAi Platform scheduled for no later than two years from the date of enactment. - ---- - -This Act envisions a future where the collective health intelligence of the population is harnessed through cutting-edge technology, significantly advancing the FDA's ability to fulfill its mandate of ensuring the safety and efficacy of foods, drugs, supplements, and additives. diff --git a/docs/fdai-act/README.md b/docs/fdai-act/README.md deleted file mode 100644 index ae33e125e..000000000 --- a/docs/fdai-act/README.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -banner: docs/images/fdai-framework-diagram.png ---- -# FDAi Act - -#### An Act to Revolutionize Healthcare Through the Deployment of the FDAi System, Ensuring Personalized Health Optimization, Accelerated Clinical Discovery, and Global Health Equity - -**Preamble** - -Acknowledging the transformative potential of artificial intelligence in revolutionizing healthcare delivery and research, and recognizing the need to overcome the limitations of the current healthcare and regulatory framework, this Act seeks to establish the FDAi system. It aims to foster a healthcare ecosystem that is personalized, efficient, and equitable, transcending traditional barriers to healthcare innovation and delivery. - -**Section 1: Establishment of the FDAi System** - -(a) **Creation and Purpose**: The Secretary of Health and Human Services, through the FDA, shall establish the FDAi system to deploy AI-powered agents for every citizen, focusing on personalized health monitoring, dietary and treatment optimization, and seamless clinical trial connectivity. - -(b) **Scope and Objectives**: The FDAi system shall: -- Provide personalized health recommendations based on comprehensive analysis of health data. -- Infer long-term effects of supplements, drugs, and food additives, leveraging AI for unprecedented insights. -- Facilitate participation in clinical trials, improving recruitment efficiency and diversity. -- Enable real-time health monitoring and adjustment of treatment plans, integrating wearable technology data. -- Aggregate and analyze a wide range of data sources for continuous research and public health insights. - -**Section 2: Framework for Decentralized, Continuous Research** - -(a) **Research Without Profit Motive**: Establish protocols for unbiased, AI-driven research across the population to identify effective treatments and dietary recommendations, free from commercial biases. - -(b) **Open-Source Development and FAIR Principles**: Mandate all FDAi development and data analysis to adhere to open-source models and FAIR (Findable, Accessible, Interoperable, and Reusable) data principles, ensuring transparency and collaborative innovation. - -**Section 3: Funding and Implementation** - -(a) **Support for Open-Source Development**: Allocate funding specifically for the development of the FDAi system as an open-source, modular process in a monorepository, ensuring transparency and democratic participation. - -(b) **Bureaucratic Efficiency**: Implement mechanisms to streamline data collection and analysis, reducing bureaucratic hurdles and facilitating comprehensive health data integration. - -**Section 4: Privacy, Data Security, and Ethical Use** - -(a) **Data Privacy and Security**: Establish stringent data privacy and security measures, ensuring ethical use of personal health data and adherence to the highest standards of data protection. - -(b) **Informed Consent and Transparency**: Require clear consent processes for data use, ensuring individuals understand and agree to the use of their data for health optimization and research. - -**Section 5: Global Health Equity and Accessibility** - -Promote global health equity by ensuring the FDAi system's findings and technologies are accessible to all, focusing on affordable and effective healthcare solutions worldwide. - -**Section 6: Regulatory and Legal Framework** - -(a) **Innovation in Regulation**: Collaborate with regulatory bodies to adapt current legal frameworks to accommodate the novel approaches introduced by the FDAi system, including AI-driven research and decentralized data analysis. - -(b) **Ethical Oversight**: Establish an ethical oversight committee to monitor FDAi system practices, ensuring they align with ethical standards and societal values. - -**Section 7: Implementation Timeline and Milestones** - -Outline a phased implementation plan for the FDAi system, including key milestones, pilot programs, and scalability strategies to ensure nationwide deployment. - -**Section 8: Evaluation and Reporting** - -(a) **Regular Evaluation**: Mandate regular evaluations of the FDAi system's impact on healthcare outcomes, efficiency in clinical trial recruitment, and advancements in personalized medicine. - -(b) **Reporting**: Require annual reports to Congress on the progress, challenges, and outcomes of the FDAi system, ensuring ongoing transparency and accountability. - -**Section 9: Effective Date** - -This Act shall take effect immediately upon its passage, initiating a new era of AI-driven, personalized healthcare and research innovation. - ---- - -This extended version of the FDAi Act integrates detailed provisions for the deployment of AI in healthcare, focusing on personalization, research innovation, and global health equity, while embedding strong ethical, privacy, and open-source development principles. - -The FDAi Act is intended to provide a personal FDAi agent to every citizen: - -Personal FDAi Agent Integration: Deploy AI-powered agents that aggregate and analyze individuals' health and behavioral data. These agents will be capable of understanding complex health conditions and lifestyle patterns to recommend optimal diets and treatments and monitor for potential side effects continuously. - -Advanced Dietary and Treatment Optimization: Leverage AI to quantify the positive and negative effects of foods, drugs, and additives on an individual's health, enabling tailored dietary and treatment plans that dynamically adjust to health changes and personal preferences. - -Clinical Trial Connectivity: Simplify the process for individuals to discover and enroll in clinical trials relevant to their health conditions. The FDAi agent will facilitate seamless participation, including eligibility checks, consent processes, and integration with trial data collection, enhancing the speed and efficiency of clinical research. - -Comprehensive Health Monitoring: Use wearables and other health-monitoring devices to collect real-time data. This capability ensures that the FDAi agent can proactively suggest adjustments to treatment plans based on real-world evidence, promoting early intervention and preventing adverse health outcomes. - -Automated Research and Data Analysis: Aggregate and analyze data from a broad spectrum of sources, including clinical trials, electronic health records (EHRs), and real-world evidence, to publish up-to-date research findings. This approach will democratize access to the latest healthcare information, empowering individuals with knowledge previously confined to medical professionals. - -Test and Procedure Scheduling: Integrate scheduling functionalities to ensure that necessary tests and medical procedures are timely and efficiently managed, reducing the administrative burden on individuals and healthcare providers. - -To further refine the vision for the FDAi Act with a focus on accelerating clinical discovery and reducing suffering, it's crucial to emphasize how the personal FDAi agent and the broader initiative can transform the research landscape: - -1. **Decentralized, Continuous Research**: Establish a system where FDAi agents conduct long-term, continuous research across the entire population. This approach enables the collection of vast datasets on health outcomes, treatments, diets, and lifestyle choices, providing an unparalleled resource for understanding human health and disease. -2. **Removing Profit Motives from Research**: By operating without the profit motive that underpins pharmaceutical-driven research, FDAi focuses on discovering and validating the most effective treatments, regardless of their patent status or commercial potential. This shift prioritizes patient outcomes over financial gain, addressing the current system's bias towards patented molecules. -3. **Reducing Research Costs**: Utilize AI and decentralized data collection to reduce the costs associated with traditional clinical trials dramatically. By leveraging real-world data from the population and employing advanced data analytics, FDAi can identify treatment effects and potential new therapies more efficiently and at a fraction of the cost of conventional methods. -4. **Open and Collaborative Research Model**: Encourage an open-source ethos in medical research, where data and findings are shared freely among scientists, clinicians, and the public. This model fosters collaboration, accelerates the dissemination of knowledge, and ensures that innovations benefit the widest possible audience. -5. **Ethical Data Utilization**: Implement strict ethical guidelines and consent frameworks to ensure that individuals' data is used responsibly and with respect for privacy. By building trust in the system, FDAi can ensure high levels of participation and data quality, crucial for the success of long-term research initiatives. -6. **Personalized and Adaptive Clinical Trials**: Develop personalized clinical trial methodologies that adapt to real-time individual responses. This approach accelerates the discovery of effective treatments and minimizes patient suffering by quickly identifying the most beneficial interventions for each individual. -7. **Global Health Equity**: Aim to reduce global health disparities by making the fruits of research accessible to all, regardless of geographic location or economic status. By focusing on effective and affordable treatments, FDAi can contribute to a more equitable health system worldwide. -8. **Regulatory Innovation**: Work with regulatory bodies to adapt current frameworks to AI-driven, decentralized research realities. This includes developing new standards for evaluating treatments based on real-world evidence and ensuring that regulatory processes facilitate rapid innovation while maintaining patient safety. diff --git a/docs/fdai-act/budget.md b/docs/fdai-act/budget.md deleted file mode 100644 index f025d19ef..000000000 --- a/docs/fdai-act/budget.md +++ /dev/null @@ -1,43 +0,0 @@ -Creating a detailed budget for the FDAi Act involves considering various components such as development and operational costs, integration with existing healthcare infrastructure, ongoing research and data analysis, and regulatory compliance. While specific figures would require detailed financial analysis and input from healthcare economists, technology developers, and policy analysts, I can outline a broad budget structure to encapsulate the primary financial aspects of the project. - -### 1. Development Costs - -**AI Development and Testing**: Investment in artificial intelligence research, development of the FDAi agent, and extensive testing phases to ensure accuracy and reliability. - -**Infrastructure and Technology**: Costs associated with building or upgrading the necessary technological infrastructure to support the FDAi system, including data storage, processing capabilities, and security measures. - -**Open-Source Development Platform**: Establishment and maintenance of an open-source development platform, including a monorepo for collaborative development and version control systems. - -### 2. Operational Costs - -**Personnel**: Salaries for data scientists, AI specialists, healthcare professionals, and administrative staff involved in the ongoing operation and maintenance of the FDAi system. - -**Data Acquisition and Management**: Expenses related to acquiring, storing, and managing health data, including costs for secure data transmission and compliance with privacy regulations. - -**User Support and Training**: Funding for user support services, training programs for healthcare providers, and educational materials for the public to ensure effective use of the FDAi agent. - -### 3. Integration Costs - -**Healthcare System Integration**: Costs involved in integrating the FDAi system with existing electronic health record (EHR) systems, clinical trial databases, and healthcare provider networks. - -**Wearable and Monitoring Device Integration**: Investment in developing and standardizing interfaces for wearable health devices and other monitoring equipment to feed data into the FDAi system. - -### 4. Research and Development - -**Continuous Research Funding**: Allocation for ongoing research activities conducted by the FDAi system, including analysis of health outcomes, dietary effects, and drug efficacy. - -**Clinical Trial Support**: Funding to facilitate the participation of individuals in clinical trials, including eligibility checks, consent processes, and integration with trial data collection. - -### 5. Regulatory Compliance and Ethical Oversight - -**Regulatory Compliance**: Costs associated with ensuring the FDAi system complies with all relevant healthcare regulations, privacy laws, and ethical standards. - -**Ethical Oversight Committee**: Funding for the establishment and operation of an ethical oversight committee to monitor and guide the ethical use of AI in healthcare. - -### 6. Miscellaneous Costs - -**Contingency Fund**: A reserve fund to address unforeseen expenses or challenges that may arise during the development and implementation phases. - -**Public Awareness and Engagement**: Investment in public awareness campaigns, community engagement activities, and stakeholder consultations to foster support and understanding of the FDAi system. - -Given the complexity and novelty of the FDAi Act, this budget structure serves as a foundational framework. Precise budgeting would require collaboration with experts across fields to refine cost estimates, prioritize investments, and ensure the efficient allocation of resources toward the successful realization of the FDAi system. diff --git a/docs/fdai-act/collaborating-projects.md b/docs/fdai-act/collaborating-projects.md deleted file mode 100644 index d5d4ebcf0..000000000 --- a/docs/fdai-act/collaborating-projects.md +++ /dev/null @@ -1,63 +0,0 @@ -# FDAi Collaborating Projects - -The FDAi platform, as envisioned, would be designed to complement and enhance existing government health initiatives by providing a robust framework for data analysis, sharing, and privacy preservation. Below, we explore how the FDAi could be integrated with and support key programs such as the FDA's Sentinel Initiative, the All of Us Research Program, and other relevant initiatives. - - -### Integration with the Global Substance Registry System (GSRS) - -The FDAi agent, as part of its core functionalities, is designed to synthesize and analyze vast amounts of data from diverse sources to provide actionable healthcare insights. Integrating the FDAi agent with the FDA's GSRS would significantly enhance the agent's ability to access and utilize detailed information on substances regulated by the FDA. GSRS, being a comprehensive database of substances, including drugs and their ingredients, could serve as a vital data source for the FDAi agent, enabling it to: - -1. **Access Up-to-date Information:** Ensure that the FDAi agent has access to the most current and comprehensive data on substances, including their chemical properties, uses, regulatory status, and safety information. This is crucial for the agent to provide accurate and personalized healthcare recommendations. - -2. **Improve Personalized Healthcare Recommendations:** Utilize detailed substance information from the GSRS to refine the FDAi agent's algorithms for personalized healthcare advice. For example, the agent could identify potential drug interactions, allergies, or contraindications based on a user's specific health profile and medication history. - -3. **Enhance Safety Monitoring:** Leverage GSRS data to enhance the FDAi agent's capabilities in monitoring and identifying potential safety issues related to substances. By analyzing real-world data and GSRS information, the agent could detect emerging safety signals much earlier, improving patient safety. - -4. **Support Regulatory Decisions:** Assist the FDA in making informed regulatory decisions by providing insights derived from the integration of GSRS data with other health data analyzed by the FDAi agent. This could lead to more efficient and evidence-based regulatory processes. - -5. **Accelerate Research and Development:** Enable more efficient identification of research gaps and opportunities by analyzing GSRS data alongside clinical and real-world evidence. This could help prioritize research efforts and support the development of new therapeutic options. - -The integration would require robust data governance and privacy measures to ensure secure and ethical use of data. Moreover, it would necessitate technical infrastructure capable of handling the complexities of merging GSRS data with the FDAi's decentralized AI-powered system, ensuring data integrity and reliability. - -Overall, integrating the FDAi agent with the GSRS would significantly amplify the agent's capabilities in providing personalized healthcare recommendations, enhancing drug safety monitoring, supporting regulatory decisions, and accelerating research and development, thereby fulfilling the FDAi's mission to revolutionize healthcare through the power of AI and decentralized data. - -### Integration with the FDA's Sentinel Initiative - -**Sentinel Initiative Background:** -The Sentinel Initiative is an FDA program aimed at monitoring the safety of FDA-regulated drugs, biologics, medical devices, and dietary supplements after they have reached the market. It uses a distributed data system to access electronic healthcare data from multiple sources while maintaining the privacy and security of this information. - -**FDAi Integration and Support:** -- **Enhanced Data Analysis:** The FDAi could provide advanced AI and machine learning tools to further analyze the vast data accessed by the Sentinel Initiative, identifying safety signals and trends more efficiently. -- **Predictive Modeling:** By incorporating predictive modeling capabilities, the FDAi platform could help the Sentinel Initiative forecast potential safety issues before they become widespread, allowing for proactive regulatory actions. -- **Data Sharing Mechanisms:** The FDAi's focus on privacy-preserving data sharing would enable a more seamless exchange of insights between the Sentinel system and other research entities, improving the collective understanding of drug safety. - -### Support for the All of Us Research Program - -**All of Us Research Program Background:** -The All of Us Research Program, part of the National Institutes of Health (NIH), aims to gather health data from one million or more people living in the United States to accelerate research and improve health by taking individual differences in lifestyle, environment, and biology into account. - -**FDAi Integration and Support:** -- **Voluntary Data Contribution:** Participants in the All of Us Research Program could opt to share their anonymized health data or insights derived from local analysis with the FDAi platform, enriching the data available for health research. -- **Targeted Research Support:** Insights gained from the FDAi platform could be used to inform specific research projects within the All of Us initiative, such as studies on the efficacy of personalized medicine approaches. -- **Collaborative Data Use:** The FDAi's emphasis on open-source development and collaborative research could foster joint projects between the All of Us program and FDA-regulated product developers, leveraging shared data to advance public health goals. - -### Integration with Other Government Health Initiatives - -**National Health and Nutrition Examination Survey (NHANES):** -- The FDAi could analyze NHANES data to identify broader public health trends and dietary supplement use patterns, supporting regulatory decisions and public health recommendations. - -**Centers for Disease Control and Prevention (CDC) Public Health Surveillance:** -- The FDAi platform could enhance CDC's surveillance activities by providing AI-driven analysis of health data trends, helping to identify emerging public health threats more quickly. - -**National Cancer Institute's Surveillance, Epidemiology, and End Results (SEER) Program:** -- By integrating cancer statistics and research findings from the SEER program, the FDAi could assist in identifying potential correlations between drug use and cancer outcomes, supporting both regulatory actions and cancer research. - -### Implementation Considerations - -To ensure successful integration and support of these initiatives, several key considerations must be addressed: -- **Data Privacy and Security:** Establishing stringent data privacy and security measures is crucial, especially when integrating data from various sources. -- **Interoperability Standards:** Developing and adhering to interoperability standards to facilitate data exchange and integration across different health data systems and initiatives. -- **Stakeholder Engagement:** Engaging with stakeholders from each initiative to understand their data needs, challenges, and how the FDAi platform can provide the most value. -- **Regulatory and Ethical Compliance:** Ensuring that all data sharing and analysis activities comply with relevant regulations and ethical guidelines. - -By addressing these considerations and leveraging the strengths of each initiative, the FDAi platform could significantly enhance the United States' health research and public health surveillance capabilities, ultimately leading to improved health outcomes for the population. diff --git a/docs/fdai-act/cost-savings.md b/docs/fdai-act/cost-savings.md deleted file mode 100644 index 8da44c0e3..000000000 --- a/docs/fdai-act/cost-savings.md +++ /dev/null @@ -1,5 +0,0 @@ -# Cost Savings - -Research indicates that the widespread adoption of artificial intelligence (AI) in healthcare could result in significant cost savings. A study highlighted by CEPR suggests that within the next five years, utilizing current AI technology could save 5% to 10% of healthcare spending, translating to $200 to $360 billion annually. These savings are expected not to compromise the quality or accessibility of healthcare services; in fact, they might enhance the quality of healthcare experiences for patients. - -This substantial reduction in healthcare spending can be attributed to several factors facilitated by AI, including improved efficiency in healthcare delivery, enhanced accuracy in diagnosis and treatment planning, reductions in unnecessary interventions, and optimized resource allocation. AI's potential to transform healthcare through personalized medicine, early detection of diseases, and streamlined clinical trials aligns with the objectives of projects like the FDAi Act, suggesting that similar savings could be anticipated with its implementation. diff --git a/docs/fdai-act/economic-value-of-peace.pdf b/docs/fdai-act/economic-value-of-peace.pdf new file mode 100644 index 000000000..97f461963 Binary files /dev/null and b/docs/fdai-act/economic-value-of-peace.pdf differ diff --git a/docs/fdai-act/fdai-act.md b/docs/fdai-act/fdai-act.md new file mode 100644 index 000000000..3c56404e6 --- /dev/null +++ b/docs/fdai-act/fdai-act.md @@ -0,0 +1,398 @@ +# The FDA Innovation through Data and AI Act (FDAi Act) + +An Act to Revolutionize Healthcare Through the Deployment of the FDAi System, Ensuring Personalized Health Optimization, Accelerated Clinical Discovery, and Global Health Equity + +Acknowledging the transformative potential of artificial intelligence in revolutionizing healthcare delivery and research, and recognizing the need to overcome the limitations of the current healthcare and regulatory framework, this Act seeks to establish the FDAi system. It aims to foster a healthcare ecosystem that is personalized, efficient, and equitable, transcending traditional barriers to healthcare innovation and delivery. + +This bill highlights the urgency and necessity of leveraging AI and data analysis to improve health outcomes and decision-making. It emphasizes the FDA's role in facilitating access to experimental therapies and minimizing barriers for those in urgent need, with a strong focus on transparency, rapid data collection, and personalized health insights. + +This Act envisions a future where the collective health intelligence of the population is harnessed through cutting-edge technology, significantly advancing the FDA's ability to fulfill its mandate of ensuring the safety and efficacy of foods, drugs, supplements, and additives. + +The FDAi Act is intended to provide a personal FDAi agent to every citizen: + +Personal FDAi Agent Integration: Deploy AI-powered agents that aggregate and analyze individuals' health and behavioral data. These agents will be capable of understanding complex health conditions and lifestyle patterns to recommend optimal diets and treatments and monitor for potential side effects continuously. + +Advanced Dietary and Treatment Optimization: Leverage AI to quantify the positive and negative effects of foods, drugs, and additives on an individual's health, enabling tailored dietary and treatment plans that dynamically adjust to health changes and personal preferences. + +Clinical Trial Connectivity: Simplify the process for individuals to discover and enroll in clinical trials relevant to their health conditions. The FDAi agent will facilitate seamless participation, including eligibility checks, consent processes, and integration with trial data collection, enhancing the speed and efficiency of clinical research. + +Comprehensive Health Monitoring: Use wearables and other health-monitoring devices to collect real-time data. This capability ensures that the FDAi agent can proactively suggest adjustments to treatment plans based on real-world evidence, promoting early intervention and preventing adverse health outcomes. + +Automated Research and Data Analysis: Aggregate and analyze data from a broad spectrum of sources, including clinical trials, electronic health records (EHRs), and real-world evidence, to publish up-to-date research findings. This approach will democratize access to the latest healthcare information, empowering individuals with knowledge previously confined to medical professionals. + +Test and Procedure Scheduling: Integrate scheduling functionalities to ensure that necessary tests and medical procedures are timely and efficiently managed, reducing the administrative burden on individuals and healthcare providers. + +How the personal FDAi agent and the broader initiative can transform the research landscape: + +1. **Decentralized, Continuous Research**: Establish a system where FDAi agents conduct long-term, continuous research across the entire population. This approach enables the collection of vast datasets on health outcomes, treatments, diets, and lifestyle choices, providing an unparalleled resource for understanding human health and disease. +2. **Removing Profit Motives from Research**: By operating without the profit motive that underpins pharmaceutical-driven research, FDAi focuses on discovering and validating the most effective treatments, regardless of their patent status or commercial potential. This shift prioritizes patient outcomes over financial gain, addressing the current system's bias towards patented molecules. +3. **Reducing Research Costs**: Utilize AI and decentralized data collection to reduce the costs associated with traditional clinical trials dramatically. By leveraging real-world data from the population and employing advanced data analytics, FDAi can identify treatment effects and potential new therapies more efficiently and at a fraction of the cost of conventional methods. +4. **Open and Collaborative Research Model**: Encourage an open-source ethos in medical research, where data and findings are shared freely among scientists, clinicians, and the public. This model fosters collaboration, accelerates the dissemination of knowledge, and ensures that innovations benefit the widest possible audience. +5. **Ethical Data Utilization**: Implement strict ethical guidelines and consent frameworks to ensure that individuals' data is used responsibly and with respect for privacy. By building trust in the system, FDAi can ensure high levels of participation and data quality, crucial for the success of long-term research initiatives. +6. **Personalized and Adaptive Clinical Trials**: Develop personalized clinical trial methodologies that adapt to real-time individual responses. This approach accelerates the discovery of effective treatments and minimizes patient suffering by quickly identifying the most beneficial interventions for each individual. +7. **Global Health Equity**: Aim to reduce global health disparities by making the fruits of research accessible to all, regardless of geographic location or economic status. By focusing on effective and affordable treatments, FDAi can contribute to a more equitable health system worldwide. +8. **Regulatory Innovation**: Work with regulatory bodies to adapt current frameworks to AI-driven, decentralized research realities. This includes developing new standards for evaluating treatments based on real-world evidence and ensuring that regulatory processes facilitate rapid innovation while maintaining patient safety. + + +## Preamble + +WHEREAS the Food and Drug Administration (FDA) is mandated to ensure the safety and efficacy of food, drugs, supplements, and additives consumed by the American public; + +WHEREAS the current methodologies for assessing the long-term impacts of these substances are limited and do not fully leverage the potential of modern data analysis and artificial intelligence technologies; + +WHEREAS the rapid and inclusive collection of longitudinal health data from a diverse population is crucial for understanding the personalized effects of foods, drugs, supplements, and additives on health outcomes; + +WHEREAS the development of an open, interoperable platform for health data sharing, combined with advanced AI-driven analysis, can revolutionize the understanding of health impacts and inform more effective and personalized healthcare decisions; + +WHEREAS the safety, efficacy, and personalized understanding of the impacts of foods, drugs, supplements, and additives are critical to improving health outcomes; + +WHEREAS the rapid collection and analysis of health data through advanced technologies can accelerate the discovery of effective treatments, particularly for the sick and dying; + +WHEREAS the use of artificial intelligence (AI) can significantly enhance the ability of individuals and physicians to make informed health decisions; + +WHEREAS the Food and Drug Administration (FDA) has a responsibility to facilitate access to experimental therapies, minimizing bureaucratic and financial barriers for those in urgent need of relief; + +WHEREAS the Food and Drug Administration (FDA) is mandated to ensure the safety and efficacy of food, drugs, supplements, and additives consumed by the American public; + +WHEREAS the current methodologies for assessing the long-term impacts of these substances are limited and do not fully leverage the potential of modern data analysis and artificial intelligence technologies; + +WHEREAS the rapid and inclusive collection of longitudinal health data from a diverse population is crucial for understanding the personalized effects of foods, drugs, supplements, and additives on health outcomes; + +WHEREAS the development of an open, interoperable platform for health data sharing, combined with advanced AI-driven analysis, can revolutionize the understanding of health impacts and inform more effective and personalized healthcare decisions; + +NOW, THEREFORE, be it enacted by the Senate and House of Representatives of the United States of America in Congress assembled, that: + +## Section 1. Objective + +This Act mandates the Food and Drug Administration (FDA) to: +- Support the development and deployment of an AI agent to assist individuals and physicians in understanding the personal effects of foods, drugs, and supplements, and in making informed prescribing decisions. +- Ensure that the FDA does not obstruct the efforts of the sick or dying to find relief due to a lack of data. +- Make participation in clinical trials of experimental therapies effortless and cost-effective for the sick and dying, thereby accelerating the collection of safety and efficacy data. + +## Section 2. FDAi Platform + +The FDA shall fund and oversee the development of the FDAi Platform, an open-source repository and suite of tools designed to: +- Allow for the secure and voluntary sharing of time series data on symptom severity, medication and supplement intake, and dietary intake by individuals. +- Employ causal inference algorithms to generate mega-studies that elucidate the frequency and magnitude of symptoms and health outcomes following exposure to various foods, drugs, supplements, and additives. +- Facilitate the development of predictive models for the personalized effects of these substances on individual health outcomes. + +### Core Components +The FDAi Platform will comprise: +1. **Data Silo API Gateway Nodes:** To enable data exports from health apps and silos into PersonalFDA Nodes. +2. **PersonalFDA Nodes:** Local applications where individuals can securely store their health data and receive personalized insights from their Personal AI Agent. +3. **Clinipedia:** An open-access knowledge repository aggregating global data on the health effects of foods, drugs, supplements, and medical interventions. + +### OAuth2 API, Developer Portal, and SDKs + +The FDAi Platform shall provide: +- An OAuth2 API and a developer portal to enable any applications and wearable devices to register as data providers. +- SDKs to facilitate the integration of these applications and devices with the FDAi Platform, including mechanisms for users to easily share their health data. + +## Section 3. FDAi AI Agent + +#### Overview + +The FDAi Platform shall include the development of a Personal AI Agent to: +- Assist individuals in understanding the personal effects of the foods, drugs, and supplements they consume. +- Aid physicians in making informed prescribing decisions by providing access to personalized health insights and global mega-study findings. +- Clearly communicate the frequency and severity of all side effects associated with substances, focusing particularly on experimental therapies. +- Automate participation in clinical trials of experimental therapies, minimizing the financial burden on participants and researchers. +monitor patient health in real-time +- optimize individual health outcomes through advanced data analysis and AI-driven insights +- Help individuals understand the effects of the foods and drugs they consume. + +#### Target Audience +- Individuals seeking personalized health and wellness guidance. +- Patients with chronic conditions requiring ongoing management. +- Healthcare providers looking for data-driven patient management tools. + +#### Key Features + +1. **Personal Health Analysis and Recommendations** +- AI-driven analysis of health data from EHRs, wearables, dietary inputs, and genetic information. +- Personalized recommendations for diet, exercise, and lifestyle adjustments. +- Prediction of potential health issues based on data trends and historical patterns. + +2. **Dietary Analysis and Optimization** +- Analysis of dietary habits to identify potential triggers for health issues. +- Recommendations for dietary adjustments to mitigate symptoms of chronic conditions. +- Integration with dietary tracking apps and services for seamless data collection. + +3. **Real-time Health Monitoring** +- Continuous monitoring of health data via wearable devices. +- Alerts and recommendations in response to detected anomalies or potential health risks. +- Integration with health monitoring devices and apps. + +4. **Clinical Trial Connectivity** +- Matching patients with relevant clinical trials based on their health profile and preferences. +- Simplified enrollment and consent process within the FDAi agent interface. +- Direct delivery of trial medications and instructions to participants' homes. + +5. **Automated Research and Data Analysis** +- Aggregation and analysis of a wide range of health data for continuous research. +- Identification of public health trends and insights. +- Contribution to a global health data repository for research and analysis. + +**6. Browser-Extension-Based Autonomous Agent for Data Collection** +- **Functionality**: A browser extension that acts as an autonomous agent, capable of logging into user-authorized accounts to automatically download relevant health data, including pharmacy records, supplement receipts, grocery purchases, and more. +- **Data Sources Integration**: Compatibility with major pharmacies (e.g., CVS, Walgreens), online grocery platforms (e.g., Instacart, Amazon Fresh), and supplement retailers. +- **Security and Privacy**: Ensures user data is collected and transmitted securely, adhering to privacy regulations such as HIPAA and GDPR. Utilizes end-to-end encryption and requires explicit user consent for data access and collection. +- **User Control and Transparency**: Users have full control over which accounts the extension can access and what data it collects, with the ability to revoke access at any time. A clear, transparent log is provided to users, detailing what data has been collected and when. +- **Seamless Integration with FDAi System**: Collected data is seamlessly integrated +- **Browser Extension Development**: The extension will be developed for major browsers (Chrome, Firefox, Safari) to ensure broad accessibility. +- **Autonomous Navigation and Data Extraction**: Implementation of advanced algorithms to navigate websites, log in securely, download relevant documents, and extract key health data. +- **Compatibility and Interoperability**: Ensures compatibility with various online platforms for pharmacy data, grocery purchases, and supplement receipts, requiring ongoing updates to maintain access as platforms evolve. + +7. **Future Features** +- **Emotional and Cognitive Health Monitoring**: Use voice and facial recognition technology to assess emotional well-being and cognitive function, offering timely interventions for mental health support. +- **Genetic and Microbiome Analysis**: Integration with genetic testing and microbiome analysis services to provide deeper health insights and personalized recommendations. +- **Virtual Health Assistant Avatar**: A virtual avatar interface for more interactive and engaging user experiences, providing health advice, reminders, and companionship. +- **Blockchain-based Health Data Security**: Utilize blockchain technology for secure and tamper-proof storage of health data, ensuring privacy and data integrity. +- **Augmented Reality (AR) Health Visualization**: AR visualizations of health metrics and anatomical information for educational and diagnostic purposes. +- **Telehealth Integration**: Seamless integration with telehealth services for virtual consultations and health assessments. + +#### Evaluation Metrics + +To ensure the success and effectiveness of the FDAi Agent, we will use the following metrics for evaluation: + +**Data Collection Metrics:** +- **Efficiency of Data Collection**: This will be evaluated based on the speed and automation level of data collection processes. +- **Coverage of Data Collection**: This will be assessed based on the breadth (variety of data types) and depth (level of detail) of data collected. + +**User Experience Metrics:** +- **Ease of Setup**: User satisfaction with the initial setup process of the FDAi Agent. +- **Control Over Data Collection**: User satisfaction with their ability to control what data is collected and when. +- **Overall Usability**: General user satisfaction with the usability of the FDAi Agent, including its interface and features. + +**Health Recommendation Metrics:** +- **Accuracy of Health Recommendations**: This will be measured by comparing the FDAi Agent's recommendations with actual optimal health decisions. +- **Personalization of Health Recommendations**: This will be evaluated based on user feedback about the relevance and specificity of the health recommendations to their individual needs and conditions. + +**Engagement and Outcome Metrics:** +- **User Engagement Rates**: This will be tracked by measuring active usage of the FDAi Agent, such as frequency of use and duration of sessions. +- **User Satisfaction Rates**: This will be assessed through user surveys and feedback. +- **Clinical Trial Participation Rates**: This will be measured by the number of users who participate in clinical trials facilitated by the FDAi Agent. +- **Improvement in Health Outcomes**: This will be evaluated based on user feedback and analysis of health data, looking for positive changes in health conditions and lifestyle habits. + + + +## Section 4. Facilitating Access to Experimental Therapies + +a) **Clinical Trial Participation:** The FDA shall streamline the process for the sick and dying to participate in clinical trials of experimental therapies, with the aim of minimizing the financial burden on participants. + +b) **Rapid Data Collection:** The FDA shall prioritize the rapid collection and analysis of data from clinical trials to quickly determine the safety and efficacy of experimental treatments. + +c) **Transparent Reporting:** The FDA shall ensure that the results from clinical trials, including the efficacy and side effects of experimental treatments, are publicly reported in an understandable and accessible manner. + +The FDAi Act establishes a Bill of Patients' Rights, asserting that: +- The FDA shall not obstruct the efforts of the sick or dying to seek relief due to a lack of data. +- The FDA must facilitate effortless participation in clinical trials for experimental therapies, striving to minimize the cost burden on participants. +- Data collected from such clinical trials must be rapidly analyzed to determine the safety and efficacy of treatments, thereby informing both the participants and the wider public. + +## Section 5. Open Source and Collective Intelligence + +The FDAi Platform shall be developed as an open-source project to ensure transparency, foster innovation, and leverage collective intelligence in the pursuit of understanding health impacts and improving health outcomes. + +### Open-Source Development + +Leveraging open-source bounties to develop components of the FDA Innovation through Data and AI Act (FDAi Act) could potentially reduce costs, foster innovation, and accelerate development. Open-source bounties involve offering financial rewards for external developers to contribute to specific tasks or projects. This approach can tap into the global talent pool, bringing diverse perspectives and skills to the project. + +### Components Suitable for Open-Source Bounties + +1. **AI Development and Testing** + - Developing AI algorithms and models for analyzing health data could be highly suited for open-source contributions. Specific tasks, such as algorithm optimization, model training, and validation on public datasets, can be delineated and offered as bounties. + +2. **Infrastructure and Technology** + - Building the data storage, processing infrastructure, and cybersecurity measures could benefit from open-source collaboration, especially for components that do not require proprietary solutions. + +3. **Integration with Existing Systems** + - Creating APIs and integration tools for electronic health records (EHRs), wearable devices, and existing health databases could be accelerated through open-source contributions. + +4. **Open-Source Development Platform** + - The development of the platform itself, including tools for collaboration, version control, and a monorepo for the project, is inherently suitable for an open-source approach. + +5. **User Support and Training Material** + - Documentation, training materials, and support resources can be developed collaboratively, utilizing the knowledge and expertise of the open-source community. + +### Cost Savings and Considerations + +- **Reduced Personnel Costs:** By using open-source bounties, the project can significantly reduce the need for a large full-time staff, particularly for development and initial testing phases. This could potentially save tens to hundreds of millions of dollars, depending on the scale and complexity of the tasks. +- **Efficiency and Innovation:** Open-source contributions can bring in fresh ideas and innovative solutions from a wide array of talents globally. This diversity can lead to more efficient problem-solving and creative approaches. +- **Quality and Maintenance:** While open-source development can enhance innovation and reduce costs, it requires careful management to ensure the quality and security of contributions. Establishing a robust framework for reviewing, accepting, and integrating open-source contributions is essential. There might be ongoing costs associated with managing the open-source community, organizing bounty programs, and ensuring long-term maintenance and updates of the software. +- **Community Engagement:** Offering bounties can stimulate community engagement and investment in the project. However, building and maintaining an active open-source community also requires effort and resources, including community managers, documentation, and support. +- **Cost Savings Compared to Traditional Closed Source Approach** - Shifting significant portions of development to open-source bounties could reduce direct costs by 20% to 50% in the development phase. However, the exact savings would depend on the complexity of tasks outsourced, the effectiveness of community engagement, and the management of the open-source process. Costs related to community management, bounty administration, and quality control should be factored into the budget to ensure the success of the open-source development model. + + +## Section 6. Collaborating Projects + +The FDAi platform, as envisioned, would be designed to complement and enhance existing government health initiatives by providing a robust framework for data analysis, sharing, and privacy preservation. Tthe FDAi could be integrated with and support key programs such as the FDA's Global Substance Registry System, theSentinel Initiative, the All of Us Research Program, and other relevant initiatives. + +### Integration with the Global Substance Registry System (GSRS) + +The FDAi agent, as part of its core functionalities, is designed to synthesize and analyze vast amounts of data from diverse sources to provide actionable healthcare insights. Integrating the FDAi agent with the FDA's GSRS would significantly enhance the agent's ability to access and utilize detailed information on substances regulated by the FDA. GSRS, being a comprehensive database of substances, including drugs and their ingredients, could serve as a vital data source for the FDAi agent, enabling it to: + +1. **Access Up-to-date Information:** Ensure that the FDAi agent has access to the most current and comprehensive data on substances, including their chemical properties, uses, regulatory status, and safety information. This is crucial for the agent to provide accurate and personalized healthcare recommendations. + +2. **Improve Personalized Healthcare Recommendations:** Utilize detailed substance information from the GSRS to refine the FDAi agent's algorithms for personalized healthcare advice. For example, the agent could identify potential drug interactions, allergies, or contraindications based on a user's specific health profile and medication history. + +3. **Enhance Safety Monitoring:** Leverage GSRS data to enhance the FDAi agent's capabilities in monitoring and identifying potential safety issues related to substances. By analyzing real-world data and GSRS information, the agent could detect emerging safety signals much earlier, improving patient safety. + +4. **Support Regulatory Decisions:** Assist the FDA in making informed regulatory decisions by providing insights derived from the integration of GSRS data with other health data analyzed by the FDAi agent. This could lead to more efficient and evidence-based regulatory processes. + +5. **Accelerate Research and Development:** Enable more efficient identification of research gaps and opportunities by analyzing GSRS data alongside clinical and real-world evidence. This could help prioritize research efforts and support the development of new therapeutic options. + +The integration would require robust data governance and privacy measures to ensure secure and ethical use of data. Moreover, it would necessitate technical infrastructure capable of handling the complexities of merging GSRS data with the FDAi's decentralized AI-powered system, ensuring data integrity and reliability. + +Overall, integrating the FDAi agent with the GSRS would significantly amplify the agent's capabilities in providing personalized healthcare recommendations, enhancing drug safety monitoring, supporting regulatory decisions, and accelerating research and development, thereby fulfilling the FDAi's mission to revolutionize healthcare through the power of AI and decentralized data. + +### Integration with the FDA's Sentinel Initiative + +**Sentinel Initiative Background:** +The Sentinel Initiative is an FDA program aimed at monitoring the safety of FDA-regulated drugs, biologics, medical devices, and dietary supplements after they have reached the market. It uses a distributed data system to access electronic healthcare data from multiple sources while maintaining the privacy and security of this information. + +**FDAi Integration and Support:** +- **Enhanced Data Analysis:** The FDAi could provide advanced AI and machine learning tools to further analyze the vast data accessed by the Sentinel Initiative, identifying safety signals and trends more efficiently. +- **Predictive Modeling:** By incorporating predictive modeling capabilities, the FDAi platform could help the Sentinel Initiative forecast potential safety issues before they become widespread, allowing for proactive regulatory actions. +- **Data Sharing Mechanisms:** The FDAi's focus on privacy-preserving data sharing would enable a more seamless exchange of insights between the Sentinel system and other research entities, improving the collective understanding of drug safety. + +### Support for the All of Us Research Program + +**All of Us Research Program Background:** +The All of Us Research Program, part of the National Institutes of Health (NIH), aims to gather health data from one million or more people living in the United States to accelerate research and improve health by taking individual differences in lifestyle, environment, and biology into account. + +**FDAi Integration and Support:** +- **Voluntary Data Contribution:** Participants in the All of Us Research Program could opt to share their anonymized health data or insights derived from local analysis with the FDAi platform, enriching the data available for health research. +- **Targeted Research Support:** Insights gained from the FDAi platform could be used to inform specific research projects within the All of Us initiative, such as studies on the efficacy of personalized medicine approaches. +- **Collaborative Data Use:** The FDAi's emphasis on open-source development and collaborative research could foster joint projects between the All of Us program and FDA-regulated product developers, leveraging shared data to advance public health goals. + +### Integration with Other Government Health Initiatives + +**National Health and Nutrition Examination Survey (NHANES):** +- The FDAi could analyze NHANES data to identify broader public health trends and dietary supplement use patterns, supporting regulatory decisions and public health recommendations. + +**Centers for Disease Control and Prevention (CDC) Public Health Surveillance:** +- The FDAi platform could enhance CDC's surveillance activities by providing AI-driven analysis of health data trends, helping to identify emerging public health threats more quickly. + +**National Cancer Institute's Surveillance, Epidemiology, and End Results (SEER) Program:** +- By integrating cancer statistics and research findings from the SEER program, the FDAi could assist in identifying potential correlations between drug use and cancer outcomes, supporting both regulatory actions and cancer research. + +### Implementation Considerations + +To ensure successful integration and support of these initiatives, several key considerations must be addressed: +- **Data Privacy and Security:** Establishing stringent data privacy and security measures is crucial, especially when integrating data from various sources. +- **Interoperability Standards:** Developing and adhering to interoperability standards to facilitate data exchange and integration across different health data systems and initiatives. +- **Stakeholder Engagement:** Engaging with stakeholders from each initiative to understand their data needs, challenges, and how the FDAi platform can provide the most value. +- **Regulatory and Ethical Compliance:** Ensuring that all data sharing and analysis activities comply with relevant regulations and ethical guidelines. + +By addressing these considerations and leveraging the strengths of each initiative, the FDAi platform could significantly enhance health research and public health surveillance capabilities, ultimately leading to improved health outcomes for the population. + +## Section 7. Cost-Savings + +Research indicates that the widespread adoption of artificial intelligence (AI) in healthcare could result in significant cost savings. A study highlighted by CEPR suggests that within the next five years, utilizing current AI technology could save 5% to 10% of healthcare spending, translating to $200 to $360 billion annually. These savings are expected not to compromise the quality or accessibility of healthcare services; in fact, they might enhance the quality of healthcare experiences for patients. + +This substantial reduction in healthcare spending can be attributed to several factors facilitated by AI, including improved efficiency in healthcare delivery, enhanced accuracy in diagnosis and treatment planning, reductions in unnecessary interventions, and optimized resource allocation. AI's potential to transform healthcare through personalized medicine, early detection of diseases, and streamlined clinical trials aligns with the objectives of projects like the FDAi Act, suggesting that similar savings could be anticipated with its implementation. + +### Savings from Personalized Medicine and Early Detection + +Below we estimate the potential savings from everyone taking every possible preventative health measure with the aid of a superintelligent AI assistant. This involves several complex variables, including healthcare costs, the efficacy of preventative measures, and the adaptability of healthcare systems to AI technologies. + +### Framework for Estimation + +1. **Current Healthcare Spending**: Identify the total current healthcare spending in a given region, such as the United States. +2. **Preventable Costs**: Determine what percentage of this spending is related to preventable conditions, including chronic diseases that can be mitigated through early intervention, lifestyle changes, and other preventative measures. +3. **AI Intervention Efficacy**: Estimate the efficacy of a superintelligent AI in reducing the incidence of these preventable conditions through personalized health recommendations, early detection, and treatment optimization. +4. **Adoption and Compliance Rates**: Consider the rate at which people would adopt such AI technology and comply with its recommendations. + +### Assumptions + +- **Total Healthcare Spending**: According to data, U.S. healthcare spending reached approximately $4 trillion in recent years. +- **Preventable Costs**: Research suggests that about 75% of healthcare costs are related to chronic diseases, many of which are preventable. +- **AI Intervention Efficacy**: Let's conservatively assume that superintelligent AI could help reduce the costs associated with preventable conditions by 40%, given its ability to provide highly personalized healthcare guidance, promote early detection, and optimize treatment plans. +- **Adoption and Compliance Rates**: While difficult to predict, let's optimistically assume a high adoption and compliance rate of 80% due to the AI's superintelligence and ability to personalize interventions. + +### Calculation + +1. **Preventable Healthcare Spending**: 75% of $4 trillion = $3 trillion. +2. **Savings from AI Interventions**: 40% of $3 trillion = $1.2 trillion. +3. **Adjusted for Adoption and Compliance**: 80% of $1.2 trillion = $960 billion. + +### Conclusion + +The use of a superintelligent AI assistant for preventative health measures could potentially save up to $960 billion annually in healthcare costs in the United States alone. This figure does not account for the costs of developing, deploying, and maintaining such AI systems, nor does it consider the potential economic impacts of improved population health, such as increased productivity and reduced disability. + +## Section 7. Funding + +Congress shall allocate the necessary funds for the development, maintenance, and continual improvement of the FDAi Platform and its associated components. + +### Development Costs + +1. **AI Development and Testing** + - Research and development of AI algorithms: $150 million + - Testing and validation: $50 million + +2. **Infrastructure and Technology** + - Data storage and processing infrastructure: $100 million + - Cybersecurity measures: $50 million + - Development of the open-source platform: $30 million + +3. **Integration with Existing Systems** + - EHR system integration: $75 million + - Integration with wearable and monitoring devices: $50 million + - Collaboration with existing health data systems (e.g., GSRS, Sentinel Initiative): $25 million + +### Operational Costs + +1. **Personnel** + - Salaries for data scientists, AI specialists, and healthcare professionals: $200 million annually + - Administrative and support staff: $50 million annually + +2. **Data Acquisition and Management** + - Data acquisition costs: $30 million annually + - Data management and privacy compliance: $20 million annually + +3. **User Support and Training** + - Development and delivery of training programs: $40 million + - User support services: $20 million annually + +### Research and Development + +1. **Continuous Research and Data Analysis** + - Ongoing health outcome analysis and dietary effect studies: $100 million annually + - Development of predictive models and clinical trial support: $75 million annually + +2. **Clinical Trial Support** + - Facilitating user participation in clinical trials: $50 million annually + +### Regulatory Compliance and Ethical Oversight + +1. **Compliance and Legal Costs** + - Regulatory compliance and legal consultations: $30 million annually + - Ethical oversight committee operations: $10 million annually + +### Miscellaneous Costs + +1. **Contingency Fund** + - Unforeseen expenses and challenges: $50 million + +2. **Public Awareness and Engagement** + - Campaigns and community engagement: $20 million + +### Total Estimated Budget Summary + +- **Total Development Costs:** $530 million +- **Annual Operational Costs:** $370 million (excluding continuous research funding) +- **Annual Research and Development Costs:** $175 million +- **Annual Regulatory Compliance and Ethical Oversight:** $40 million +- **Miscellaneous Costs:** $70 million +- **Grand Total for Initial Year:** $1.185 billion +- **Subsequent Annual Costs:** $585 million (Operational, R&D, Compliance, excluding initial development costs) + +### Notes on the Budget + +- **Flexibility and Scalability:** The budget should be adaptable, with room for adjustments as the project progresses and as new technological advancements and partnerships emerge. +- **Public-Private Partnerships:** To offset costs, partnerships with private entities, research institutions, and international health organizations could be pursued. +- **Funding Sources:** Funding could come from federal allocations, grants, and potentially contributions from private sector stakeholders interested in advancing healthcare through AI. + +## Section 8. Effective Date + +This Act shall take effect immediately upon its passage, with the initial release of the FDAi Platform scheduled for no later than two years from the date of enactment. diff --git a/docs/fdai-act/objectives.md b/docs/fdai-act/objectives.md deleted file mode 100644 index 028de6837..000000000 --- a/docs/fdai-act/objectives.md +++ /dev/null @@ -1,53 +0,0 @@ -# FDAi Act Objectives - -### Summary: - -This bill highlights the urgency and necessity of leveraging AI and data analysis to improve health outcomes and decision-making. It emphasizes the FDA's role in facilitating access to experimental therapies and minimizing barriers for those in urgent need, with a strong focus on transparency, rapid data collection, and personalized health insights. - ---- - -### Preamble - -WHEREAS the safety, efficacy, and personalized understanding of the impacts of foods, drugs, supplements, and additives are critical to improving health outcomes; - -WHEREAS the rapid collection and analysis of health data through advanced technologies can accelerate the discovery of effective treatments, particularly for the sick and dying; - -WHEREAS the use of artificial intelligence (AI) can significantly enhance the ability of individuals and physicians to make informed health decisions; - -WHEREAS the Food and Drug Administration (FDA) has a responsibility to facilitate access to experimental therapies, minimizing bureaucratic and financial barriers for those in urgent need of relief; - -NOW, THEREFORE, be it enacted by the Senate and House of Representatives of the United States of America in Congress assembled, that: - -### Section 1. Objective - -This Act mandates the Food and Drug Administration (FDA) to: -- Support the development and deployment of an AI agent to assist individuals and physicians in understanding the personal effects of foods, drugs, and supplements, and in making informed prescribing decisions. -- Ensure that the FDA does not obstruct the efforts of the sick or dying to find relief due to a lack of data. -- Make participation in clinical trials of experimental therapies effortless and cost-effective for the sick and dying, thereby accelerating the collection of safety and efficacy data. - -### Section 2. AI Agent Development and Deployment - -a) **AI Agent Development:** The FDA shall oversee the development of an advanced AI agent designed to analyze individual health data, including symptoms, medication and supplement intake, and dietary intake, to provide personalized health insights and recommendations. - -b) **Functionality:** The AI agent shall: -- Help individuals understand the effects of the foods and drugs they consume. -- Assist physicians in making informed prescribing decisions based on personalized health data and global insights from mega-studies. -- Clearly communicate the frequency and severity of potential side effects of all treatments, including experimental therapies. - -c) **Accessibility:** The AI agent shall be made accessible to the public, with user-friendly interfaces for both individuals and healthcare providers. - -### Section 3. Facilitating Access to Experimental Therapies - -a) **Clinical Trial Participation:** The FDA shall streamline the process for the sick and dying to participate in clinical trials of experimental therapies, with the aim of minimizing the financial burden on participants. - -b) **Rapid Data Collection:** The FDA shall prioritize the rapid collection and analysis of data from clinical trials to quickly determine the safety and efficacy of experimental treatments. - -c) **Transparent Reporting:** The FDA shall ensure that the results from clinical trials, including the efficacy and side effects of experimental treatments, are publicly reported in an understandable and accessible manner. - -### Section 4. Implementation and Oversight - -a) **Guidelines:** The FDA shall develop guidelines for the development and implementation of the AI agent, ensuring that it meets high standards for accuracy, privacy, and security. - -b) **Monitoring and Evaluation:** The FDA shall regularly monitor and evaluate the performance of the AI agent, making adjustments as necessary to improve its functionality and usefulness. - -c) **Collaboration:** The FDA is encouraged to collaborate with technology companies, academic institutions, and healthcare organizations in the development and deployment of the AI agent. diff --git a/docs/fdai-act/platform.md b/docs/fdai-act/platform.md deleted file mode 100644 index 307bea82f..000000000 --- a/docs/fdai-act/platform.md +++ /dev/null @@ -1,69 +0,0 @@ -# FDAi Platform - -### Summary: - -This Act envisions a future where the collective health intelligence of the population is harnessed through cutting-edge technology, significantly advancing the FDA's ability to fulfill its mandate of ensuring the safety and efficacy of foods, drugs, supplements, and additives. - ---- - -### Preamble - -WHEREAS the Food and Drug Administration (FDA) is mandated to ensure the safety and efficacy of food, drugs, supplements, and additives consumed by the American public; - -WHEREAS the current methodologies for assessing the long-term impacts of these substances are limited and do not fully leverage the potential of modern data analysis and artificial intelligence technologies; - -WHEREAS the rapid and inclusive collection of longitudinal health data from a diverse population is crucial for understanding the personalized effects of foods, drugs, supplements, and additives on health outcomes; - -WHEREAS the development of an open, interoperable platform for health data sharing, combined with advanced AI-driven analysis, can revolutionize the understanding of health impacts and inform more effective and personalized healthcare decisions; - -NOW, THEREFORE, be it enacted by the Senate and House of Representatives of the United States of America in Congress assembled, that: - -### Section 1. FDAi Platform Development - -The FDA shall fund and oversee the development of the FDAi Platform, an open-source repository and suite of tools designed to: -- Allow for the secure and voluntary sharing of time series data on symptom severity, medication and supplement intake, and dietary intake by individuals. -- Employ causal inference algorithms to generate mega-studies that elucidate the frequency and magnitude of symptoms and health outcomes following exposure to various foods, drugs, supplements, and additives. -- Facilitate the development of predictive models for the personalized effects of these substances on individual health outcomes. - -### Section 2. AI Agent for Personalized Health Insights - -The FDAi Platform shall include the development of a Personal AI Agent to: -- Assist individuals in understanding the personal effects of the foods, drugs, and supplements they consume. -- Aid physicians in making informed prescribing decisions by providing access to personalized health insights and global mega-study findings. -- Clearly communicate the frequency and severity of all side effects associated with substances, focusing particularly on experimental therapies. - -### Section 3. Bill of Patients' Rights - -The FDAi Act establishes a Bill of Patients' Rights, asserting that: -- The FDA shall not obstruct the efforts of the sick or dying to seek relief due to a lack of data. -- The FDA must facilitate effortless participation in clinical trials for experimental therapies, striving to minimize the cost burden on participants. -- Data collected from such clinical trials must be rapidly analyzed to determine the safety and efficacy of treatments, thereby informing both the participants and the wider public. - -### Section 4. OAuth2 API, Developer Portal, and SDKs - -The FDAi Platform shall provide: -- An OAuth2 API and a developer portal to enable any applications and wearable devices to register as data providers. -- SDKs to facilitate the integration of these applications and devices with the FDAi Platform, including mechanisms for users to easily share their health data. - -### Section 5. FDAi Platform Components - -The FDAi Platform will comprise: -1. **Data Silo API Gateway Nodes:** To enable data exports from health apps and silos into PersonalFDA Nodes. -2. **PersonalFDA Nodes:** Local applications where individuals can securely store their health data and receive personalized insights from their Personal AI Agent. -3. **Clinipedia:** An open-access knowledge repository aggregating global data on the health effects of foods, drugs, supplements, and medical interventions. - -### Section 6. Open Source and Collective Intelligence - -The FDAi Platform shall be developed as an open-source project to ensure transparency, foster innovation, and leverage collective intelligence in the pursuit of understanding health impacts and improving health outcomes. - -### Section 7. Funding - -Congress shall allocate the necessary funds for the development, maintenance, and continual improvement of the FDAi Platform and its associated components. - -### Section 8. Effective Date - -This Act shall take effect immediately upon its passage, with the initial release of the FDAi Platform scheduled for no later than two years from the date of enactment. - ---- - - diff --git a/docs/fdai-act/product-requirements-document.md b/docs/fdai-act/product-requirements-document.md deleted file mode 100644 index 2d89a43f1..000000000 --- a/docs/fdai-act/product-requirements-document.md +++ /dev/null @@ -1,85 +0,0 @@ -### FDAi Agent Product Requirements Document (PRD) - -#### Overview -The FDAi Agent is an AI-powered digital health assistant designed to provide personalized healthcare recommendations, monitor patient health in real-time, and facilitate participation in clinical trials. Its goal is to optimize individual health outcomes through advanced data analysis and AI-driven insights. - -#### Target Audience -- Individuals seeking personalized health and wellness guidance. -- Patients with chronic conditions requiring ongoing management. -- Healthcare providers looking for data-driven patient management tools. - -#### Key Features - -1. **Personal Health Analysis and Recommendations** - - AI-driven analysis of health data from EHRs, wearables, dietary inputs, and genetic information. - - Personalized recommendations for diet, exercise, and lifestyle adjustments. - - Prediction of potential health issues based on data trends and historical patterns. - -2. **Dietary Analysis and Optimization** - - Analysis of dietary habits to identify potential triggers for health issues. - - Recommendations for dietary adjustments to mitigate symptoms of chronic conditions. - - Integration with dietary tracking apps and services for seamless data collection. - -3. **Real-time Health Monitoring** - - Continuous monitoring of health data via wearable devices. - - Alerts and recommendations in response to detected anomalies or potential health risks. - - Integration with health monitoring devices and apps. - -4. **Clinical Trial Connectivity** - - Matching patients with relevant clinical trials based on their health profile and preferences. - - Simplified enrollment and consent process within the FDAi agent interface. - - Direct delivery of trial medications and instructions to participants' homes. - -5. **Automated Research and Data Analysis** - - Aggregation and analysis of a wide range of health data for continuous research. - - Identification of public health trends and insights. - - Contribution to a global health data repository for research and analysis. - -6. **Futuristic Features** - - **Emotional and Cognitive Health Monitoring**: Use voice and facial recognition technology to assess emotional well-being and cognitive function, offering timely interventions for mental health support. - - **Genetic and Microbiome Analysis**: Integration with genetic testing and microbiome analysis services to provide deeper health insights and personalized recommendations. - - **Virtual Health Assistant Avatar**: A virtual avatar interface for more interactive and engaging user experiences, providing health advice, reminders, and companionship. - - **Blockchain-based Health Data Security**: Utilize blockchain technology for secure and tamper-proof storage of health data, ensuring privacy and data integrity. - - **Augmented Reality (AR) Health Visualization**: AR visualizations of health metrics and anatomical information for educational and diagnostic purposes. - - **Telehealth Integration**: Seamless integration with telehealth services for virtual consultations and health assessments. - -#### Technical Specifications - -- **Platform Compatibility**: Cross-platform (iOS, Android, Web) compatibility for broad accessibility. -- **Data Integration**: APIs and connectors for integration with EHRs, wearables, dietary tracking apps, and health services. -- **Security and Privacy**: Compliance with HIPAA and GDPR, using end-to-end encryption for data transmission and storage. -- **AI and Machine Learning**: Use of state-of-the-art AI models for data analysis, personalized recommendations, and predictive analytics. -- **User Interface**: Intuitive and user-friendly interface, with accessibility features for users with disabilities. - -#### Evaluation Metrics - -- User engagement and satisfaction rates. -- Accuracy of health recommendations and predictions. -- Participation rates in clinical trials. -- Improvement in health outcomes based on user feedback and health data analysis. - -### Browser-Extension-Based Autonomous Agent - -#### Overview -The FDAi Agent is an AI-powered digital health assistant aimed at optimizing individual health outcomes through personalized healthcare recommendations. It leverages advanced data analysis, AI-driven insights, and a novel browser-extension-based autonomous agent for versatile data collection. - -#### Key Features Addition - -**7. Browser-Extension-Based Autonomous Agent for Data Collection** -- **Functionality**: A browser extension that acts as an autonomous agent, capable of logging into user-authorized accounts to automatically download relevant health data, including pharmacy records, supplement receipts, grocery purchases, and more. -- **Data Sources Integration**: Compatibility with major pharmacies (e.g., CVS, Walgreens), online grocery platforms (e.g., Instacart, Amazon Fresh), and supplement retailers. -- **Security and Privacy**: Ensures user data is collected and transmitted securely, adhering to privacy regulations such as HIPAA and GDPR. Utilizes end-to-end encryption and requires explicit user consent for data access and collection. -- **User Control and Transparency**: Users have full control over which accounts the extension can access and what data it collects, with the ability to revoke access at any time. A clear, transparent log is provided to users, detailing what data has been collected and when. -- **Seamless Integration with FDAi System**: Collected data is seamlessly integrated into the FDAi system for comprehensive analysis, enhancing the personalization of health recommendations and insights. - -#### Technical Specifications - -- **Browser Extension Development**: The extension will be developed for major browsers (Chrome, Firefox, Safari) to ensure broad accessibility. -- **Autonomous Navigation and Data Extraction**: Implementation of advanced algorithms to navigate websites, log in securely, download relevant documents, and extract key health data. -- **Compatibility and Interoperability**: Ensures compatibility with various online platforms for pharmacy data, grocery purchases, and supplement receipts, requiring ongoing updates to maintain access as platforms evolve. - -#### Evaluation Metrics - -- **Efficiency and Coverage of Data Collection**: Evaluation based on the breadth and depth of data collected through the browser extension. -- **User Feedback on Extension Usability**: User satisfaction with the ease of setup, control over data collection, and overall usability of the browser extension. -- **Impact on Health Recommendation Accuracy**: Improvement in the accuracy and personalization of health recommendations due to the integration of additional data sources. diff --git a/docs/images/exclusion-chart.xlsx b/docs/images/exclusion-chart.xlsx new file mode 100644 index 000000000..7707924f8 Binary files /dev/null and b/docs/images/exclusion-chart.xlsx differ diff --git a/docs/treaty/cost-of-disease.md b/docs/treaty/cost-of-disease.md new file mode 100644 index 000000000..52e80e9a8 --- /dev/null +++ b/docs/treaty/cost-of-disease.md @@ -0,0 +1,69 @@ +# Global Cost Of Disease + +The **$244 trillion** annual total global cost of disease is a comprehensive measure that encompasses direct healthcare costs, indirect economic losses, and the $100k valuation of a Year of Life Lost (YLL) and a $100k valuation Disability-Adjusted Life Year (DALYs). + +## Direct Healthcare Costs + +- **Direct Annual Healthcare Expenditures:** $8.5 trillion, representing the cost of medical treatments, medications, hospital stays, and other healthcare services. + +## Indirect Economic Losses + +- **Indirect Annual Economic Losses:** $4.7 trillion, reflecting the broader economic impact of diseases on productivity and output. + +## Economic Valuation of YLL and DALYs + +The value assigned to a Year of Life Lost (YLL) and a Disability-Adjusted Life Year (DALY) can vary significantly depending on the context, purpose of the valuation, and the economic framework applied. These values are used in health economics to inform public health policy, prioritize healthcare interventions, and allocate resources efficiently. The methodology and the specific value can differ by country, healthcare system, and the economic conditions of the area under consideration. + +### Value of a YLL + +The value of a YLL typically reflects the economic loss associated with premature mortality. This can be based on potential future earnings lost due to early death or the willingness to pay to reduce the risk of dying prematurely. The approach can vary: + +- **Human Capital Approach:** Often calculates lost future earnings, sometimes adjusted for factors like expected work-life years remaining and productivity growth rates. +- **Value of Statistical Life (VSL):** Based on individuals' willingness to pay for marginal reductions in their risk of dying. VSL is widely used in policy settings and can vary greatly between countries and within countries over time, often ranging from a few million to tens of millions of dollars. + +### Value of a DALY + +The value of a DALY attempts to quantify the burden of both morbidity and mortality. It integrates the value of life years lost due to premature death and the value of life years lived with disability. Valuing a DALY can follow similar principles to valuing a YLL but also considers the costs and quality of life associated with living with disabilities and diseases. Like YLL, the valuation methods can include: + +- **Cost of Illness (COI):** Incorporates direct medical costs, indirect costs like lost productivity, and sometimes intangible costs related to pain and suffering. +- **Willingness to Pay (WTP):** Estimates based on how much individuals are willing to pay for interventions that reduce the risk of illness or disability. + +### Typical Values + +While specific monetary values can vary widely, a common approach in international health policy analysis is to value a DALY at 1 to 3 times the gross domestic product (GDP) per capita of a country. This approach provides a benchmark that adjusts for the economic conditions of the country. For instance, in a country with a GDP per capita of $50,000, a DALY might be valued between $50,000 and $150,000. + + +### Economic Valuation of Excess Mortality (YLL) + +To monetize YLL, we adopt a conservative value that reflects the economic loss due to premature mortality. Assuming an average income approach or a statistical value of life approach, we might assign a figure like $100,000 per YLL. If we base our calculation on the WHO's reported 63 million excess deaths annually: + +- **YLL Economic Valuation:** $100,000 per YLL * YLLs (calculated from 63 million excess deaths with an average YLL estimate per death). + +### Economic Valuation of Morbidity and Disability (DALYs) + +For DALYs, which combine YLL with Years Lived with Disability (YLD), we use a similar valuation approach. Assigning a value to each DALY reflects the cost of both premature death and living with disability. Assuming $100,000 per DALY as a conservative estimate: + +- **DALY Economic Valuation:** $100,000 per DALY * 1.68 billion DALYs. + +## Total Annual Economic Impact: Calculations + +For YLL, assuming an average of 10 years lost per death, and for DALYs, directly applying the $100,000 valuation: + +1. **YLL Economic Impact:** Assuming 63 million excess deaths and an average YLL per death, with a specific valuation per YLL. +2. **DALY Economic Impact:** 1.68 billion DALYs valued at $100,000 each. + +These calculations provide us with a monetary estimate of the total global burden of disease, incorporating both health outcomes and direct plus indirect economic losses. + +The calculations incorporating economic valuations for Years of Life Lost (YLL) and Disability-Adjusted Life Years (DALYs) yield the following insights into the global disease burden: + +- **Economic Impact of Excess Mortality (YLL):** $63 trillion, based on the valuation of years of life lost due to premature mortality. +- **Economic Impact of Morbidity and Disability (DALYs):** $168 trillion, reflecting the combined cost of premature death and living with disability. + +This leads to a **Total Annual Economic Impact** of the global disease burden of approximately $244.2 trillion. This total encompasses: + +- Direct Healthcare Costs: $8.5 trillion +- Indirect Economic Losses: $4.7 trillion +- Economic Valuation of YLL: $63 trillion +- Economic Valuation of DALYs: $168 trillion + + diff --git a/docs/treaty/cost-of-war.md b/docs/treaty/cost-of-war.md new file mode 100644 index 000000000..c1b84dc76 --- /dev/null +++ b/docs/treaty/cost-of-war.md @@ -0,0 +1,41 @@ +# The Annual Cost of War + +## Direct Annual Costs of War: + +1. **Military Expenditure: $1,981 billion.** This reflects the total global spending on armed forces, including salaries, operations, maintenance, and procurement of weapons and equipment. +2. **Economic Impact of Conflict: $521 billion.** Costs incurred due to the immediate effects of war, such as destruction of property, loss of life, and the displacement of people. +3. **Infrastructure Destruction: $1,875 billion.** Represents the cost to repair or replace infrastructure damaged or destroyed during conflicts, including roads, bridges, and utilities. +4. **Trade and Investment Disruption: $616 billion.** Estimated losses from interruptions in trade flows and deterred investments in conflict zones or areas under threat. + +## Indirect Annual Costs of War: + +1. **Human Costs: $1,000 billion (using statistical value of life).** Calculated by applying a monetary value to the loss of life, this figure represents the cost of human casualties of war. +2. **Opportunity Costs: Lost economic benefits from military spending.** Resources spent on military endeavors could have been used for other societal needs, such as education or healthcare. +3. **Multiplier Effect: Additional economic activity from productive investment.** Reflects the lost economic growth that could have been generated if resources were invested in productive sectors rather than military spending. +4. **Long-term Healthcare for Veterans: $200 billion.** Costs associated with providing ongoing medical care, rehabilitation, and support services to veterans injured during military service. +5. **Psychological Impacts on Populations: $100 billion.** Expenses related to treating mental health issues like PTSD, depression, and anxiety stemming from the trauma of war. +6. **Loss of Human Capital: $300 billion.** Economic impact of losing skilled and productive individuals to conflict, affecting the workforce and future earning potentials. +7. **Environmental Degradation: $100 billion.** Costs to address environmental damage caused by warfare, including land degradation, pollution, and loss of biodiversity. +8. **Refugee Support: $150 billion.** Expenses for providing assistance to refugees, including shelter, food, healthcare, and integration services. + +## Calculations: + +- **Human Cost of War:** `Annual Deaths × Statistical Value of Life` +- **Total Direct Costs:** `Military Expenditure + Economic Impact of Conflict + Infrastructure Destruction + Trade and Investment Disruption` +- **Total Indirect Costs:** `Human Costs + Long-term Healthcare for Veterans + Psychological Impacts on Populations + Loss of Human Capital + Environmental Degradation + Refugee Support` +- **Updated Total Annual Cost of War:** `Total Direct Costs + Total Indirect Costs` + +### Total Annual Cost of War: + +- **Direct Costs Total:** $4,993 billion. +- **Indirect Costs Total:** $2,245.25 billion. +- **Updated Total Annual Cost:** $7,238.25 billion. + +### Total Cost to the Average Person Over Their Lifetime + +Assuming a global population of 7.8 billion and an average lifespan of 80 years: + +1. **Annual Per Capita Cost:** $7,238.25 billion / 7.8 billion = $928.24 +2. **Lifetime Cost Per Person:** $928.24 × 80 years = $74,259.2 + +The comprehensive annual cost of war, factoring in both direct and indirect costs, is approximately $7,238.25 billion. This equates to $74,259.2 per person over an 80-year lifespan. diff --git a/docs/treaty/logical-treaty.md b/docs/treaty/logical-treaty.md new file mode 100644 index 000000000..431e5471a --- /dev/null +++ b/docs/treaty/logical-treaty.md @@ -0,0 +1,92 @@ +# LOGICAL Treaty + +## Facts: + +1. **2 billion people suffer** from chronic diseases including cancer, diabetes, heart disease, autoimmune disorders, and many others. This causes immense human anguish as well as crippling economic costs. +2. **Medical research** to find cures for these diseases remains far **too slow** to meet the desperate needs of patients. +3. **Artificial intelligence** can radically accelerate the clinical research process by **automating **analysis of medical data, identifying promising drug targets, optimizing clinical trial designs, and more. +4. A global collaborative effort to deploy AI to automate clinical research, coordinated and governed by the people, could produce revolutionary breakthroughs against chronic diseases and **alleviate the suffering of billions of people.** + +## Logical Proof: + +Here is the logical proof that signing this accord is the most rational thing you can do with the next few moments of your life: + +1. Governments currently spend over $2 trillion per year on their militaries. They don’t do this because they like blowing up other people and their stuff. They do this to maintain the balance of power against other nations that might blow them up. + +2. However, if every nation agreed to reallocate just 1% of their annual military expenditures to a global medical research fund: + + * The relative balance of power would remain unchanged. So, despite spending less on the military, they would be at no greater relative risk of being murdered by another country. + * The entire world would benefit from the resulting health advances and cures for diseases. + +3. Therefore, it is clearly in your rational self-interest to sign this treaty requesting that all nations to cooperate in this endeavor. By contributing a infinitesimal portion of their military budgets, they can help unlock revolutionary health benefits for their own citizens and the world at large. + +## How it Works: + +1. Every participating nation will pledge **1% of its annual military budget** to the Global AI Health Research Fund. For example, if global military spending is $2 trillion per year, this would create a $20 billion annual fund. Participation from all nations is essential to maintain geopolitical stability. +2. The **fund will support AI-driven research projects** aimed at discovering new treatments, cures, and early-detection methods for cancer, heart disease, diabetes, Alzheimer’s, and other chronic diseases that take the heaviest toll on human health worldwide. +3. Research institutions, medical centers, and AI labs around the world will be invited to **submit project proposals** to the fund. These proposals will be reviewed and ranked by a global panel of experts based on their scientific merit, feasibility, and potential impact. +4. However, the final decision on which projects receive funding will be **made democratically** by the global public. Using a platform similar to Gitcoin, anyone in the world will be able to vote on the proposals they believe hold the most promise. This crowdsourced approach ensures that the fund remains accountable to the people and focused on the projects that matter most to them. +5. All research findings and data generated through the fund will be made openly available in real-time to the global scientific community, **accelerating progress** and enabling rapid translation of discoveries into new medicines and improved clinical practices worldwide. +6. Participating nations and research institutions will collaborate continuously through a state-of-the-art online platform, sharing knowledge, best practices, and resources to **maximize the impact of every research dollar** and speed the deployment of new health solutions to patients everywhere. + +By combining the power of AI, the resources of global crowdfunding, and the collective wisdom of the world’s people, we can transform the fight against chronic disease. The resulting breakthroughs will improve health, extend lives, boost economies, and benefit every nation on Earth. + +# Cost of War + +The direct and indirect costs of war come out to [$74,259](cost-of-war.md) per person over an 80-year lifespan. + +# Cumulative Savings from Decreased Annual Cost of War + +Reducing spending on war by 1% annually would reduce the per-person costs by [$22,969](savings-from-1-percent-less-war.md) over an 80-year lifespan. + +# Cost of Disease + +The **$244 trillion** total global annual cost of disease is a comprehensive measure that encompasses direct healthcare costs, indirect economic losses, and the $100k valuation of a Year of Life Lost (YLL) and a $100k valuation Disability-Adjusted Life Year (DALYs). + +# Redirecting 1% of Military Spending to Healthcare Innovation + + By redirecting just 1% of war spending each year to using AI to automate clinical research and personalized, preventive, precision medicine over 80 years, we would save lives, reduce disability, and significantly impact the global economy. The monetary benefit of this shift would be approximately [$1,235,443](value-of-automating-research.md) per person over 80 years. + +# Total Net Benefit of Less War and More Cures + +The total combined per capita net benefit of redirecting 1% of military spending to healthcare innovation over 80 years would be [$1,258,412](value-of-automating-research.md). + +This is calculated by adding the [$22,969](savings-from-1-percent-less-war.md) savings from decreased annual cost of war to the [$1,235,443](value-of-automating-research.md) benefit of reducing the burden of chronic disease. + +# $1,258,412 for 5 Hours of Your Time + +Historical examples show that petitions with support from over **1% of the population** have a high likelihood of being adopted. + +So all you have to do is + +## Factors Influencing Time Investment + +1. **Number of Friends:** The average number of significant relationships one might actively maintain, often cited as Dunbar's number, is around 150. + +2. **Method of Communication:** Personal messages or emails are considered for this estimation, assuming they strike a balance between personal touch and efficiency. + +3. **Time Per Friend:** It's estimated that drafting and sending a personal message or email would take approximately 2 minutes per friend. This includes the time to write the message and possibly tailor it slightly for each friend. + +## Calculation + +Given the average number of friends (150) and the estimated time per friend (2 minutes), the total time investment can be calculated as follows: + +- **Total Friends:** 150 +- **Time per Friend:** 2 minutes + +Total Time = Number of Friends × Time per Friend += 150 friends × 2 minutes/friend += 300 minutes + +Converting this into hours: + +Total Time in Hours = Total Time in Minutes / 60 += 300 minutes / 60 += 5 hours + +Based on this estimation, an average person would need to invest approximately 5 hours to individually reach out to all 150 of their friends via personal messages or emails about the treaty. This calculation assumes a brief but personalized communication method, emphasizing the importance of each conversation in promoting global initiatives. + +# References + +https://watson.brown.edu/costsofwar/costs +https://www.carnegie.org/our-work/article/costs-war/ diff --git a/docs/treaty/savings-from-1-percent-less-war.md b/docs/treaty/savings-from-1-percent-less-war.md new file mode 100644 index 000000000..9a0ec39cd --- /dev/null +++ b/docs/treaty/savings-from-1-percent-less-war.md @@ -0,0 +1,27 @@ +## Cumulative Savings from Decreased Annual Cost of War + +Given the initial annual cost of war is approximately $7,238.25 billion, we explore the scenario where this cost decreases by 1% every year for 80 years. This decrease reflects potential efficiencies, peacekeeping successes, and the reallocation of resources towards more productive and peaceful endeavors. Here's how the calculations unfold: + +## Assumptions for Cumulative Reduced War Costs Calculation: + +- **Initial Annual Cost of War:** $7,238.25 billion. +- **Annual Decrease Rate:** 1% per year. +- **Duration:** 80 years. +- **Global Population:** 7.8 billion. + +## 80 Year Cumulative Reduced War Cost Calculations: + +1. **Total Cost with Decrease:** We calculate the total cost over 80 years, taking into account the 1% annual decrease. This involves summing up the cost for each year, where each subsequent year's cost is 1% less than the previous year's. + +2. **Total Cost without Decrease:** For comparison, we calculate what the total cost would have been if it remained constant at $7,238.25 billion per year over 80 years. + +3. **Cumulative Savings:** The difference between the total cost without the decrease and the total cost with the decrease gives us the cumulative savings over 80 years. + +4. **Per Capita Savings:** To determine the impact on an individual level, we divide the cumulative savings by the global population of 7.8 billion. + +## 80 Year Cumulative Reduced War Costs: + +- **Cumulative Savings:** $179.16 trillion +- **Per Capita Savings:** $22,969.68 per person + +By reducing the annual cost of war by a modest 1% annually over the course of 80 years, the global community could save $179 trillion, translating to almost $23,000 in savings per person. diff --git a/docs/treaty/value-of-automating-research.md b/docs/treaty/value-of-automating-research.md new file mode 100644 index 000000000..8f0b67b75 --- /dev/null +++ b/docs/treaty/value-of-automating-research.md @@ -0,0 +1,31 @@ +# The Using AI to Automate Clinical Research and Drug Development + +By redirecting 1% of military spending to automating clinical research with AI, we could enjoy a future where diseases are not just managed but potentially eradicated. + +## AGI and ASI in Healthcare + +Artificial General Intelligence (AGI) and Artificial Superintelligence (ASI) represent the pinnacle of AI development, with the capability to understand, learn, and perform intellectual tasks at a level equal to or surpassing human intelligence. In healthcare, this translates to unprecedented diagnostic accuracy, treatment personalization, and drug discovery speeds. The potential of these technologies to automate and improve every facet of medical research and patient care is immense. + +## Economic Implications + +The global cost of disease, currently estimated at approximately [$244 trillion](cost-of-disease.md) annually, embodies both direct healthcare expenses and indirect costs, such as lost productivity. Integrating AGI and ASI into healthcare systems could significantly reduce these costs by improving operational efficiencies, accelerating drug development, enhancing treatment outcomes, and advancing preventive medicine. + +### Assumptions for Economic Analysis + +1. **Operational Efficiencies and Drug Development:** AGI and ASI could lead to a 50% reduction in operational costs and drug development expenses through automation and intelligent optimizations. + +2. **Treatment Outcomes:** The integration of AGI and ASI is projected to improve treatment outcomes by 50%, substantially reducing the need for repeat treatments and mitigating complications. + +3. **Preventive Medicine:** With superior predictive capabilities, AGI and ASI could enhance early disease detection rates by 35%, leading to a 30% reduction in the costs of treating these conditions. + +### Projected Economic Benefits + +Under these assumptions, the potential for AI to transform healthcare and clinical research is quantified in a projected savings analysis: + +- **Cumulative Cost Reductions:** Assuming a 50% reduction in the global disease burden over 80 years, the annual savings could amount to $9.76 trillion, highlighting the significant economic impact of these technologies. + +- **Per Capita Benefit:** This reduction translates into a per capita benefit of approximately $1,235,443 over the 80-year period, illustrating the widespread economic advantages of adopting advanced AI in healthcare. + +## A Future Forged by Intelligence + +Investing in AI research and development, fostering interdisciplinary collaborations, and establishing policies that promote innovation while protecting individual rights are crucial steps toward harnessing the benefits of AGI and ASI for healthcare. As we stand on the brink of a new era in medical science, the promise of a healthier, more prosperous future is within our grasp, guided by the intelligence of machines designed to save lives. diff --git a/libs/text-2-measurements/src/lib/statement-2-measurements.ts b/libs/text-2-measurements/src/lib/statement-2-measurements.ts index a857d2b38..464e425be 100644 --- a/libs/text-2-measurements/src/lib/statement-2-measurements.ts +++ b/libs/text-2-measurements/src/lib/statement-2-measurements.ts @@ -7,9 +7,26 @@ import { } from "typechat"; import { Measurement } from "./measurementSchema"; import { MeasurementSet } from "./measurementSchema"; +function findEnvFile(startPath: string): string | null { + let currentPath = startPath; -// TODO: use local .env file. -config({ path: path.join(__dirname, "../../.env") }); + while (currentPath !== path.parse(currentPath).root) { + const envPath = path.join(currentPath, '.env'); + if (fs.existsSync(envPath)) { + return envPath; + } + currentPath = path.dirname(currentPath); + } + + return null; +} + +const envPath = findEnvFile(__dirname); +if (envPath) { + config({ path: envPath }); +} else { + throw Error('.env file not found'); +} const model = createLanguageModel(process.env); let viewSchema = fs.readFileSync( @@ -58,7 +75,7 @@ function printMeasurementSet(measurementSet: MeasurementSet) { for (const measurement of measurementSet.measurements) { if(isMeasurement(measurement)) { const s = ` - ${measurement.value} ${measurement.unitName} ${measurement.variableName} + ${measurement.value} ${measurement.unitName} ${measurement.variableName} ${measurement.startTimeLocal} ${measurement.variableCategoryName}`; console.log(s); continue; diff --git a/package.json b/package.json index 9dae63f5b..075edd7d8 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,8 @@ "underscore.string": "^3.3.6" }, "devDependencies": { + "@aws-sdk/client-s3": "^3.521.0", + "@aws-sdk/lib-storage": "^3.521.0", "@babel/preset-react": "^7.14.5", "@nrwl/cli": "15.9.2", "@nrwl/cypress": "15.9.2", @@ -79,6 +81,7 @@ "jest-environment-node": "^29.4.1", "json2csv": "^6.0.0-alpha.2", "jsonc-eslint-parser": "^2.1.0", + "mime-types": "^2.1.35", "nx": "15.9.2", "openai": "^3.2.1", "prettier": "^2.6.2", diff --git a/scripts/chrome-extension-builder.js b/scripts/chrome-extension-builder.js new file mode 100644 index 000000000..e40095c96 --- /dev/null +++ b/scripts/chrome-extension-builder.js @@ -0,0 +1,40 @@ +const fs = require('fs'); +const path = require('path'); + +// Replace this with the actual client ID and app settings response +const clientId = 'your-client-id'; +const appSettingsResponse = { + appDisplayName: { + name: 'New App Name', + description: 'New App Description' + } +}; + +const sourceDir = path.join(__dirname, 'apps', 'browser-extension'); +const targetDir = path.join(__dirname, 'apps', `browser-extension-${clientId}`); + +// Create the target directory if it doesn't exist +if (!fs.existsSync(targetDir)) { + fs.mkdirSync(targetDir, { recursive: true }); +} + +const manifestPath = path.join(sourceDir, 'manifest.json'); +const newManifestPath = path.join(targetDir, 'manifest.json'); + +fs.readFile(manifestPath, 'utf8', (err, data) => { + if (err) throw err; + + const manifest = JSON.parse(data); + + // Update the manifest fields + manifest.name = appSettingsResponse.appDisplayName.name; + manifest.description = appSettingsResponse.appDisplayName.description; + manifest.clientId = clientId; + + const updatedManifest = JSON.stringify(manifest, null, 2); + + fs.writeFile(newManifestPath, updatedManifest, 'utf8', (err) => { + if (err) throw err; + console.log('Manifest file has been updated successfully.'); + }); +}); diff --git a/scripts/issue-commenter.js b/scripts/issue-commenter.js new file mode 100644 index 000000000..3f3c4a6e3 --- /dev/null +++ b/scripts/issue-commenter.js @@ -0,0 +1,24 @@ +const { Octokit } = require("@octokit/rest"); + +process.env.GITHUB_TOKEN = 'TOKEN HERE'; +process.env.GITHUB_REPOSITORY = 'FDA-AI/FDAi'; +process.env.ISSUE_NUMBER = '1'; + +const octokit = new Octokit({ auth: process.env.GITHUB_TOKEN }); + +async function postComment(owner, repo, issue_number, body) { + await octokit.rest.issues.createComment({ + owner, + repo, + issue_number, + body, + }); +} + +const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/"); +const issueNumber = parseInt(process.env.ISSUE_NUMBER, 10); +const commentBody = "This is a comment made by a script 🤖"; + +postComment(owner, repo, issueNumber, commentBody) + .then(() => console.log("Comment posted successfully.")) + .catch(error => console.error("Failed to post comment:", error)); diff --git a/scripts/s3-delete-all-files.js b/scripts/s3-delete-all-files.js new file mode 100644 index 000000000..e2aeb374f --- /dev/null +++ b/scripts/s3-delete-all-files.js @@ -0,0 +1,44 @@ +// Load the AWS SDK for Node.js +const { S3Client, ListObjectsV2Command, DeleteObjectsCommand } = require("@aws-sdk/client-s3"); + +// Load environment variables +require('dotenv').config({ path: '../.env' }); + +// Set up the AWS S3 client +const s3 = new S3Client({ + region: process.env.AWS_REGION, + credentials: { + accessKeyId: process.env.AWS_ACCESS_KEY_ID, + secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY, + }, +}); + +const bucketName = process.env.BUCKET_NAME + +// Function to delete all objects in the bucket +async function emptyS3Bucket() { + try { + const listedObjects = await s3.send(new ListObjectsV2Command({ Bucket: bucketName })); + + if (listedObjects.Contents.length === 0) return; + + const deleteParams = { + Bucket: bucketName, + Delete: { Objects: [] }, + }; + + listedObjects.Contents.forEach(({ Key }) => { + deleteParams.Delete.Objects.push({ Key }); + }); + + await s3.send(new DeleteObjectsCommand(deleteParams)); + + if (listedObjects.IsTruncated) await emptyS3Bucket(); // Recurse if there are more objects to delete + console.log('All objects deleted successfully.'); + } catch (err) { + console.error("Error:", err); + } +} + +// Run the function to empty the bucket +emptyS3Bucket(); diff --git a/scripts/s3-download.js b/scripts/s3-download.js new file mode 100644 index 000000000..45574eb2b --- /dev/null +++ b/scripts/s3-download.js @@ -0,0 +1,77 @@ +const fs = require('fs'); +const path = require('path'); +const { S3Client, GetObjectCommand, ListObjectsV2Command } = require('@aws-sdk/client-s3'); +let env = process.env; +let envPath = fs.existsSync(path.resolve(__dirname, '.env')) ? '.env' : '../.env'; +require('dotenv').config({ path: envPath}); + +if(!env.AWS_REGION || !env.BUCKET_NAME || !env.AWS_ACCESS_KEY_ID || !env.AWS_SECRET_ACCESS_KEY) { + console.error("Please set the AWS_REGION, BUCKET_NAME, AWS_ACCESS_KEY_ID, and AWS_SECRET_ACCESS_KEY environment variables."); + process.exit(1); +} + +// Configure your AWS details +const s3Client = new S3Client({ + region: env.AWS_REGION, // e.g., 'us-east-1' +}); + +const bucketName = env.BUCKET_NAME; +const localDir = '../apps/dfda-1/public/app/public'; // Local directory to download to + +// Function to download a file from S3 +async function downloadFile(fileKey, filePath) { + try { + const downloadParams = { + Bucket: bucketName, + Key: fileKey, + }; + + const { Body } = await s3Client.send(new GetObjectCommand(downloadParams)); + const fileStream = fs.createWriteStream(filePath); + + Body.pipe(fileStream); + + Body.on('error', (err) => { + console.error(`File Stream Error: ${err}`); + }); + + fileStream.on('finish', () => { + console.log(`Downloaded ${fileKey} successfully.`); + }); + } catch (err) { + console.error("Error downloading file:", err); + } +} + +// Function to recursively create a directory and download its contents +function downloadDirectory(s3PathPrefix = '', directoryPath) { + const listParams = { + Bucket: bucketName, + Prefix: s3PathPrefix, + }; + + s3Client.send(new ListObjectsV2Command(listParams)) + .then((data) => { + if (!data.Contents) { + console.log('No objects found.'); + return; + } + + data.Contents.forEach((item) => { + const fileKey = item.Key; + const filePath = path.join(directoryPath, fileKey); + + if (!fs.existsSync(path.dirname(filePath))) { + fs.mkdirSync(path.dirname(filePath), { recursive: true }); + } + + downloadFile(fileKey, filePath); + }); + }) + .catch((err) => { + console.error("Error listing objects:", err); + }); +} + +// Start the download process +downloadDirectory('video', localDir); diff --git a/scripts/s3-mime-types.js b/scripts/s3-mime-types.js new file mode 100644 index 000000000..38d92e3be --- /dev/null +++ b/scripts/s3-mime-types.js @@ -0,0 +1,76 @@ +// Load environment variables +require('dotenv').config({ path: '../.env' }); + +const { S3Client, ListObjectsV2Command, CopyObjectCommand } = require("@aws-sdk/client-s3"); + +// Initialize S3 client +const s3 = new S3Client({ + region: process.env.AWS_REGION, + credentials: { + accessKeyId: process.env.AWS_ACCESS_KEY_ID, + secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY + } +}); + +const bucketName = process.env.BUCKET_NAME; + +// Function to get MIME type based on file extension +function getMimeType(fileName) { + const extension = fileName.split('.').pop().toLowerCase(); + const mimeTypes = { + js: 'application/javascript', + css: 'text/css', + gif: 'image/gif', + png: 'image/png', + jpg: 'image/jpeg', + jpeg: 'image/jpeg', + svg: 'image/svg+xml', + mp4: 'video/mp4', + html: 'text/html', + // Add more MIME types as needed + }; + + return mimeTypes[extension] || 'application/octet-stream'; +} + +// Function to update the Content-Type for each object in the bucket +async function updateContentTypes() { + try { + let continuationToken; + do { + const listParams = { + Bucket: bucketName, + ContinuationToken: continuationToken, + }; + + // List objects in the bucket + const listedObjects = await s3.send(new ListObjectsV2Command(listParams)); + + for (const object of listedObjects.Contents) { + if (!object.Key.endsWith('.css')) { + continue; + } + const mimeType = getMimeType(object.Key); + console.log(`Updating ${object.Key} to MIME type ${mimeType}`); + + // Copy object to itself with new metadata + const copyParams = { + Bucket: bucketName, + CopySource: encodeURIComponent(`${bucketName}/${object.Key}`), + Key: object.Key, + MetadataDirective: 'REPLACE', + ContentType: mimeType, + }; + + await s3.send(new CopyObjectCommand(copyParams)); + } + + continuationToken = listedObjects.NextContinuationToken; + } while (continuationToken); + } catch (error) { + console.error("An error occurred:", error); + } +} + +// Run the update process +updateContentTypes(); diff --git a/scripts/s3-upload.js b/scripts/s3-upload.js new file mode 100644 index 000000000..f3cde08d9 --- /dev/null +++ b/scripts/s3-upload.js @@ -0,0 +1,70 @@ +const fs = require('fs'); +const path = require('path'); +const mime = require('mime-types'); +const { S3Client, PutObjectCommand } = require('@aws-sdk/client-s3'); +const { Upload } = require('@aws-sdk/lib-storage'); +let env = process.env; +let envPath = fs.existsSync(path.resolve(__dirname, '.env')) ? '.env' : '../.env'; +require('dotenv').config({ path: envPath}); + +if(!env.AWS_REGION || !env.BUCKET_NAME || !env.AWS_ACCESS_KEY_ID || !env.AWS_SECRET_ACCESS_KEY) { + console.error("Please set the AWS_REGION, BUCKET_NAME, AWS_ACCESS_KEY_ID, and AWS_SECRET_ACCESS_KEY environment variables."); + process.exit(1); +} + +// Configure your AWS details +const s3Client = new S3Client({ + region: env.AWS_REGION, // e.g., 'us-east-1' +}); + +const bucketName = env.BUCKET_NAME; +const localDir = '../apps/dfda-1/public/app/public'; // Local directory to upload + +// Function to upload a file to S3 +async function uploadFile(filePath, fileKey) { + const contentType = mime.lookup(filePath) || 'application/octet-stream'; + try { + const fileStream = fs.createReadStream(filePath); + const uploadParams = { + Bucket: bucketName, + Key: fileKey, + Body: fileStream, + ContentType: contentType, + }; + const parallelUploads3 = new Upload({ + client: s3Client, + params: uploadParams, + }); + + await parallelUploads3.done(); + console.log(`Uploaded ${fileKey} successfully.`); + } catch (err) { + console.error("Error uploading file:", err); + } +} + +// Function to recursively read a directory and upload its contents +function uploadDirectory(directoryPath, s3PathPrefix = '') { + fs.readdir(directoryPath, { withFileTypes: true }, (err, items) => { + if (err) { + console.error("Error reading directory:", err); + return; + } + + items.forEach(item => { + const localPath = path.join(directoryPath, item.name); + // Ensure S3 key uses forward slashes, regardless of the operating system + const s3Key = (path.join(s3PathPrefix, item.name)).replace(/\\/g, '/'); + + + if (item.isDirectory()) { + uploadDirectory(localPath, s3Key); // Recursively upload directories + } else { + uploadFile(localPath, s3Key); // Upload files + } + }); + }); +} + +// Start the upload process +uploadDirectory(localDir); diff --git a/yarn.lock b/yarn.lock index a01f05ad8..e03cdcba2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,6 +10,627 @@ "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" +"@aws-crypto/crc32@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-3.0.0.tgz#07300eca214409c33e3ff769cd5697b57fdd38fa" + integrity sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA== + dependencies: + "@aws-crypto/util" "^3.0.0" + "@aws-sdk/types" "^3.222.0" + tslib "^1.11.1" + +"@aws-crypto/crc32c@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/crc32c/-/crc32c-3.0.0.tgz#016c92da559ef638a84a245eecb75c3e97cb664f" + integrity sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w== + dependencies: + "@aws-crypto/util" "^3.0.0" + "@aws-sdk/types" "^3.222.0" + tslib "^1.11.1" + +"@aws-crypto/ie11-detection@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz#640ae66b4ec3395cee6a8e94ebcd9f80c24cd688" + integrity sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q== + dependencies: + tslib "^1.11.1" + +"@aws-crypto/sha1-browser@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha1-browser/-/sha1-browser-3.0.0.tgz#f9083c00782b24714f528b1a1fef2174002266a3" + integrity sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw== + dependencies: + "@aws-crypto/ie11-detection" "^3.0.0" + "@aws-crypto/supports-web-crypto" "^3.0.0" + "@aws-crypto/util" "^3.0.0" + "@aws-sdk/types" "^3.222.0" + "@aws-sdk/util-locate-window" "^3.0.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + +"@aws-crypto/sha256-browser@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz#05f160138ab893f1c6ba5be57cfd108f05827766" + integrity sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ== + dependencies: + "@aws-crypto/ie11-detection" "^3.0.0" + "@aws-crypto/sha256-js" "^3.0.0" + "@aws-crypto/supports-web-crypto" "^3.0.0" + "@aws-crypto/util" "^3.0.0" + "@aws-sdk/types" "^3.222.0" + "@aws-sdk/util-locate-window" "^3.0.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + +"@aws-crypto/sha256-js@3.0.0", "@aws-crypto/sha256-js@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz#f06b84d550d25521e60d2a0e2a90139341e007c2" + integrity sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ== + dependencies: + "@aws-crypto/util" "^3.0.0" + "@aws-sdk/types" "^3.222.0" + tslib "^1.11.1" + +"@aws-crypto/supports-web-crypto@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz#5d1bf825afa8072af2717c3e455f35cda0103ec2" + integrity sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg== + dependencies: + tslib "^1.11.1" + +"@aws-crypto/util@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-3.0.0.tgz#1c7ca90c29293f0883468ad48117937f0fe5bfb0" + integrity sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w== + dependencies: + "@aws-sdk/types" "^3.222.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + +"@aws-sdk/client-s3@^3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.521.0.tgz#a8ff7a5bd5b07903885b0ecd4df15da9f24aac4f" + integrity sha512-txSfcxezAIW72dgRfhX+plc/lMouilY/QFVne/Cv01SL8Tzclcyp7T7LtkV7aSO4Tb9CUScHdqwWOfjZzCm/yQ== + dependencies: + "@aws-crypto/sha1-browser" "3.0.0" + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/client-sts" "3.521.0" + "@aws-sdk/core" "3.521.0" + "@aws-sdk/credential-provider-node" "3.521.0" + "@aws-sdk/middleware-bucket-endpoint" "3.521.0" + "@aws-sdk/middleware-expect-continue" "3.521.0" + "@aws-sdk/middleware-flexible-checksums" "3.521.0" + "@aws-sdk/middleware-host-header" "3.521.0" + "@aws-sdk/middleware-location-constraint" "3.521.0" + "@aws-sdk/middleware-logger" "3.521.0" + "@aws-sdk/middleware-recursion-detection" "3.521.0" + "@aws-sdk/middleware-sdk-s3" "3.521.0" + "@aws-sdk/middleware-signing" "3.521.0" + "@aws-sdk/middleware-ssec" "3.521.0" + "@aws-sdk/middleware-user-agent" "3.521.0" + "@aws-sdk/region-config-resolver" "3.521.0" + "@aws-sdk/signature-v4-multi-region" "3.521.0" + "@aws-sdk/types" "3.521.0" + "@aws-sdk/util-endpoints" "3.521.0" + "@aws-sdk/util-user-agent-browser" "3.521.0" + "@aws-sdk/util-user-agent-node" "3.521.0" + "@aws-sdk/xml-builder" "3.521.0" + "@smithy/config-resolver" "^2.1.2" + "@smithy/core" "^1.3.3" + "@smithy/eventstream-serde-browser" "^2.1.2" + "@smithy/eventstream-serde-config-resolver" "^2.1.2" + "@smithy/eventstream-serde-node" "^2.1.2" + "@smithy/fetch-http-handler" "^2.4.2" + "@smithy/hash-blob-browser" "^2.1.2" + "@smithy/hash-node" "^2.1.2" + "@smithy/hash-stream-node" "^2.1.2" + "@smithy/invalid-dependency" "^2.1.2" + "@smithy/md5-js" "^2.1.2" + "@smithy/middleware-content-length" "^2.1.2" + "@smithy/middleware-endpoint" "^2.4.2" + "@smithy/middleware-retry" "^2.1.2" + "@smithy/middleware-serde" "^2.1.2" + "@smithy/middleware-stack" "^2.1.2" + "@smithy/node-config-provider" "^2.2.2" + "@smithy/node-http-handler" "^2.4.0" + "@smithy/protocol-http" "^3.2.0" + "@smithy/smithy-client" "^2.4.0" + "@smithy/types" "^2.10.0" + "@smithy/url-parser" "^2.1.2" + "@smithy/util-base64" "^2.1.1" + "@smithy/util-body-length-browser" "^2.1.1" + "@smithy/util-body-length-node" "^2.2.1" + "@smithy/util-defaults-mode-browser" "^2.1.2" + "@smithy/util-defaults-mode-node" "^2.2.1" + "@smithy/util-endpoints" "^1.1.2" + "@smithy/util-retry" "^2.1.2" + "@smithy/util-stream" "^2.1.2" + "@smithy/util-utf8" "^2.1.1" + "@smithy/util-waiter" "^2.1.2" + fast-xml-parser "4.2.5" + tslib "^2.5.0" + +"@aws-sdk/client-sso-oidc@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.521.0.tgz#455cf62ccc0bba8fabd00f0b540cd9e51a24cd93" + integrity sha512-MhX0CjV/543MR7DRPr3lA4ZDpGGKopp8cyV4EkSGXB7LMN//eFKKDhuZDlpgWU+aFe2A3DIqlNJjqgs08W0cSA== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/client-sts" "3.521.0" + "@aws-sdk/core" "3.521.0" + "@aws-sdk/middleware-host-header" "3.521.0" + "@aws-sdk/middleware-logger" "3.521.0" + "@aws-sdk/middleware-recursion-detection" "3.521.0" + "@aws-sdk/middleware-user-agent" "3.521.0" + "@aws-sdk/region-config-resolver" "3.521.0" + "@aws-sdk/types" "3.521.0" + "@aws-sdk/util-endpoints" "3.521.0" + "@aws-sdk/util-user-agent-browser" "3.521.0" + "@aws-sdk/util-user-agent-node" "3.521.0" + "@smithy/config-resolver" "^2.1.2" + "@smithy/core" "^1.3.3" + "@smithy/fetch-http-handler" "^2.4.2" + "@smithy/hash-node" "^2.1.2" + "@smithy/invalid-dependency" "^2.1.2" + "@smithy/middleware-content-length" "^2.1.2" + "@smithy/middleware-endpoint" "^2.4.2" + "@smithy/middleware-retry" "^2.1.2" + "@smithy/middleware-serde" "^2.1.2" + "@smithy/middleware-stack" "^2.1.2" + "@smithy/node-config-provider" "^2.2.2" + "@smithy/node-http-handler" "^2.4.0" + "@smithy/protocol-http" "^3.2.0" + "@smithy/smithy-client" "^2.4.0" + "@smithy/types" "^2.10.0" + "@smithy/url-parser" "^2.1.2" + "@smithy/util-base64" "^2.1.1" + "@smithy/util-body-length-browser" "^2.1.1" + "@smithy/util-body-length-node" "^2.2.1" + "@smithy/util-defaults-mode-browser" "^2.1.2" + "@smithy/util-defaults-mode-node" "^2.2.1" + "@smithy/util-endpoints" "^1.1.2" + "@smithy/util-middleware" "^2.1.2" + "@smithy/util-retry" "^2.1.2" + "@smithy/util-utf8" "^2.1.1" + tslib "^2.5.0" + +"@aws-sdk/client-sso@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.521.0.tgz#b28fd6a974f4c6ddca6151df0b7954bbf72dd6d3" + integrity sha512-aEx8kEvWmTwCja6hvIZd5PvxHsI1HQZkckXhw1UrkDPnfcAwQoQAgselI7D+PVT5qQDIjXRm0NpsvBLaLj6jZw== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/core" "3.521.0" + "@aws-sdk/middleware-host-header" "3.521.0" + "@aws-sdk/middleware-logger" "3.521.0" + "@aws-sdk/middleware-recursion-detection" "3.521.0" + "@aws-sdk/middleware-user-agent" "3.521.0" + "@aws-sdk/region-config-resolver" "3.521.0" + "@aws-sdk/types" "3.521.0" + "@aws-sdk/util-endpoints" "3.521.0" + "@aws-sdk/util-user-agent-browser" "3.521.0" + "@aws-sdk/util-user-agent-node" "3.521.0" + "@smithy/config-resolver" "^2.1.2" + "@smithy/core" "^1.3.3" + "@smithy/fetch-http-handler" "^2.4.2" + "@smithy/hash-node" "^2.1.2" + "@smithy/invalid-dependency" "^2.1.2" + "@smithy/middleware-content-length" "^2.1.2" + "@smithy/middleware-endpoint" "^2.4.2" + "@smithy/middleware-retry" "^2.1.2" + "@smithy/middleware-serde" "^2.1.2" + "@smithy/middleware-stack" "^2.1.2" + "@smithy/node-config-provider" "^2.2.2" + "@smithy/node-http-handler" "^2.4.0" + "@smithy/protocol-http" "^3.2.0" + "@smithy/smithy-client" "^2.4.0" + "@smithy/types" "^2.10.0" + "@smithy/url-parser" "^2.1.2" + "@smithy/util-base64" "^2.1.1" + "@smithy/util-body-length-browser" "^2.1.1" + "@smithy/util-body-length-node" "^2.2.1" + "@smithy/util-defaults-mode-browser" "^2.1.2" + "@smithy/util-defaults-mode-node" "^2.2.1" + "@smithy/util-endpoints" "^1.1.2" + "@smithy/util-middleware" "^2.1.2" + "@smithy/util-retry" "^2.1.2" + "@smithy/util-utf8" "^2.1.1" + tslib "^2.5.0" + +"@aws-sdk/client-sts@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.521.0.tgz#d58a2b3c6b0b16c487e41fdcd41df43ec8b56fad" + integrity sha512-f1J5NDbntcwIHJqhks89sQvk7UXPmN0X0BZ2mgpj6pWP+NlPqy+1t1bia8qRhEuNITaEigoq6rqe9xaf4FdY9A== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/core" "3.521.0" + "@aws-sdk/middleware-host-header" "3.521.0" + "@aws-sdk/middleware-logger" "3.521.0" + "@aws-sdk/middleware-recursion-detection" "3.521.0" + "@aws-sdk/middleware-user-agent" "3.521.0" + "@aws-sdk/region-config-resolver" "3.521.0" + "@aws-sdk/types" "3.521.0" + "@aws-sdk/util-endpoints" "3.521.0" + "@aws-sdk/util-user-agent-browser" "3.521.0" + "@aws-sdk/util-user-agent-node" "3.521.0" + "@smithy/config-resolver" "^2.1.2" + "@smithy/core" "^1.3.3" + "@smithy/fetch-http-handler" "^2.4.2" + "@smithy/hash-node" "^2.1.2" + "@smithy/invalid-dependency" "^2.1.2" + "@smithy/middleware-content-length" "^2.1.2" + "@smithy/middleware-endpoint" "^2.4.2" + "@smithy/middleware-retry" "^2.1.2" + "@smithy/middleware-serde" "^2.1.2" + "@smithy/middleware-stack" "^2.1.2" + "@smithy/node-config-provider" "^2.2.2" + "@smithy/node-http-handler" "^2.4.0" + "@smithy/protocol-http" "^3.2.0" + "@smithy/smithy-client" "^2.4.0" + "@smithy/types" "^2.10.0" + "@smithy/url-parser" "^2.1.2" + "@smithy/util-base64" "^2.1.1" + "@smithy/util-body-length-browser" "^2.1.1" + "@smithy/util-body-length-node" "^2.2.1" + "@smithy/util-defaults-mode-browser" "^2.1.2" + "@smithy/util-defaults-mode-node" "^2.2.1" + "@smithy/util-endpoints" "^1.1.2" + "@smithy/util-middleware" "^2.1.2" + "@smithy/util-retry" "^2.1.2" + "@smithy/util-utf8" "^2.1.1" + fast-xml-parser "4.2.5" + tslib "^2.5.0" + +"@aws-sdk/core@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.521.0.tgz#56aaed5714a5145055983f08362c2dfeaf275769" + integrity sha512-KovKmW7yg/P2HVG2dhV2DAJLyoeGelgsnSGHaktXo/josJ3vDGRNqqRSgVaqKFxnD98dPEMLrjkzZumNUNGvLw== + dependencies: + "@smithy/core" "^1.3.3" + "@smithy/protocol-http" "^3.2.0" + "@smithy/signature-v4" "^2.1.1" + "@smithy/smithy-client" "^2.4.0" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-env@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.521.0.tgz#abef98938e0013d4dcc34a546c50e1fd5593a9ca" + integrity sha512-OwblTJNdDAoqYVwcNfhlKDp5z+DINrjBfC6ZjNdlJpTXgxT3IqzuilTJTlydQ+2eG7aXfV9OwTVRQWdCmzFuKA== + dependencies: + "@aws-sdk/types" "3.521.0" + "@smithy/property-provider" "^2.1.1" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-http@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.521.0.tgz#a189f2ced504bccedbe57cb911f64a8c1bb77b3c" + integrity sha512-yJM1yNGj2XFH8v6/ffWrFY5nC3/2+8qZ8c4mMMwZru8bYXeuSV4+NNfE59HUWvkAF7xP76u4gr4I8kNrMPTlfg== + dependencies: + "@aws-sdk/types" "3.521.0" + "@smithy/fetch-http-handler" "^2.4.2" + "@smithy/node-http-handler" "^2.4.0" + "@smithy/property-provider" "^2.1.1" + "@smithy/protocol-http" "^3.2.0" + "@smithy/smithy-client" "^2.4.0" + "@smithy/types" "^2.10.0" + "@smithy/util-stream" "^2.1.2" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-ini@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.521.0.tgz#936201cc56ccc50a5a412f97f3a0867e3017d477" + integrity sha512-HuhP1AlKgvBBxUIwxL/2DsDemiuwgbz1APUNSeJhDBF6JyZuxR0NU8zEZkvH9b4ukTcmcKGABpY0Wex4rAh3xw== + dependencies: + "@aws-sdk/client-sts" "3.521.0" + "@aws-sdk/credential-provider-env" "3.521.0" + "@aws-sdk/credential-provider-process" "3.521.0" + "@aws-sdk/credential-provider-sso" "3.521.0" + "@aws-sdk/credential-provider-web-identity" "3.521.0" + "@aws-sdk/types" "3.521.0" + "@smithy/credential-provider-imds" "^2.2.1" + "@smithy/property-provider" "^2.1.1" + "@smithy/shared-ini-file-loader" "^2.3.1" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-node@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.521.0.tgz#b999f382242a5b2ea5b35025f9a7e3b1c0ab6892" + integrity sha512-N9SR4gWI10qh4V2myBcTw8IlX3QpsMMxa4Q8d/FHiAX6eNV7e6irXkXX8o7+J1gtCRy1AtBMqAdGsve4GVqYMQ== + dependencies: + "@aws-sdk/credential-provider-env" "3.521.0" + "@aws-sdk/credential-provider-http" "3.521.0" + "@aws-sdk/credential-provider-ini" "3.521.0" + "@aws-sdk/credential-provider-process" "3.521.0" + "@aws-sdk/credential-provider-sso" "3.521.0" + "@aws-sdk/credential-provider-web-identity" "3.521.0" + "@aws-sdk/types" "3.521.0" + "@smithy/credential-provider-imds" "^2.2.1" + "@smithy/property-provider" "^2.1.1" + "@smithy/shared-ini-file-loader" "^2.3.1" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-process@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.521.0.tgz#8d163862607bd6ef3ac289ae89b4c7cf2e2f994a" + integrity sha512-EcJjcrpdklxbRAFFgSLk6QGVtvnfZ80ItfZ47VL9LkhWcDAkQ1Oi0esHq+zOgvjb7VkCyD3Q9CyEwT6MlJsriA== + dependencies: + "@aws-sdk/types" "3.521.0" + "@smithy/property-provider" "^2.1.1" + "@smithy/shared-ini-file-loader" "^2.3.1" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-sso@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.521.0.tgz#d4baf025c60d92dd4f3a27bbfaa83e4289010fcd" + integrity sha512-GAfc0ji+fC2k9VngYM3zsS1J5ojfWg0WUOBzavvHzkhx/O3CqOt82Vfikg3PvemAp9yOgKPMaasTHVeipNLBBQ== + dependencies: + "@aws-sdk/client-sso" "3.521.0" + "@aws-sdk/token-providers" "3.521.0" + "@aws-sdk/types" "3.521.0" + "@smithy/property-provider" "^2.1.1" + "@smithy/shared-ini-file-loader" "^2.3.1" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-web-identity@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.521.0.tgz#a062dead8d50df1601c08d4925628d89584920b8" + integrity sha512-ZPPJqdbPOE4BkdrPrYBtsWg0Zy5b+GY1sbMWLQt0tcISgN5EIoePCS2pGNWnBUmBT+mibMQCVv9fOQpqzRkvAw== + dependencies: + "@aws-sdk/client-sts" "3.521.0" + "@aws-sdk/types" "3.521.0" + "@smithy/property-provider" "^2.1.1" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@aws-sdk/lib-storage@^3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/lib-storage/-/lib-storage-3.521.0.tgz#f90f50a9cb9fa1c3a37444c931aa71061de30cbf" + integrity sha512-TDkh6j/9dPlHtMeNsv++CCOT+HSWKTAjKkp8A9du3d9axyILE6ukqssehObgkB+8fNu4h776Hq9YJE2QExdrOw== + dependencies: + "@smithy/abort-controller" "^2.1.1" + "@smithy/middleware-endpoint" "^2.4.2" + "@smithy/smithy-client" "^2.4.0" + buffer "5.6.0" + events "3.3.0" + stream-browserify "3.0.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-bucket-endpoint@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.521.0.tgz#5d71cd7a73fbab1eac933d79194150b14a85ab39" + integrity sha512-wUPSpzeEGwAic5OJmXQGt1RCbt5KHighZ1ubUeNV67FMPsxaEW+Y0Kd+L0vbbFoQptIui2GqP5JxuROr6J7SjA== + dependencies: + "@aws-sdk/types" "3.521.0" + "@aws-sdk/util-arn-parser" "3.495.0" + "@smithy/node-config-provider" "^2.2.2" + "@smithy/protocol-http" "^3.2.0" + "@smithy/types" "^2.10.0" + "@smithy/util-config-provider" "^2.2.1" + tslib "^2.5.0" + +"@aws-sdk/middleware-expect-continue@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.521.0.tgz#22845df7ea4940f836c439e2dbc14c6e055cf343" + integrity sha512-6NBaPS+1b1QbsbJ74KI9MkqWbj8rnY6uKNEo0wkxgA8Q6u0aTn/jV+jrn5ZemdYmfS/y/VbaoY/hE+/QNp5vUw== + dependencies: + "@aws-sdk/types" "3.521.0" + "@smithy/protocol-http" "^3.2.0" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-flexible-checksums@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.521.0.tgz#375cf8332876dfa83069a2a91c61524db9b0bf88" + integrity sha512-sWNN0wtdwImO2QqN4J1YVTpDhdii6Tp5p8jCkCE1Qe+afQ5u52PeRAS/9U56cJnqM5JLabO4kE10Mm5rufNs2A== + dependencies: + "@aws-crypto/crc32" "3.0.0" + "@aws-crypto/crc32c" "3.0.0" + "@aws-sdk/types" "3.521.0" + "@smithy/is-array-buffer" "^2.1.1" + "@smithy/protocol-http" "^3.2.0" + "@smithy/types" "^2.10.0" + "@smithy/util-utf8" "^2.1.1" + tslib "^2.5.0" + +"@aws-sdk/middleware-host-header@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.521.0.tgz#d826a4803c1479935cbc9b05e2399895497e55a1" + integrity sha512-Bc4stnMtVAdqosYI1wedFK9tffclCuwpOK/JA4bxbnvSyP1kz4s1HBVT9OOMzdLRLWLwVj/RslXKfSbzOUP7ug== + dependencies: + "@aws-sdk/types" "3.521.0" + "@smithy/protocol-http" "^3.2.0" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-location-constraint@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.521.0.tgz#bf9446bc8652a25176757123be4864e78bcd9e05" + integrity sha512-XlGst6F3+20mhMVk+te7w8Yvrm9i9JGpgRdxdMN1pnXtGn/aAKF9lFFm4bOu47PR/XHun2PLmKlLnlZd7NAP2Q== + dependencies: + "@aws-sdk/types" "3.521.0" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-logger@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.521.0.tgz#499d93a1b74dc4f37c508567aff9290449c730bf" + integrity sha512-JJ4nyYvLu3RyyNHo74Rlx6WKxJsAixWCEnnFb6IGRUHvsG+xBGU7HF5koY2log8BqlDLrt4ZUaV/CGy5Dp8Mfg== + dependencies: + "@aws-sdk/types" "3.521.0" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-recursion-detection@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.521.0.tgz#77e2917e8b7040b8f3dacea3f29a65f885c69f98" + integrity sha512-1m5AsC55liTlaYMjc4pIQfjfBHG9LpWgubSl4uUxJSdI++zdA/SRBwXl40p7Ac/y5esweluhWabyiv1g/W4+Xg== + dependencies: + "@aws-sdk/types" "3.521.0" + "@smithy/protocol-http" "^3.2.0" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-sdk-s3@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.521.0.tgz#ccf020ba7a8a2bbc1527fc672e9d02c6915e40f2" + integrity sha512-aDeOScfzGGHZ7oEDx+EPzz+JVa8/B88CPeDRaDmO5dFNv2/5PFumHfh0gc6XFl4nJWPPOrJyZ1UYU/9VdDfSyQ== + dependencies: + "@aws-sdk/types" "3.521.0" + "@aws-sdk/util-arn-parser" "3.495.0" + "@smithy/node-config-provider" "^2.2.2" + "@smithy/protocol-http" "^3.2.0" + "@smithy/signature-v4" "^2.1.1" + "@smithy/smithy-client" "^2.4.0" + "@smithy/types" "^2.10.0" + "@smithy/util-config-provider" "^2.2.1" + tslib "^2.5.0" + +"@aws-sdk/middleware-signing@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.521.0.tgz#87267770454f66d3ea46d12a3cb71b0131b699fa" + integrity sha512-OW1jKeN6Eh3/OItXBtyNRFOv1MuZQBeHpEbywgYwtaqxTGxm9gFj//9wFsCXK4zg1+ghun8iC0buNbyOvCUf9A== + dependencies: + "@aws-sdk/types" "3.521.0" + "@smithy/property-provider" "^2.1.1" + "@smithy/protocol-http" "^3.2.0" + "@smithy/signature-v4" "^2.1.1" + "@smithy/types" "^2.10.0" + "@smithy/util-middleware" "^2.1.2" + tslib "^2.5.0" + +"@aws-sdk/middleware-ssec@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.521.0.tgz#5d1e494d04c9c479ece7673ac874ff90d3ba87f1" + integrity sha512-O9vlns8bFxkZA71CyjQbiB2tm3v+925C37Z3wzn9sj2x0FTB3njgSR23w05d8HP2ve1GPuqoVD0T0pa+jG0Zbw== + dependencies: + "@aws-sdk/types" "3.521.0" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-user-agent@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.521.0.tgz#c2362f97394143d86ba9f5ab9f929d337b18c5ce" + integrity sha512-+hmQjWDG93wCcJn5QY2MkzAL1aG5wl3FJ/ud2nQOu/Gx7d4QVT/B6VJwoG6GSPVuVPZwzne5n9zPVst6RmWJGA== + dependencies: + "@aws-sdk/types" "3.521.0" + "@aws-sdk/util-endpoints" "3.521.0" + "@smithy/protocol-http" "^3.2.0" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@aws-sdk/region-config-resolver@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.521.0.tgz#a8313f9d7e2df55662418cfb8a04fd055624cb29" + integrity sha512-eC2T62nFgQva9Q0Sqoc9xsYyyH9EN2rJtmUKkWsBMf77atpmajAYRl5B/DzLwGHlXGsgVK2tJdU5wnmpQCEwEQ== + dependencies: + "@aws-sdk/types" "3.521.0" + "@smithy/node-config-provider" "^2.2.2" + "@smithy/types" "^2.10.0" + "@smithy/util-config-provider" "^2.2.1" + "@smithy/util-middleware" "^2.1.2" + tslib "^2.5.0" + +"@aws-sdk/signature-v4-multi-region@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.521.0.tgz#74f74de15cc4dc94a42c469dd70c7ca29a69749b" + integrity sha512-JVMGQEE6+MQ5Enc/NDQNw8cmy/soALH/Ky00SVQvrfb9ec4H40eDQbbn/d7lua52UCcvUv1w+Ppk00WzbqDAcQ== + dependencies: + "@aws-sdk/middleware-sdk-s3" "3.521.0" + "@aws-sdk/types" "3.521.0" + "@smithy/protocol-http" "^3.2.0" + "@smithy/signature-v4" "^2.1.1" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@aws-sdk/token-providers@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.521.0.tgz#557fa6e5535dc680c8589cca611ac2bd4426a9dd" + integrity sha512-63XxPOn13j87yPWKm6UXOPdMZIMyEyCDJzmlxnIACP8m20S/c6b8xLJ4fE/PUlD0MTKxpFeQbandq5OhnLsWSQ== + dependencies: + "@aws-sdk/client-sso-oidc" "3.521.0" + "@aws-sdk/types" "3.521.0" + "@smithy/property-provider" "^2.1.1" + "@smithy/shared-ini-file-loader" "^2.3.1" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@aws-sdk/types@3.521.0", "@aws-sdk/types@^3.222.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.521.0.tgz#63696760837a1f505b6ef49a668bbff8c827dd2d" + integrity sha512-H9I3Lut0F9d+kTibrhnTRqDRzhxf/vrDu12FUdTXVZEvVAQ7w9yrVHAZx8j2e8GWegetsQsNitO3KMrj4dA4pw== + dependencies: + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@aws-sdk/util-arn-parser@3.495.0": + version "3.495.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-arn-parser/-/util-arn-parser-3.495.0.tgz#539f2d6dfef343a80324348f1f9a1b7eed2390f3" + integrity sha512-hwdA3XAippSEUxs7jpznwD63YYFR+LtQvlEcebPTgWR9oQgG9TfS+39PUfbnEeje1ICuOrN3lrFqFbmP9uzbMg== + dependencies: + tslib "^2.5.0" + +"@aws-sdk/util-endpoints@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.521.0.tgz#607edd5429ed971ad4d3a0331d335f430a23d555" + integrity sha512-lO5+1LeAZycDqgNjQyZdPSdXFQKXaW5bRuQ3UIT3bOCcUAbDI0BYXlPm1huPNTCEkI9ItnDCbISbV0uF901VXw== + dependencies: + "@aws-sdk/types" "3.521.0" + "@smithy/types" "^2.10.0" + "@smithy/util-endpoints" "^1.1.2" + tslib "^2.5.0" + +"@aws-sdk/util-locate-window@^3.0.0": + version "3.495.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.495.0.tgz#9034fd8db77991b28ed20e067acdd53e8b8f824b" + integrity sha512-MfaPXT0kLX2tQaR90saBT9fWQq2DHqSSJRzW+MZWsmF+y5LGCOhO22ac/2o6TKSQm7h0HRc2GaADqYYYor62yg== + dependencies: + tslib "^2.5.0" + +"@aws-sdk/util-user-agent-browser@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.521.0.tgz#20f10df57a5499ace0b955b7b76dccebb530bf1f" + integrity sha512-2t3uW6AXOvJ5iiI1JG9zPqKQDc/TRFa+v13aqT5KKw9h3WHFyRUpd4sFQL6Ul0urrq2Zg9cG4NHBkei3k9lsHA== + dependencies: + "@aws-sdk/types" "3.521.0" + "@smithy/types" "^2.10.0" + bowser "^2.11.0" + tslib "^2.5.0" + +"@aws-sdk/util-user-agent-node@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.521.0.tgz#5f0337af400037363676e7f45136b0463de412d8" + integrity sha512-g4KMEiyLc8DG21eMrp6fJUdfQ9F0fxfCNMDRgf0SE/pWI/u4vuWR2n8obLwq1pMVx7Ksva1NO3dc+a3Rgr0hag== + dependencies: + "@aws-sdk/types" "3.521.0" + "@smithy/node-config-provider" "^2.2.2" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@aws-sdk/util-utf8-browser@^3.0.0": + version "3.259.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz#3275a6f5eb334f96ca76635b961d3c50259fd9ff" + integrity sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/xml-builder@3.521.0": + version "3.521.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.521.0.tgz#628d5f38aa17ac5c6da70e10e40e2eef9b517b17" + integrity sha512-ahaG39sgpBN/UOKzOW9Ey6Iuy6tK8vh2D+/tsLFLQ59PXoCvU06xg++TGXKpxsYMJGIzBvZMDC1aBhGmm/HsaA== + dependencies: + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.21.4": version "7.21.4" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.21.4.tgz#d0fa9e4413aca81f2b23b9442797bda1826edb39" @@ -4353,6 +4974,470 @@ dependencies: "@sinonjs/commons" "^1.7.0" +"@smithy/abort-controller@^2.1.1", "@smithy/abort-controller@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-2.1.2.tgz#8d865c28ad0d6a39ed0fdf3c361d0e0d722182e3" + integrity sha512-iwUxrFm/ZFCXhzhtZ6JnoJzAsqUrVfBAZUTQj8ypXGtIjwXZpKqmgYiuqrDERiydDI5gesqvsC4Rqe57GGhbVg== + dependencies: + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@smithy/chunked-blob-reader-native@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.1.1.tgz#6b98479c8f6ea94832dd6a6e5ca78969a44eafe1" + integrity sha512-zNW+43dltfNMUrBEYLMWgI8lQr0uhtTcUyxkgC9EP4j17WREzgSFMPUFVrVV6Rc2+QtWERYjb4tzZnQGa7R9fQ== + dependencies: + "@smithy/util-base64" "^2.1.1" + tslib "^2.5.0" + +"@smithy/chunked-blob-reader@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader/-/chunked-blob-reader-2.1.1.tgz#997faba8e197e0cb9824dad30ae581466e386e57" + integrity sha512-NjNFCKxC4jVvn+lUr3Yo4/PmUJj3tbyqH6GNHueyTGS5Q27vlEJ1MkNhUDV8QGxJI7Bodnc2pD18lU2zRfhHlQ== + dependencies: + tslib "^2.5.0" + +"@smithy/config-resolver@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-2.1.2.tgz#68d8e175ba9b1112d74dbfdccd03dfa38b96c718" + integrity sha512-ZDMY63xJVsJl7ei/yIMv9nx8OiEOulwNnQOUDGpIvzoBrcbvYwiMjIMe5mP5J4fUmttKkpiTKwta/7IUriAn9w== + dependencies: + "@smithy/node-config-provider" "^2.2.2" + "@smithy/types" "^2.10.0" + "@smithy/util-config-provider" "^2.2.1" + "@smithy/util-middleware" "^2.1.2" + tslib "^2.5.0" + +"@smithy/core@^1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@smithy/core/-/core-1.3.3.tgz#383da328c514fb916041380196df6fc190a5a996" + integrity sha512-8cT/swERvU1EUMuJF914+psSeVy4+NcNhbRe1WEKN1yIMPE5+Tq5EaPq1HWjKCodcdBIyU9ViTjd62XnebXMHA== + dependencies: + "@smithy/middleware-endpoint" "^2.4.2" + "@smithy/middleware-retry" "^2.1.2" + "@smithy/middleware-serde" "^2.1.2" + "@smithy/protocol-http" "^3.2.0" + "@smithy/smithy-client" "^2.4.0" + "@smithy/types" "^2.10.0" + "@smithy/util-middleware" "^2.1.2" + tslib "^2.5.0" + +"@smithy/credential-provider-imds@^2.2.1", "@smithy/credential-provider-imds@^2.2.2": + version "2.2.2" + resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.2.tgz#58d5e38a8c50ae5119e94c0580421ea65789b13b" + integrity sha512-a2xpqWzhzcYwImGbFox5qJLf6i5HKdVeOVj7d6kVFElmbS2QW2T4HmefRc5z1huVArk9bh5Rk1NiFp9YBCXU3g== + dependencies: + "@smithy/node-config-provider" "^2.2.2" + "@smithy/property-provider" "^2.1.2" + "@smithy/types" "^2.10.0" + "@smithy/url-parser" "^2.1.2" + tslib "^2.5.0" + +"@smithy/eventstream-codec@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-2.1.2.tgz#b527902b7813c5d9d23fb1351b6e84046f2e00df" + integrity sha512-2PHrVRixITHSOj3bxfZmY93apGf8/DFiyhRh9W0ukfi07cvlhlRonZ0fjgcqryJjUZ5vYHqqmfIE/Qe1HM9mlw== + dependencies: + "@aws-crypto/crc32" "3.0.0" + "@smithy/types" "^2.10.0" + "@smithy/util-hex-encoding" "^2.1.1" + tslib "^2.5.0" + +"@smithy/eventstream-serde-browser@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.1.2.tgz#993f0c92bc0f5fcf734dea1217531f556efe62e6" + integrity sha512-2N11IFHvOmKuwK6hLVkqM8ge8oiQsFkflr4h07LToxo3rX+njkx/5eRn6RVcyNmpbdbxYYt0s0Pf8u+yhHmOKg== + dependencies: + "@smithy/eventstream-serde-universal" "^2.1.2" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@smithy/eventstream-serde-config-resolver@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.1.2.tgz#6423b5fb1140448286803dae1d444f3bf96d166e" + integrity sha512-nD/+k3mK+lMMwf2AItl7uWma+edHLqiE6LyIYXYnIBlCJcIQnA/vTHjHFoSJFCfG30sBJnU/7u4X5j/mbs9uKg== + dependencies: + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@smithy/eventstream-serde-node@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.1.2.tgz#283adddc9898689cd231a0e6efcdf9bdcec81333" + integrity sha512-zNE6DhbwDEWTKl4mELkrdgXBGC7UsFg1LDkTwizSOFB/gd7G7la083wb0JgU+xPt+TYKK0AuUlOM0rUZSJzqeA== + dependencies: + "@smithy/eventstream-serde-universal" "^2.1.2" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@smithy/eventstream-serde-universal@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.1.2.tgz#2ecbe6bffc7a40add81dbee04654c943bb602ec7" + integrity sha512-Upd/zy+dNvvIDPU1HGhW9ivNjvJQ0W4UkkQOzr5Mo0hz2lqnZAyOuit4TK2JAEg/oo+V1gUY4XywDc7zNbCF0g== + dependencies: + "@smithy/eventstream-codec" "^2.1.2" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@smithy/fetch-http-handler@^2.4.2": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.2.tgz#5ff26c1ef24c6e1d0acd189f6bc064f110fc446f" + integrity sha512-sIGMVwa/8h6eqNjarI3F07gvML3mMXcqBe+BINNLuKsVKXMNBN6wRzeZbbx7lfiJDEHAP28qRns8flHEoBB7zw== + dependencies: + "@smithy/protocol-http" "^3.2.0" + "@smithy/querystring-builder" "^2.1.2" + "@smithy/types" "^2.10.0" + "@smithy/util-base64" "^2.1.1" + tslib "^2.5.0" + +"@smithy/hash-blob-browser@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-2.1.2.tgz#0e57a302587f9833e45a036479149990f414cedc" + integrity sha512-f8QHgOVSXeYsc4BLKWdfXRowKa2g9byAkAX5c7Ku89bi9uBquWLEVmKlYXFBlkX562Fkmp2YSeciv+zZuOrIOQ== + dependencies: + "@smithy/chunked-blob-reader" "^2.1.1" + "@smithy/chunked-blob-reader-native" "^2.1.1" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@smithy/hash-node@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-2.1.2.tgz#3dba95fc89d4758cb6189f2029d846677ac1364e" + integrity sha512-3Sgn4s0g4xud1M/j6hQwYCkz04lVJ24wvCAx4xI26frr3Ao6v0o2VZkBpUySTeQbMUBp2DhuzJ0fV1zybzkckw== + dependencies: + "@smithy/types" "^2.10.0" + "@smithy/util-buffer-from" "^2.1.1" + "@smithy/util-utf8" "^2.1.1" + tslib "^2.5.0" + +"@smithy/hash-stream-node@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-2.1.2.tgz#85f940809bf646e4f7c485c2f23a7b3f04ac0fb3" + integrity sha512-UB6xo+KN3axrLO+MfnWb8mtdeep4vjGUcjYCVFdk9h+OqUb7JYWZZLRcupRPZx28cNBCBEUtc9wVZDI71JDdQA== + dependencies: + "@smithy/types" "^2.10.0" + "@smithy/util-utf8" "^2.1.1" + tslib "^2.5.0" + +"@smithy/invalid-dependency@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-2.1.2.tgz#45c0b34ca9dee56920b9313d88fa5a9e78c7bf41" + integrity sha512-qdgKhkFYxDJnKecx2ANwz3JRkXjm0qDgEnAs5BIfb2z/XqA2l7s9BTH7GTC/RR4E8h6EDCeb5rM2rnARxviqIg== + dependencies: + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@smithy/is-array-buffer@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-2.1.1.tgz#07b4c77ae67ed58a84400c76edd482271f9f957b" + integrity sha512-xozSQrcUinPpNPNPds4S7z/FakDTh1MZWtRP/2vQtYB/u3HYrX2UXuZs+VhaKBd6Vc7g2XPr2ZtwGBNDN6fNKQ== + dependencies: + tslib "^2.5.0" + +"@smithy/md5-js@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-2.1.2.tgz#205253479128980d3313189dd79d23f63ec757a1" + integrity sha512-C/FWR5ooyDNDfc1Opx3n0QFO5p4G0gldIbk2VU9mPGnZVTjzXcWM5jUQp33My5UK305tKYpG5/kZdQSNVh+tLw== + dependencies: + "@smithy/types" "^2.10.0" + "@smithy/util-utf8" "^2.1.1" + tslib "^2.5.0" + +"@smithy/middleware-content-length@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-2.1.2.tgz#c114f955d2b0fd3b61b1068908dd8d87ed070107" + integrity sha512-XEWtul1tHP31EtUIobEyN499paUIbnCTRtjY+ciDCEXW81lZmpjrDG3aL0FxJDPnvatVQuMV1V5eg6MCqTFaLQ== + dependencies: + "@smithy/protocol-http" "^3.2.0" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@smithy/middleware-endpoint@^2.4.2": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.2.tgz#dc229e8ee59e9f73ffd1ab4e020b2fc25cf2e7fd" + integrity sha512-72qbmVwaWcLOd/OT52fszrrlXywPwciwpsRiIk/dIvpcwkpGE9qrYZ2bt/SYcA/ma8Rz9Ni2AbBuSXLDYISS+A== + dependencies: + "@smithy/middleware-serde" "^2.1.2" + "@smithy/node-config-provider" "^2.2.2" + "@smithy/shared-ini-file-loader" "^2.3.2" + "@smithy/types" "^2.10.0" + "@smithy/url-parser" "^2.1.2" + "@smithy/util-middleware" "^2.1.2" + tslib "^2.5.0" + +"@smithy/middleware-retry@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-2.1.2.tgz#39762d83970b0458db3ad3469349d455ac6af4a4" + integrity sha512-tlvSK+v9bPHHb0dLWvEaFW2Iz0IeA57ISvSaso36I33u8F8wYqo5FCvenH7TgMVBx57jyJBXOmYCZa9n5gdJIg== + dependencies: + "@smithy/node-config-provider" "^2.2.2" + "@smithy/protocol-http" "^3.2.0" + "@smithy/service-error-classification" "^2.1.2" + "@smithy/smithy-client" "^2.4.0" + "@smithy/types" "^2.10.0" + "@smithy/util-middleware" "^2.1.2" + "@smithy/util-retry" "^2.1.2" + tslib "^2.5.0" + uuid "^8.3.2" + +"@smithy/middleware-serde@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-2.1.2.tgz#15b8258b806ecffd0a4c3fec3e56458cdef7ae66" + integrity sha512-XNU6aVIhlSbjuo2XsfZ7rd4HhjTXDlNWxAmhlBfViTW1TNK02CeWdeEntp5XtQKYD//pyTIbYi35EQvIidAkOw== + dependencies: + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@smithy/middleware-stack@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-2.1.2.tgz#17dbb56d85f51cb2c86c13dbad7fca35c843c61c" + integrity sha512-EPGaHGd4XmZcaRYjbhyqiqN/Q/ESxXu5e5TK24CTZUe99y8/XCxmiX8VLMM4H0DI7K3yfElR0wPAAvceoSkTgw== + dependencies: + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@smithy/node-config-provider@^2.2.2": + version "2.2.2" + resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-2.2.2.tgz#9422a0764dea8dec4a24f9aa570771d921dc657b" + integrity sha512-QXvpqHSijAm13ZsVkUo92b085UzDvYP1LblWTb3uWi9WilhDvYnVyPLXaryLhOWZ2YvdhK2170T3ZBqtg+quIQ== + dependencies: + "@smithy/property-provider" "^2.1.2" + "@smithy/shared-ini-file-loader" "^2.3.2" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@smithy/node-http-handler@^2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-2.4.0.tgz#21e48aa56ab334eee8afc69bb05f38f3883c3e95" + integrity sha512-Mf2f7MMy31W8LisJ9O+7J5cKiNwBwBBLU6biQ7/sFSFdhuOxPN7hOPoZ8vlaFjvrpfOUJw9YOpjGyNTKuvomOQ== + dependencies: + "@smithy/abort-controller" "^2.1.2" + "@smithy/protocol-http" "^3.2.0" + "@smithy/querystring-builder" "^2.1.2" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@smithy/property-provider@^2.1.1", "@smithy/property-provider@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-2.1.2.tgz#16c630ae0354c05595c99c6ab70a877ee9a180e4" + integrity sha512-yaXCVFKzxbSXqOoyA7AdAgXhwdjiLeui7n2P6XLjBCz/GZFdLUJgSY6KL1PevaxT4REMwUSs/bSHAe/0jdzEHw== + dependencies: + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@smithy/protocol-http@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-3.2.0.tgz#1b9ed9eb18cd256e0d7872ec2851f5d12ba37d87" + integrity sha512-VRp0YITYIQum+rX4zeZ3cW1wl9r90IQzQN+VLS1NxdSMt6NLsJiJqR9czTxlaeWNrLHsFAETmjmdrS48Ug1liA== + dependencies: + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@smithy/querystring-builder@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-2.1.2.tgz#78f028c25253e514915247b25c20b3cf0d6a035b" + integrity sha512-wk6QpuvBBLJF5w8aADsZOtxaHY9cF5MZe1Ry3hSqqBxARdUrMoXi/jukUz5W0ftXGlbA398IN8dIIUj3WXqJXg== + dependencies: + "@smithy/types" "^2.10.0" + "@smithy/util-uri-escape" "^2.1.1" + tslib "^2.5.0" + +"@smithy/querystring-parser@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-2.1.2.tgz#3883dfec5760f0f8cdf9acc837bdc631069df576" + integrity sha512-z1yL5Iiagm/UxVy1tcuTFZdfOBK/QtYeK6wfClAJ7cOY7kIaYR6jn1cVXXJmhAQSh1b2ljP4xiZN4Ybj7Tbs5w== + dependencies: + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@smithy/service-error-classification@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-2.1.2.tgz#b8b5c23a784bcb1eb229a921d7040575e29e38ed" + integrity sha512-R+gL1pAPuWkH6unFridk57wDH5PFY2IlVg2NUjSAjoaIaU+sxqKf/7AOWIcx9Bdn+xY0/4IRQ69urlC+F3I9gg== + dependencies: + "@smithy/types" "^2.10.0" + +"@smithy/shared-ini-file-loader@^2.3.1", "@smithy/shared-ini-file-loader@^2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.2.tgz#3e4943b534eaabda15372e611cdb428dfdd88362" + integrity sha512-idHGDJB+gBh+aaIjmWj6agmtNWftoyAenErky74hAtKyUaCvfocSBgEJ2pQ6o68svBluvGIj4NGFgJu0198mow== + dependencies: + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@smithy/signature-v4@^2.1.1": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-2.1.2.tgz#a658df8a5fcb57160e1c364d43b46e0d14f5995f" + integrity sha512-DdPWaNGIbxzyocR3ncH8xlxQgsqteRADEdCPoivgBzwv17UzKy2obtdi2vwNc5lAJ955bGEkkWef9O7kc1Eocg== + dependencies: + "@smithy/eventstream-codec" "^2.1.2" + "@smithy/is-array-buffer" "^2.1.1" + "@smithy/types" "^2.10.0" + "@smithy/util-hex-encoding" "^2.1.1" + "@smithy/util-middleware" "^2.1.2" + "@smithy/util-uri-escape" "^2.1.1" + "@smithy/util-utf8" "^2.1.1" + tslib "^2.5.0" + +"@smithy/smithy-client@^2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-2.4.0.tgz#f4cef6f63cdc267a32ded8446ca3db0ebb8fe64d" + integrity sha512-6/jxk0om9l2s9BcgHtrBn+Hd3xcFGDzxfEJ2FvGpZxIz0S7bgvZg1gyR66O1xf1w9WZBH+W7JClhfSn2gETINw== + dependencies: + "@smithy/middleware-endpoint" "^2.4.2" + "@smithy/middleware-stack" "^2.1.2" + "@smithy/protocol-http" "^3.2.0" + "@smithy/types" "^2.10.0" + "@smithy/util-stream" "^2.1.2" + tslib "^2.5.0" + +"@smithy/types@^2.10.0": + version "2.10.0" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-2.10.0.tgz#1cc16e3c04d56c49ecb88efa1b7fa9ca3a90d667" + integrity sha512-QYXQmpIebS8/jYXgyJjCanKZbI4Rr8tBVGBAIdDhA35f025TVjJNW69FJ0TGiDqt+lIGo037YIswq2t2Y1AYZQ== + dependencies: + tslib "^2.5.0" + +"@smithy/url-parser@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-2.1.2.tgz#915590d97a7c6beb0dcebc9e9458345cf6bf7f48" + integrity sha512-KBPi740ciTujUaY+RfQuPABD0QFmgSBN5qNVDCGTryfsbG4jkwC0YnElSzi72m24HegMyxzZDLG4Oh4/97mw2g== + dependencies: + "@smithy/querystring-parser" "^2.1.2" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@smithy/util-base64@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-2.1.1.tgz#af729085cc9d92ebd54a5d2c5d0aa5a0c31f83bf" + integrity sha512-UfHVpY7qfF/MrgndI5PexSKVTxSZIdz9InghTFa49QOvuu9I52zLPLUHXvHpNuMb1iD2vmc6R+zbv/bdMipR/g== + dependencies: + "@smithy/util-buffer-from" "^2.1.1" + tslib "^2.5.0" + +"@smithy/util-body-length-browser@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-2.1.1.tgz#1fc77072768013ae646415eedb9833cd252d055d" + integrity sha512-ekOGBLvs1VS2d1zM2ER4JEeBWAvIOUKeaFch29UjjJsxmZ/f0L3K3x0dEETgh3Q9bkZNHgT+rkdl/J/VUqSRag== + dependencies: + tslib "^2.5.0" + +"@smithy/util-body-length-node@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-2.2.1.tgz#a6f5c9911f1c3e23efb340d5ce7a590b62f2056e" + integrity sha512-/ggJG+ta3IDtpNVq4ktmEUtOkH1LW64RHB5B0hcr5ZaWBmo96UX2cIOVbjCqqDickTXqBWZ4ZO0APuaPrD7Abg== + dependencies: + tslib "^2.5.0" + +"@smithy/util-buffer-from@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-2.1.1.tgz#f9346bf8b23c5ba6f6bdb61dd9db779441ba8d08" + integrity sha512-clhNjbyfqIv9Md2Mg6FffGVrJxw7bgK7s3Iax36xnfVj6cg0fUG7I4RH0XgXJF8bxi+saY5HR21g2UPKSxVCXg== + dependencies: + "@smithy/is-array-buffer" "^2.1.1" + tslib "^2.5.0" + +"@smithy/util-config-provider@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-2.2.1.tgz#aea0a80236d6cedaee60473802899cff4a8cc0ba" + integrity sha512-50VL/tx9oYYcjJn/qKqNy7sCtpD0+s8XEBamIFo4mFFTclKMNp+rsnymD796uybjiIquB7VCB/DeafduL0y2kw== + dependencies: + tslib "^2.5.0" + +"@smithy/util-defaults-mode-browser@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.2.tgz#5f4c328605635656dee624a1686c7616aadccf4d" + integrity sha512-YmojdmsE7VbvFGJ/8btn/5etLm1HOQkgVX6nMWlB0yBL/Vb//s3aTebUJ66zj2+LNrBS3B9S+18+LQU72Yj0AQ== + dependencies: + "@smithy/property-provider" "^2.1.2" + "@smithy/smithy-client" "^2.4.0" + "@smithy/types" "^2.10.0" + bowser "^2.11.0" + tslib "^2.5.0" + +"@smithy/util-defaults-mode-node@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.2.1.tgz#034918f2f945974e7414c092cb250f2d45fe0ceb" + integrity sha512-kof7M9Q2qP5yaQn8hHJL3KwozyvIfLe+ys7feifSul6gBAAeoraibo/MWqotb/I0fVLMlCMDwn7WXFsGUwnsew== + dependencies: + "@smithy/config-resolver" "^2.1.2" + "@smithy/credential-provider-imds" "^2.2.2" + "@smithy/node-config-provider" "^2.2.2" + "@smithy/property-provider" "^2.1.2" + "@smithy/smithy-client" "^2.4.0" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@smithy/util-endpoints@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-1.1.2.tgz#92f743ac8c2c3a99b1558a1c956864b565aa23e7" + integrity sha512-2/REfdcJ20y9iF+9kSBRBsaoGzjT5dZ3E6/TA45GHJuJAb/vZTj76VLTcrl2iN3fWXiDK1B8RxchaLGbr7RxxA== + dependencies: + "@smithy/node-config-provider" "^2.2.2" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@smithy/util-hex-encoding@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-2.1.1.tgz#978252b9fb242e0a59bae4ead491210688e0d15f" + integrity sha512-3UNdP2pkYUUBGEXzQI9ODTDK+Tcu1BlCyDBaRHwyxhA+8xLP8agEKQq4MGmpjqb4VQAjq9TwlCQX0kP6XDKYLg== + dependencies: + tslib "^2.5.0" + +"@smithy/util-middleware@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-2.1.2.tgz#5e2e13c96e95b65ae5980a658e1b10e222a42482" + integrity sha512-lvSOnwQ7iAajtWb1nAyy0CkOIn8d+jGykQOtt2NXDsPzOTfejZM/Uph+O/TmVgWoXdcGuw5peUMG2f5xEIl6UQ== + dependencies: + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@smithy/util-retry@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-2.1.2.tgz#4b7d3ac79ad9a3b3cb01d21d8fe5ea0b99390b90" + integrity sha512-pqifOgRqwLfRu+ks3awEKKqPeYxrHLwo4Yu2EarGzeoarTd1LVEyyf5qLE6M7IiCsxnXRhn9FoWIdZOC+oC/VQ== + dependencies: + "@smithy/service-error-classification" "^2.1.2" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + +"@smithy/util-stream@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-2.1.2.tgz#c1ab318fa2f14ef044bdec7cb93a9ffc36388f85" + integrity sha512-AbGjvoSok7YeUKv9WRVRSChQfsufLR54YCAabTbaABRdIucywRQs29em0uAP6r4RLj+4aFZStWGYpFgT0P8UlQ== + dependencies: + "@smithy/fetch-http-handler" "^2.4.2" + "@smithy/node-http-handler" "^2.4.0" + "@smithy/types" "^2.10.0" + "@smithy/util-base64" "^2.1.1" + "@smithy/util-buffer-from" "^2.1.1" + "@smithy/util-hex-encoding" "^2.1.1" + "@smithy/util-utf8" "^2.1.1" + tslib "^2.5.0" + +"@smithy/util-uri-escape@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-2.1.1.tgz#7eedc93b73ecda68f12fb9cf92e9fa0fbbed4d83" + integrity sha512-saVzI1h6iRBUVSqtnlOnc9ssU09ypo7n+shdQ8hBTZno/9rZ3AuRYvoHInV57VF7Qn7B+pFJG7qTzFiHxWlWBw== + dependencies: + tslib "^2.5.0" + +"@smithy/util-utf8@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-2.1.1.tgz#690018dd28f47f014114497735e51417ea5900a6" + integrity sha512-BqTpzYEcUMDwAKr7/mVRUtHDhs6ZoXDi9NypMvMfOr/+u1NW7JgqodPDECiiLboEm6bobcPcECxzjtQh865e9A== + dependencies: + "@smithy/util-buffer-from" "^2.1.1" + tslib "^2.5.0" + +"@smithy/util-waiter@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-2.1.2.tgz#194f8cbd9c8c7c6e03d57c22eb057fb6f30e0b44" + integrity sha512-yxLC57GBDmbDmrnH+vJxsrbV4/aYUucBONkSRLZyJIVFAl/QJH+O/h+phITHDaxVZCYZAcudYJw4ERE32BJM7g== + dependencies: + "@smithy/abort-controller" "^2.1.2" + "@smithy/types" "^2.10.0" + tslib "^2.5.0" + "@strapi/admin@4.11.4": version "4.11.4" resolved "https://registry.yarnpkg.com/@strapi/admin/-/admin-4.11.4.tgz#5b09ad62b8e36e482858df98b6ba3ba7992250ec" @@ -6713,6 +7798,11 @@ boolbase@^1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== +bowser@^2.11.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" + integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== + boxen@5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" @@ -6844,6 +7934,14 @@ buffer@4.9.2: ieee754 "^1.1.4" isarray "^1.0.0" +buffer@5.6.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== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + buffer@^5.1.0, buffer@^5.5.0, buffer@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" @@ -9031,7 +10129,7 @@ events@1.1.1: resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" integrity sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw== -events@^3.2.0: +events@3.3.0, events@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== @@ -9292,6 +10390,13 @@ fast-safe-stringify@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== +fast-xml-parser@4.2.5: + version "4.2.5" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz#a6747a09296a6cb34f2ae634019bf1738f3b421f" + integrity sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g== + dependencies: + strnum "^1.0.5" + fastest-levenshtein@^1.0.12: version "1.0.16" resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" @@ -10557,7 +11662,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -12975,7 +14080,7 @@ mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-types@2.1.35, mime-types@^2.1.12, mime-types@^2.1.18, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: +mime-types@2.1.35, mime-types@^2.1.12, mime-types@^2.1.18, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@^2.1.35, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== @@ -15087,7 +16192,7 @@ readable-stream@^2.0.1, readable-stream@~2.3.6: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: +readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: version "3.6.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -16210,6 +17315,14 @@ stop-iteration-iterator@^1.0.0: dependencies: internal-slot "^1.0.4" +stream-browserify@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" + integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== + dependencies: + inherits "~2.0.4" + readable-stream "^3.5.0" + stream-chain@2.2.5, stream-chain@^2.2.5: version "2.2.5" resolved "https://registry.yarnpkg.com/stream-chain/-/stream-chain-2.2.5.tgz#b30967e8f14ee033c5b9a19bbe8a2cba90ba0d09" @@ -16365,6 +17478,11 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== +strnum@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" + integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== + strong-log-transformer@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" @@ -16911,7 +18029,7 @@ tslib@2.5.3: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.3.tgz#24944ba2d990940e6e982c4bea147aba80209913" integrity sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w== -tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: +tslib@^1.10.0, tslib@^1.11.1, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== @@ -16926,6 +18044,11 @@ tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.0, tslib@^2.5.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== +tslib@^2.3.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + tslib@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a"