@digital-ai/dot-components 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dot-components.esm.js +643 -2726
- package/dot-components.umd.js +918 -3003
- package/lib/components/auto-complete/AutoComplete.d.ts +11 -1
- package/lib/components/badge/Badge.d.ts +14 -0
- package/lib/components/badge/Badge.styles.d.ts +3 -0
- package/lib/components/button/Button.d.ts +2 -2
- package/lib/components/icon/Icon.d.ts +1 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/components/menu/Menu.d.ts +4 -1
- package/lib/components/split-button/SplitButton.styles.d.ts +1 -1
- package/lib/components/table/Table.stories.data.d.ts +17 -5
- package/lib/components/table/Table.styles.d.ts +2 -0
- package/lib/components/table/TableCell.d.ts +2 -1
- package/lib/components/table/TableRow.d.ts +3 -1
- package/package.json +1 -1
package/dot-components.esm.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import React__default, {
|
|
3
|
-
import { Icon, Typography, Accordion, AccordionSummary, Tooltip, AccordionDetails, Divider, AccordionActions, Toolbar, IconButton, Link, Avatar, StylesProvider, MuiThemeProvider, Popper, Grow, Paper, ClickAwayListener, MenuList, MenuItem, List, ListItem, ListSubheader, Collapse, ListItemIcon, Drawer, Chip, InputAdornment, TextField,
|
|
2
|
+
import React__default, { useEffect, useState, Fragment, useRef, useContext, useMemo, createContext } from 'react';
|
|
3
|
+
import { Icon, Typography, Accordion, AccordionSummary, Tooltip, AccordionDetails, Divider, AccordionActions, Toolbar, IconButton, Link, Avatar, StylesProvider, MuiThemeProvider, Popper, Grow, Paper, ClickAwayListener, MenuList, MenuItem, List, ListItem, ListSubheader, Collapse, ListItemIcon, Drawer, Chip, InputAdornment, TextField, Button, darken, Badge, Breadcrumbs, Card, CardContent, CardHeader, FormControlLabel, Checkbox, FormControl, FormGroup, FormLabel, FormHelperText, Dialog, DialogTitle, DialogContent, DialogActions, useTheme, RadioGroup, CircularProgress, Radio, Snackbar, ButtonGroup, Switch, TableContainer, TableCell, TableRow, TableBody, TableHead, TableSortLabel, TablePagination, Table, Tabs, Tab } from '@material-ui/core';
|
|
4
4
|
import styled, { css, createGlobalStyle, ThemeProvider } from 'styled-components';
|
|
5
5
|
import { Alert, Autocomplete, AvatarGroup, ToggleButtonGroup, ToggleButton, Skeleton } from '@material-ui/lab';
|
|
6
|
+
import { createTheme, alpha } from '@material-ui/core/styles';
|
|
6
7
|
|
|
7
8
|
function useStylesWithRootClass(name, className) {
|
|
8
9
|
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
@@ -23,20 +24,28 @@ function _taggedTemplateLiteralLoose(strings, raw) {
|
|
|
23
24
|
return strings;
|
|
24
25
|
}
|
|
25
26
|
|
|
26
|
-
var _templateObject$
|
|
27
|
-
var rootClassName$
|
|
28
|
-
var StyledIcon = styled(Icon)(_templateObject$I || (_templateObject$I = _taggedTemplateLiteralLoose(["\n &.", " {\n align-items: center;\n box-sizing: content-box;\n display: flex;\n float: left; // allows flex items to display inline\n font-size: 20px;\n justify-content: center;\n\n &.MuiIcon-fontSizeLarge {\n font-size: 28px;\n height: 35px;\n width: 35px;\n\n i {\n height: 28px\n }\n }\n &.MuiIcon-fontSizeSmall {\n font-size: 18px;\n\n i {\n height: 18px;\n }\n }\n\n i {\n height: 20px;\n\n &:before {\n font-family: 'dot' !important;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n &.icon-user-security:before {\n content: \"\\e9d2\";\n }\n\n &.icon-rocket:before {\n content: \"\\e9d3\";\n }\n\n &.icon-merge:before {\n content: \"\\e9d1\";\n }\n\n &.icon-cpu:before {\n content: \"\\e9d0\";\n }\n\n &.icon-progeression:before {\n content: \"\\e9cf\";\n }\n\n &.icon-commit:before {\n content: \"\\e95f\";\n }\n &.icon-design:before {\n content: \"\\e960\";\n }\n &.icon-key:before {\n content: \"\\e981\";\n }\n &.icon-infrastructure:before {\n content: \"\\e989\";\n }\n &.icon-report:before {\n content: \"\\e9ce\";\n }\n &.icon-package:before {\n content: \"\\e9c9\";\n }\n &.icon-security-off:before {\n content: \"\\e9ca\";\n }\n &.icon-security-on:before {\n content: \"\\e9cb\";\n }\n &.icon-marker-check:before {\n content: \"\\e9cc\";\n }\n &.icon-restore:before {\n content: \"\\e9cd\";\n }\n &.icon-check-outlined:before {\n content: \"\\e9c7\";\n }\n &.icon-circle-half-full:before {\n content: \"\\e9c8\";\n }\n &.icon-host:before {\n content: '\\e9b9';\n }\n &.icon-cluster:before {\n content: '\\e9ba';\n }\n &.icon-environment:before {\n content: '\\e9bb';\n }\n &.icon-monitor-controls:before {\n content: '\\e9bc';\n }\n &.icon-flag:before {\n content: '\\e9bd';\n }\n &.icon-satelite:before {\n content: '\\e9be';\n }\n &.icon-satelite-group:before {\n content: '\\e9bf';\n }\n &.icon-monitor-gears:before {\n content: '\\e9c0';\n }\n &.icon-patch:before {\n content: '\\e9b6';\n }\n &.icon-branch:before {\n content: '\\e9b4';\n }\n &.icon-send-airplane:before {\n content: '\\e9b5';\n }\n &.icon-briefcase:before {\n content: '\\e9b7';\n }\n &.icon-cluster-dependencies:before {\n content: '\\e9b8';\n }\n &.icon-script:before {\n content: '\\e966';\n }\n &.icon-pattern-bundle:before {\n content: '\\e967';\n }\n &.icon-outline:before {\n content: '\\e968';\n }\n &.icon-apps:before {\n content: '\\e969';\n }\n &.icon-archive:before {\n content: '\\e96a';\n }\n &.icon-arrow-down:before {\n content: '\\e96b';\n }\n &.icon-arrow-right:before {\n content: '\\e96c';\n }\n &.icon-arrow-up:before {\n content: '\\e96d';\n }\n &.icon-attachment:before {\n content: '\\e96e';\n }\n &.icon-board:before {\n content: '\\e96f';\n }\n &.icon-calendar:before {\n content: '\\e970';\n }\n &.icon-change:before {\n content: '\\e971';\n }\n &.icon-chevron-right:before {\n content: '\\e972';\n }\n &.icon-circle-minus-outlines:before {\n content: '\\e973';\n }\n &.icon-circle-paused:before {\n content: '\\e974';\n }\n &.icon-column:before {\n content: '\\e975';\n }\n &.icon-comment:before {\n content: '\\e976';\n }\n &.icon-configuration-preferences:before {\n content: '\\e977';\n }\n &.icon-conversation-bubbles:before {\n content: '\\e978';\n }\n &.icon-dashboard:before {\n content: '\\e979';\n }\n &.icon-database:before {\n content: '\\e97a';\n }\n &.icon-delivery-eta-icon:before {\n content: '\\e97b';\n }\n &.icon-download:before {\n content: '\\e97c';\n }\n &.icon-drag:before {\n content: '\\e97d';\n }\n &.icon-duplicate:before {\n content: '\\e97e';\n }\n &.icon-exit:before {\n content: '\\e97f';\n }\n &.icon-expand-chevrons:before {\n content: '\\e980';\n }\n &.icon-expander:before {\n content: '\\e981';\n }\n &.icon-file-image:before {\n content: '\\e982';\n }\n &.icon-file-lines:before {\n content: '\\e983';\n }\n &.icon-file-warning:before {\n content: '\\e984';\n }\n &.icon-file:before {\n content: '\\e985';\n }\n &.icon-filter:before {\n content: '\\e986';\n }\n &.icon-flag-none:before {\n content: '\\e987';\n }\n &.icon-folder:before {\n content: '\\e988';\n }\n &.icon-full-screen:before {\n content: '\\e989';\n }\n &.icon-fullscreen-enter:before {\n content: '\\e98a';\n }\n &.icon-fullscreen-exit:before {\n content: '\\e98b';\n }\n &.icon-grid:before {\n content: '\\e98c';\n }\n &.icon-hard-drive:before {\n content: '\\e98d';\n }\n &.icon-help:before {\n content: '\\e98e';\n }\n &.icon-history:before {\n content: '\\e98f';\n }\n &.icon-inbox:before {\n content: '\\e990';\n }\n &.icon-link:before {\n content: '\\e991';\n }\n &.icon-list:before {\n content: '\\e992';\n }\n &.icon-lock:before {\n content: '\\e993';\n }\n &.icon-mail:before {\n content: '\\e994';\n }\n &.icon-menu:before {\n content: '\\e995';\n }\n &.icon-monitor-satellite:before {\n content: '\\e996';\n }\n &.icon-monitor:before {\n content: '\\e997';\n }\n &.icon-notification-bell:before {\n content: '\\e998';\n }\n &.icon-open-new-tab:before {\n content: '\\e999';\n }\n &.icon-options:before {\n content: '\\e99a';\n }\n &.icon-parallel:before {\n content: '\\e99b';\n }\n &.icon-pending-clock:before {\n content: '\\e99c';\n }\n &.icon-play:before {\n content: '\\e99d';\n }\n &.icon-redo:before {\n content: '\\e99e';\n }\n &.icon-refresh:before {\n content: '\\e99f';\n }\n &.icon-release:before {\n content: '\\e9a0';\n }\n &.icon-search:before {\n content: '\\e9a3';\n }\n &.icon-sequential:before {\n content: '\\e9a4';\n }\n &.icon-sort-asc:before {\n content: '\\e9a5';\n }\n &.icon-sort-desc:before {\n content: '\\e9a6';\n }\n &.icon-star-favorites-active:before {\n content: '\\e9a7';\n }\n &.icon-star-favorites-default:before {\n content: '\\e9a8';\n }\n &.icon-target:before {\n content: '\\e9a9';\n }\n &.icon-task:before {\n content: '\\e9aa';\n }\n &.icon-template:before {\n content: '\\e9ab';\n }\n &.icon-undo:before {\n content: '\\e9ac';\n }\n &.icon-unlock:before {\n content: '\\e9ad';\n }\n &.icon-variable:before {\n content: '\\e9ae';\n }\n &.icon-vault:before {\n content: '\\e9af';\n }\n &.icon-visibility-off:before {\n content: '\\e9b0';\n }\n &.icon-visibility-on:before {\n content: '\\e9b1';\n }\n &.icon-webhook:before {\n content: '\\e9b2';\n }\n &.icon-wrench:before {\n content: '\\e9b3';\n }\n &.icon-bright:before {\n content: '\\e961';\n }\n &.icon-rogue-commits:before {\n content: '\\e962';\n }\n &.icon-home:before {\n content: '\\e963';\n }\n &.icon-blocking-issues:before {\n content: '\\e964';\n }\n &.icon-print-link:before {\n content: '\\e965';\n }\n &.icon-logo-deploy:before {\n content: '\\e902';\n }\n &.icon-logo-experitest:before {\n content: '\\e903';\n }\n &.icon-logo-numerify:before {\n content: '\\e904';\n }\n &.icon-logo-arxan:before {\n content: '\\e905';\n }\n &.icon-logo-continuum:before {\n content: '\\e906';\n }\n &.icon-logo-versionone:before {\n content: '\\e907';\n }\n &.icon-logo-release:before {\n content: '\\e908';\n }\n &.icon-warning-solid:before {\n content: '\\e909';\n }\n &.icon-warning-outline:before {\n content: '\\e90a';\n }\n &.icon-info-solid:before {\n content: '\\e90b';\n }\n &.icon-minus-solid:before {\n content: '\\e90c';\n }\n &.icon-check-solid:before {\n content: '\\e90d';\n }\n &.icon-error-solid:before {\n content: '\\e90e';\n }\n &.icon-error-outlines:before {\n content: '\\e90f';\n }\n &.icon-add-outlined:before {\n content: '\\e910';\n }\n &.icon-add-solid:before {\n content: '\\e911';\n }\n &.icon-clear-solid:before {\n content: '\\e912';\n }\n &.icon-dark:before {\n content: '\\e913';\n }\n &.icon-location:before {\n content: '\\e914';\n }\n &.icon-roadmap:before {\n content: '\\e915';\n }\n &.icon-follow-solid:before {\n content: '\\e916';\n }\n &.icon-follow-outlined:before {\n content: '\\e917';\n }\n &.icon-video:before {\n content: '\\e918';\n }\n &.icon-thumbs-down:before {\n content: '\\e919';\n }\n &.icon-camera:before {\n content: '\\e91a';\n }\n &.icon-users:before {\n content: '\\e91b';\n }\n &.icon-user:before {\n content: '\\e91c';\n }\n &.icon-announcement:before {\n content: '\\e91d';\n }\n &.icon-not-allowed:before {\n content: '\\e91e';\n }\n &.icon-zoom-out:before {\n content: '\\e91f';\n }\n &.icon-zoom-in:before {\n content: '\\e920';\n }\n &.icon-triangle:before {\n content: '\\e921';\n }\n &.icon-delay:before {\n content: '\\e922';\n }\n &.icon-circle-outline:before {\n content: '\\e923';\n }\n &.icon-circle:before {\n content: '\\e924';\n }\n &.icon-add-from-list:before {\n content: '\\e925';\n }\n &.icon-sync:before {\n content: '\\e926';\n }\n &.icon-keyboard:before {\n content: '\\e927';\n }\n &.icon-planner:before {\n content: '\\e928';\n }\n &.icon-tag:before {\n content: '\\e929';\n }\n &.icon-progress:before {\n content: '\\e92a';\n }\n &.icon-timeline:before {\n content: '\\e92b';\n }\n &.icon-abort:before {\n content: '\\e92c';\n }\n &.icon-cancel:before {\n content: '\\e92d';\n }\n &.icon-power:before {\n content: '\\e92e';\n }\n &.icon-resize:before {\n content: '\\e92f';\n }\n &.icon-close:before {\n content: '\\e930';\n }\n &.icon-save:before {\n content: '\\e931';\n }\n &.icon-drag-vertical-up-down:before {\n content: '\\e932';\n }\n &.icon-add:before {\n content: '\\e933';\n }\n &.icon-minus:before {\n content: '\\e934';\n }\n &.icon-target-none:before {\n content: '\\e935';\n }\n &.icon-placeholder:before {\n content: '\\e936';\n }\n &.icon-server:before {\n content: '\\e937';\n }\n &.icon-square-wrench:before {\n content: '\\e938';\n }\n &.icon-square-wrench-check:before {\n content: '\\e939';\n }\n &.icon-square-settings:before {\n content: '\\e93a';\n }\n &.icon-trigger:before {\n content: '\\e93c';\n }\n &.icon-precondition:before {\n content: '\\e93d';\n }\n &.icon-composition:before {\n content: '\\e93e';\n }\n &.icon-block:before {\n content: '\\e93f';\n }\n &.icon-group:before {\n content: '\\e940';\n }\n &.icon-settings-admin-opaque:before {\n content: '\\e941';\n }\n &.icon-puzzle:before {\n content: '\\e942';\n }\n &.icon-alphabet-icon:before {\n content: '\\e943';\n }\n &.icon-crop:before {\n content: '\\e944';\n }\n &.icon-upload-file:before {\n content: '\\e945';\n }\n &.icon-container:before {\n content: '\\e946';\n }\n &.icon-flag-risk:before {\n content: '\\e947';\n }\n &.icon-learn:before {\n content: '\\e948';\n }\n &.icon-tree:before {\n content: '\\e949';\n }\n &.icon-process-template:before {\n content: '\\e94a';\n }\n &.icon-flag-attention:before {\n content: '\\e94b';\n }\n &.icon-collection:before {\n content: '\\e94c';\n }\n &.icon-table:before {\n content: '\\e94d';\n }\n &.icon-linkBrakeIt:before {\n content: '\\e94e';\n }\n &.icon-move-folder:before {\n content: '\\e94f';\n }\n &.icon-columns:before {\n content: '\\e950';\n }\n &.icon-file-word-doc:before {\n content: '\\e951';\n }\n &.icon-file-ppt:before {\n content: '\\e952';\n }\n &.icon-file-zip:before {\n content: '\\e953';\n }\n &.icon-file-xls:before {\n content: '\\e954';\n }\n &.icon-file-pdf:before {\n content: '\\e955';\n }\n &.icon-file-xml:before {\n content: '\\e956';\n }\n &.icon-dictionary-locked:before {\n content: '\\e957';\n }\n &.icon-dictionary:before {\n content: '\\e958';\n }\n &.icon-file-dotted:before {\n content: '\\e959';\n }\n &.icon-file-circle-check:before {\n content: '\\e95a';\n }\n &.icon-back:before {\n content: '\\e95b';\n }\n &.icon-chevron-left:before {\n content: '\\e95c';\n }\n &.icon-chevron-up:before {\n content: '\\e95d';\n }\n &.icon-chevron-down:before {\n content: '\\e95e';\n }\n &.icon-return-level-up:before {\n content: '\\e95f';\n }\n &.icon-return:before {\n content: '\\e960';\n }\n &.icon-edit:before {\n content: '\\e900';\n }\n &.icon-delete:before {\n content: '\\e901';\n }\n &.icon-settings:before {\n content: \"\\e93b\";\n }\n &.icon-network-drive:before {\n content: \"\\e9a1\";\n }\n &.icon-GitOps:before {\n content: \"\\e9a2\";\n }\n &.icon-rss:before {\n content: \"\\e9c1\";\n }\n &.icon-bug:before {\n content: \"\\e9c2\";\n }\n &.icon-cloud:before {\n content: \"\\e9c3\";\n }\n &.icon-more-horizontal:before {\n content: \"\\e9c4\";\n }\n &.icon-expand:before {\n content: \"\\e9c5\";\n }\n &.icon-collapse:before {\n content: \"\\e9c6\";\n }\n }\n }\n }"], ["\n &.", " {\n align-items: center;\n box-sizing: content-box;\n display: flex;\n float: left; // allows flex items to display inline\n font-size: 20px;\n justify-content: center;\n\n &.MuiIcon-fontSizeLarge {\n font-size: 28px;\n height: 35px;\n width: 35px;\n\n i {\n height: 28px\n }\n }\n &.MuiIcon-fontSizeSmall {\n font-size: 18px;\n\n i {\n height: 18px;\n }\n }\n\n i {\n height: 20px;\n\n &:before {\n font-family: 'dot' !important;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n &.icon-user-security:before {\n content: \"\\\\e9d2\";\n }\n\n &.icon-rocket:before {\n content: \"\\\\e9d3\";\n }\n\n &.icon-merge:before {\n content: \"\\\\e9d1\";\n }\n\n &.icon-cpu:before {\n content: \"\\\\e9d0\";\n }\n\n &.icon-progeression:before {\n content: \"\\\\e9cf\";\n }\n\n &.icon-commit:before {\n content: \"\\\\e95f\";\n }\n &.icon-design:before {\n content: \"\\\\e960\";\n }\n &.icon-key:before {\n content: \"\\\\e981\";\n }\n &.icon-infrastructure:before {\n content: \"\\\\e989\";\n }\n &.icon-report:before {\n content: \"\\\\e9ce\";\n }\n &.icon-package:before {\n content: \"\\\\e9c9\";\n }\n &.icon-security-off:before {\n content: \"\\\\e9ca\";\n }\n &.icon-security-on:before {\n content: \"\\\\e9cb\";\n }\n &.icon-marker-check:before {\n content: \"\\\\e9cc\";\n }\n &.icon-restore:before {\n content: \"\\\\e9cd\";\n }\n &.icon-check-outlined:before {\n content: \"\\\\e9c7\";\n }\n &.icon-circle-half-full:before {\n content: \"\\\\e9c8\";\n }\n &.icon-host:before {\n content: '\\\\e9b9';\n }\n &.icon-cluster:before {\n content: '\\\\e9ba';\n }\n &.icon-environment:before {\n content: '\\\\e9bb';\n }\n &.icon-monitor-controls:before {\n content: '\\\\e9bc';\n }\n &.icon-flag:before {\n content: '\\\\e9bd';\n }\n &.icon-satelite:before {\n content: '\\\\e9be';\n }\n &.icon-satelite-group:before {\n content: '\\\\e9bf';\n }\n &.icon-monitor-gears:before {\n content: '\\\\e9c0';\n }\n &.icon-patch:before {\n content: '\\\\e9b6';\n }\n &.icon-branch:before {\n content: '\\\\e9b4';\n }\n &.icon-send-airplane:before {\n content: '\\\\e9b5';\n }\n &.icon-briefcase:before {\n content: '\\\\e9b7';\n }\n &.icon-cluster-dependencies:before {\n content: '\\\\e9b8';\n }\n &.icon-script:before {\n content: '\\\\e966';\n }\n &.icon-pattern-bundle:before {\n content: '\\\\e967';\n }\n &.icon-outline:before {\n content: '\\\\e968';\n }\n &.icon-apps:before {\n content: '\\\\e969';\n }\n &.icon-archive:before {\n content: '\\\\e96a';\n }\n &.icon-arrow-down:before {\n content: '\\\\e96b';\n }\n &.icon-arrow-right:before {\n content: '\\\\e96c';\n }\n &.icon-arrow-up:before {\n content: '\\\\e96d';\n }\n &.icon-attachment:before {\n content: '\\\\e96e';\n }\n &.icon-board:before {\n content: '\\\\e96f';\n }\n &.icon-calendar:before {\n content: '\\\\e970';\n }\n &.icon-change:before {\n content: '\\\\e971';\n }\n &.icon-chevron-right:before {\n content: '\\\\e972';\n }\n &.icon-circle-minus-outlines:before {\n content: '\\\\e973';\n }\n &.icon-circle-paused:before {\n content: '\\\\e974';\n }\n &.icon-column:before {\n content: '\\\\e975';\n }\n &.icon-comment:before {\n content: '\\\\e976';\n }\n &.icon-configuration-preferences:before {\n content: '\\\\e977';\n }\n &.icon-conversation-bubbles:before {\n content: '\\\\e978';\n }\n &.icon-dashboard:before {\n content: '\\\\e979';\n }\n &.icon-database:before {\n content: '\\\\e97a';\n }\n &.icon-delivery-eta-icon:before {\n content: '\\\\e97b';\n }\n &.icon-download:before {\n content: '\\\\e97c';\n }\n &.icon-drag:before {\n content: '\\\\e97d';\n }\n &.icon-duplicate:before {\n content: '\\\\e97e';\n }\n &.icon-exit:before {\n content: '\\\\e97f';\n }\n &.icon-expand-chevrons:before {\n content: '\\\\e980';\n }\n &.icon-expander:before {\n content: '\\\\e981';\n }\n &.icon-file-image:before {\n content: '\\\\e982';\n }\n &.icon-file-lines:before {\n content: '\\\\e983';\n }\n &.icon-file-warning:before {\n content: '\\\\e984';\n }\n &.icon-file:before {\n content: '\\\\e985';\n }\n &.icon-filter:before {\n content: '\\\\e986';\n }\n &.icon-flag-none:before {\n content: '\\\\e987';\n }\n &.icon-folder:before {\n content: '\\\\e988';\n }\n &.icon-full-screen:before {\n content: '\\\\e989';\n }\n &.icon-fullscreen-enter:before {\n content: '\\\\e98a';\n }\n &.icon-fullscreen-exit:before {\n content: '\\\\e98b';\n }\n &.icon-grid:before {\n content: '\\\\e98c';\n }\n &.icon-hard-drive:before {\n content: '\\\\e98d';\n }\n &.icon-help:before {\n content: '\\\\e98e';\n }\n &.icon-history:before {\n content: '\\\\e98f';\n }\n &.icon-inbox:before {\n content: '\\\\e990';\n }\n &.icon-link:before {\n content: '\\\\e991';\n }\n &.icon-list:before {\n content: '\\\\e992';\n }\n &.icon-lock:before {\n content: '\\\\e993';\n }\n &.icon-mail:before {\n content: '\\\\e994';\n }\n &.icon-menu:before {\n content: '\\\\e995';\n }\n &.icon-monitor-satellite:before {\n content: '\\\\e996';\n }\n &.icon-monitor:before {\n content: '\\\\e997';\n }\n &.icon-notification-bell:before {\n content: '\\\\e998';\n }\n &.icon-open-new-tab:before {\n content: '\\\\e999';\n }\n &.icon-options:before {\n content: '\\\\e99a';\n }\n &.icon-parallel:before {\n content: '\\\\e99b';\n }\n &.icon-pending-clock:before {\n content: '\\\\e99c';\n }\n &.icon-play:before {\n content: '\\\\e99d';\n }\n &.icon-redo:before {\n content: '\\\\e99e';\n }\n &.icon-refresh:before {\n content: '\\\\e99f';\n }\n &.icon-release:before {\n content: '\\\\e9a0';\n }\n &.icon-search:before {\n content: '\\\\e9a3';\n }\n &.icon-sequential:before {\n content: '\\\\e9a4';\n }\n &.icon-sort-asc:before {\n content: '\\\\e9a5';\n }\n &.icon-sort-desc:before {\n content: '\\\\e9a6';\n }\n &.icon-star-favorites-active:before {\n content: '\\\\e9a7';\n }\n &.icon-star-favorites-default:before {\n content: '\\\\e9a8';\n }\n &.icon-target:before {\n content: '\\\\e9a9';\n }\n &.icon-task:before {\n content: '\\\\e9aa';\n }\n &.icon-template:before {\n content: '\\\\e9ab';\n }\n &.icon-undo:before {\n content: '\\\\e9ac';\n }\n &.icon-unlock:before {\n content: '\\\\e9ad';\n }\n &.icon-variable:before {\n content: '\\\\e9ae';\n }\n &.icon-vault:before {\n content: '\\\\e9af';\n }\n &.icon-visibility-off:before {\n content: '\\\\e9b0';\n }\n &.icon-visibility-on:before {\n content: '\\\\e9b1';\n }\n &.icon-webhook:before {\n content: '\\\\e9b2';\n }\n &.icon-wrench:before {\n content: '\\\\e9b3';\n }\n &.icon-bright:before {\n content: '\\\\e961';\n }\n &.icon-rogue-commits:before {\n content: '\\\\e962';\n }\n &.icon-home:before {\n content: '\\\\e963';\n }\n &.icon-blocking-issues:before {\n content: '\\\\e964';\n }\n &.icon-print-link:before {\n content: '\\\\e965';\n }\n &.icon-logo-deploy:before {\n content: '\\\\e902';\n }\n &.icon-logo-experitest:before {\n content: '\\\\e903';\n }\n &.icon-logo-numerify:before {\n content: '\\\\e904';\n }\n &.icon-logo-arxan:before {\n content: '\\\\e905';\n }\n &.icon-logo-continuum:before {\n content: '\\\\e906';\n }\n &.icon-logo-versionone:before {\n content: '\\\\e907';\n }\n &.icon-logo-release:before {\n content: '\\\\e908';\n }\n &.icon-warning-solid:before {\n content: '\\\\e909';\n }\n &.icon-warning-outline:before {\n content: '\\\\e90a';\n }\n &.icon-info-solid:before {\n content: '\\\\e90b';\n }\n &.icon-minus-solid:before {\n content: '\\\\e90c';\n }\n &.icon-check-solid:before {\n content: '\\\\e90d';\n }\n &.icon-error-solid:before {\n content: '\\\\e90e';\n }\n &.icon-error-outlines:before {\n content: '\\\\e90f';\n }\n &.icon-add-outlined:before {\n content: '\\\\e910';\n }\n &.icon-add-solid:before {\n content: '\\\\e911';\n }\n &.icon-clear-solid:before {\n content: '\\\\e912';\n }\n &.icon-dark:before {\n content: '\\\\e913';\n }\n &.icon-location:before {\n content: '\\\\e914';\n }\n &.icon-roadmap:before {\n content: '\\\\e915';\n }\n &.icon-follow-solid:before {\n content: '\\\\e916';\n }\n &.icon-follow-outlined:before {\n content: '\\\\e917';\n }\n &.icon-video:before {\n content: '\\\\e918';\n }\n &.icon-thumbs-down:before {\n content: '\\\\e919';\n }\n &.icon-camera:before {\n content: '\\\\e91a';\n }\n &.icon-users:before {\n content: '\\\\e91b';\n }\n &.icon-user:before {\n content: '\\\\e91c';\n }\n &.icon-announcement:before {\n content: '\\\\e91d';\n }\n &.icon-not-allowed:before {\n content: '\\\\e91e';\n }\n &.icon-zoom-out:before {\n content: '\\\\e91f';\n }\n &.icon-zoom-in:before {\n content: '\\\\e920';\n }\n &.icon-triangle:before {\n content: '\\\\e921';\n }\n &.icon-delay:before {\n content: '\\\\e922';\n }\n &.icon-circle-outline:before {\n content: '\\\\e923';\n }\n &.icon-circle:before {\n content: '\\\\e924';\n }\n &.icon-add-from-list:before {\n content: '\\\\e925';\n }\n &.icon-sync:before {\n content: '\\\\e926';\n }\n &.icon-keyboard:before {\n content: '\\\\e927';\n }\n &.icon-planner:before {\n content: '\\\\e928';\n }\n &.icon-tag:before {\n content: '\\\\e929';\n }\n &.icon-progress:before {\n content: '\\\\e92a';\n }\n &.icon-timeline:before {\n content: '\\\\e92b';\n }\n &.icon-abort:before {\n content: '\\\\e92c';\n }\n &.icon-cancel:before {\n content: '\\\\e92d';\n }\n &.icon-power:before {\n content: '\\\\e92e';\n }\n &.icon-resize:before {\n content: '\\\\e92f';\n }\n &.icon-close:before {\n content: '\\\\e930';\n }\n &.icon-save:before {\n content: '\\\\e931';\n }\n &.icon-drag-vertical-up-down:before {\n content: '\\\\e932';\n }\n &.icon-add:before {\n content: '\\\\e933';\n }\n &.icon-minus:before {\n content: '\\\\e934';\n }\n &.icon-target-none:before {\n content: '\\\\e935';\n }\n &.icon-placeholder:before {\n content: '\\\\e936';\n }\n &.icon-server:before {\n content: '\\\\e937';\n }\n &.icon-square-wrench:before {\n content: '\\\\e938';\n }\n &.icon-square-wrench-check:before {\n content: '\\\\e939';\n }\n &.icon-square-settings:before {\n content: '\\\\e93a';\n }\n &.icon-trigger:before {\n content: '\\\\e93c';\n }\n &.icon-precondition:before {\n content: '\\\\e93d';\n }\n &.icon-composition:before {\n content: '\\\\e93e';\n }\n &.icon-block:before {\n content: '\\\\e93f';\n }\n &.icon-group:before {\n content: '\\\\e940';\n }\n &.icon-settings-admin-opaque:before {\n content: '\\\\e941';\n }\n &.icon-puzzle:before {\n content: '\\\\e942';\n }\n &.icon-alphabet-icon:before {\n content: '\\\\e943';\n }\n &.icon-crop:before {\n content: '\\\\e944';\n }\n &.icon-upload-file:before {\n content: '\\\\e945';\n }\n &.icon-container:before {\n content: '\\\\e946';\n }\n &.icon-flag-risk:before {\n content: '\\\\e947';\n }\n &.icon-learn:before {\n content: '\\\\e948';\n }\n &.icon-tree:before {\n content: '\\\\e949';\n }\n &.icon-process-template:before {\n content: '\\\\e94a';\n }\n &.icon-flag-attention:before {\n content: '\\\\e94b';\n }\n &.icon-collection:before {\n content: '\\\\e94c';\n }\n &.icon-table:before {\n content: '\\\\e94d';\n }\n &.icon-linkBrakeIt:before {\n content: '\\\\e94e';\n }\n &.icon-move-folder:before {\n content: '\\\\e94f';\n }\n &.icon-columns:before {\n content: '\\\\e950';\n }\n &.icon-file-word-doc:before {\n content: '\\\\e951';\n }\n &.icon-file-ppt:before {\n content: '\\\\e952';\n }\n &.icon-file-zip:before {\n content: '\\\\e953';\n }\n &.icon-file-xls:before {\n content: '\\\\e954';\n }\n &.icon-file-pdf:before {\n content: '\\\\e955';\n }\n &.icon-file-xml:before {\n content: '\\\\e956';\n }\n &.icon-dictionary-locked:before {\n content: '\\\\e957';\n }\n &.icon-dictionary:before {\n content: '\\\\e958';\n }\n &.icon-file-dotted:before {\n content: '\\\\e959';\n }\n &.icon-file-circle-check:before {\n content: '\\\\e95a';\n }\n &.icon-back:before {\n content: '\\\\e95b';\n }\n &.icon-chevron-left:before {\n content: '\\\\e95c';\n }\n &.icon-chevron-up:before {\n content: '\\\\e95d';\n }\n &.icon-chevron-down:before {\n content: '\\\\e95e';\n }\n &.icon-return-level-up:before {\n content: '\\\\e95f';\n }\n &.icon-return:before {\n content: '\\\\e960';\n }\n &.icon-edit:before {\n content: '\\\\e900';\n }\n &.icon-delete:before {\n content: '\\\\e901';\n }\n &.icon-settings:before {\n content: \"\\\\e93b\";\n }\n &.icon-network-drive:before {\n content: \"\\\\e9a1\";\n }\n &.icon-GitOps:before {\n content: \"\\\\e9a2\";\n }\n &.icon-rss:before {\n content: \"\\\\e9c1\";\n }\n &.icon-bug:before {\n content: \"\\\\e9c2\";\n }\n &.icon-cloud:before {\n content: \"\\\\e9c3\";\n }\n &.icon-more-horizontal:before {\n content: \"\\\\e9c4\";\n }\n &.icon-expand:before {\n content: \"\\\\e9c5\";\n }\n &.icon-collapse:before {\n content: \"\\\\e9c6\";\n }\n }\n }\n }"])), rootClassName$E);
|
|
27
|
+
var _templateObject$J;
|
|
28
|
+
var rootClassName$F = 'dot-icon';
|
|
29
|
+
var StyledIcon = styled(Icon)(_templateObject$J || (_templateObject$J = _taggedTemplateLiteralLoose(["\n &.", " {\n align-items: center;\n box-sizing: content-box;\n display: flex;\n float: left; // allows flex items to display inline\n font-size: 20px;\n justify-content: center;\n\n &.MuiIcon-fontSizeLarge {\n font-size: 28px;\n height: 35px;\n width: 35px;\n\n i {\n height: 28px\n }\n }\n &.MuiIcon-fontSizeSmall {\n font-size: 18px;\n\n i {\n height: 18px;\n }\n }\n\n i {\n height: 20px;\n\n &:before {\n font-family: 'dot' !important;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n &.icon-user-security:before {\n content: \"\\e9d2\";\n }\n\n &.icon-rocket:before {\n content: \"\\e9d3\";\n }\n\n &.icon-merge:before {\n content: \"\\e9d1\";\n }\n\n &.icon-cpu:before {\n content: \"\\e9d0\";\n }\n\n &.icon-progeression:before {\n content: \"\\e9cf\";\n }\n\n &.icon-commit:before {\n content: \"\\e95f\";\n }\n &.icon-design:before {\n content: \"\\e960\";\n }\n &.icon-key:before {\n content: \"\\e981\";\n }\n &.icon-infrastructure:before {\n content: \"\\e989\";\n }\n &.icon-report:before {\n content: \"\\e9ce\";\n }\n &.icon-package:before {\n content: \"\\e9c9\";\n }\n &.icon-security-off:before {\n content: \"\\e9ca\";\n }\n &.icon-security-on:before {\n content: \"\\e9cb\";\n }\n &.icon-marker-check:before {\n content: \"\\e9cc\";\n }\n &.icon-restore:before {\n content: \"\\e9cd\";\n }\n &.icon-check-outlined:before {\n content: \"\\e9c7\";\n }\n &.icon-circle-half-full:before {\n content: \"\\e9c8\";\n }\n &.icon-host:before {\n content: '\\e9b9';\n }\n &.icon-cluster:before {\n content: '\\e9ba';\n }\n &.icon-environment:before {\n content: '\\e9bb';\n }\n &.icon-monitor-controls:before {\n content: '\\e9bc';\n }\n &.icon-flag:before {\n content: '\\e9bd';\n }\n &.icon-satelite:before {\n content: '\\e9be';\n }\n &.icon-satelite-group:before {\n content: '\\e9bf';\n }\n &.icon-monitor-gears:before {\n content: '\\e9c0';\n }\n &.icon-patch:before {\n content: '\\e9b6';\n }\n &.icon-branch:before {\n content: '\\e9b4';\n }\n &.icon-send-airplane:before {\n content: '\\e9b5';\n }\n &.icon-briefcase:before {\n content: '\\e9b7';\n }\n &.icon-cluster-dependencies:before {\n content: '\\e9b8';\n }\n &.icon-script:before {\n content: '\\e966';\n }\n &.icon-pattern-bundle:before {\n content: '\\e967';\n }\n &.icon-outline:before {\n content: '\\e968';\n }\n &.icon-apps:before {\n content: '\\e969';\n }\n &.icon-archive:before {\n content: '\\e96a';\n }\n &.icon-arrow-down:before {\n content: '\\e96b';\n }\n &.icon-arrow-right:before {\n content: '\\e96c';\n }\n &.icon-arrow-up:before {\n content: '\\e96d';\n }\n &.icon-attachment:before {\n content: '\\e96e';\n }\n &.icon-board:before {\n content: '\\e96f';\n }\n &.icon-calendar:before {\n content: '\\e970';\n }\n &.icon-change:before {\n content: '\\e971';\n }\n &.icon-chevron-right:before {\n content: '\\e972';\n }\n &.icon-circle-minus-outlines:before {\n content: '\\e973';\n }\n &.icon-circle-paused:before {\n content: '\\e974';\n }\n &.icon-column:before {\n content: '\\e975';\n }\n &.icon-comment:before {\n content: '\\e976';\n }\n &.icon-configuration-preferences:before {\n content: '\\e977';\n }\n &.icon-conversation-bubbles:before {\n content: '\\e978';\n }\n &.icon-dashboard:before {\n content: '\\e979';\n }\n &.icon-database:before {\n content: '\\e97a';\n }\n &.icon-delivery-eta-icon:before {\n content: '\\e97b';\n }\n &.icon-download:before {\n content: '\\e97c';\n }\n &.icon-drag:before {\n content: '\\e97d';\n }\n &.icon-duplicate:before {\n content: '\\e97e';\n }\n &.icon-exit:before {\n content: '\\e97f';\n }\n &.icon-expand-chevrons:before {\n content: '\\e980';\n }\n &.icon-expander:before {\n content: '\\e981';\n }\n &.icon-file-image:before {\n content: '\\e982';\n }\n &.icon-file-lines:before {\n content: '\\e983';\n }\n &.icon-file-warning:before {\n content: '\\e984';\n }\n &.icon-file:before {\n content: '\\e985';\n }\n &.icon-filter:before {\n content: '\\e986';\n }\n &.icon-flag-none:before {\n content: '\\e987';\n }\n &.icon-folder:before {\n content: '\\e988';\n }\n &.icon-full-screen:before {\n content: '\\e989';\n }\n &.icon-fullscreen-enter:before {\n content: '\\e98a';\n }\n &.icon-fullscreen-exit:before {\n content: '\\e98b';\n }\n &.icon-grid:before {\n content: '\\e98c';\n }\n &.icon-hard-drive:before {\n content: '\\e98d';\n }\n &.icon-help:before {\n content: '\\e98e';\n }\n &.icon-history:before {\n content: '\\e98f';\n }\n &.icon-inbox:before {\n content: '\\e990';\n }\n &.icon-link:before {\n content: '\\e991';\n }\n &.icon-list:before {\n content: '\\e992';\n }\n &.icon-lock:before {\n content: '\\e993';\n }\n &.icon-mail:before {\n content: '\\e994';\n }\n &.icon-menu:before {\n content: '\\e995';\n }\n &.icon-monitor-satellite:before {\n content: '\\e996';\n }\n &.icon-monitor:before {\n content: '\\e997';\n }\n &.icon-notification-bell:before {\n content: '\\e998';\n }\n &.icon-open-new-tab:before {\n content: '\\e999';\n }\n &.icon-options:before {\n content: '\\e99a';\n }\n &.icon-parallel:before {\n content: '\\e99b';\n }\n &.icon-pending-clock:before {\n content: '\\e99c';\n }\n &.icon-play:before {\n content: '\\e99d';\n }\n &.icon-redo:before {\n content: '\\e99e';\n }\n &.icon-refresh:before {\n content: '\\e99f';\n }\n &.icon-release:before {\n content: '\\e9a0';\n }\n &.icon-search:before {\n content: '\\e9a3';\n }\n &.icon-sequential:before {\n content: '\\e9a4';\n }\n &.icon-sort-asc:before {\n content: '\\e9a5';\n }\n &.icon-sort-desc:before {\n content: '\\e9a6';\n }\n &.icon-star-favorites-active:before {\n content: '\\e9a7';\n }\n &.icon-star-favorites-default:before {\n content: '\\e9a8';\n }\n &.icon-target:before {\n content: '\\e9a9';\n }\n &.icon-task:before {\n content: '\\e9aa';\n }\n &.icon-template:before {\n content: '\\e9ab';\n }\n &.icon-undo:before {\n content: '\\e9ac';\n }\n &.icon-unlock:before {\n content: '\\e9ad';\n }\n &.icon-variable:before {\n content: '\\e9ae';\n }\n &.icon-vault:before {\n content: '\\e9af';\n }\n &.icon-visibility-off:before {\n content: '\\e9b0';\n }\n &.icon-visibility-on:before {\n content: '\\e9b1';\n }\n &.icon-webhook:before {\n content: '\\e9b2';\n }\n &.icon-wrench:before {\n content: '\\e9b3';\n }\n &.icon-bright:before {\n content: '\\e961';\n }\n &.icon-rogue-commits:before {\n content: '\\e962';\n }\n &.icon-home:before {\n content: '\\e963';\n }\n &.icon-blocking-issues:before {\n content: '\\e964';\n }\n &.icon-print-link:before {\n content: '\\e965';\n }\n &.icon-logo-deploy:before {\n content: '\\e902';\n }\n &.icon-logo-experitest:before {\n content: '\\e903';\n }\n &.icon-logo-numerify:before {\n content: '\\e904';\n }\n &.icon-logo-arxan:before {\n content: '\\e905';\n }\n &.icon-logo-continuum:before {\n content: '\\e906';\n }\n &.icon-logo-versionone:before {\n content: '\\e907';\n }\n &.icon-logo-release:before {\n content: '\\e908';\n }\n &.icon-warning-solid:before {\n content: '\\e909';\n }\n &.icon-warning-outline:before {\n content: '\\e90a';\n }\n &.icon-info-solid:before {\n content: '\\e90b';\n }\n &.icon-minus-solid:before {\n content: '\\e90c';\n }\n &.icon-check-solid:before {\n content: '\\e90d';\n }\n &.icon-error-solid:before {\n content: '\\e90e';\n }\n &.icon-error-outlines:before {\n content: '\\e90f';\n }\n &.icon-add-outlined:before {\n content: '\\e910';\n }\n &.icon-add-solid:before {\n content: '\\e911';\n }\n &.icon-clear-solid:before {\n content: '\\e912';\n }\n &.icon-dark:before {\n content: '\\e913';\n }\n &.icon-location:before {\n content: '\\e914';\n }\n &.icon-roadmap:before {\n content: '\\e915';\n }\n &.icon-follow-solid:before {\n content: '\\e916';\n }\n &.icon-follow-outlined:before {\n content: '\\e917';\n }\n &.icon-video:before {\n content: '\\e918';\n }\n &.icon-thumbs-down:before {\n content: '\\e919';\n }\n &.icon-camera:before {\n content: '\\e91a';\n }\n &.icon-users:before {\n content: '\\e91b';\n }\n &.icon-user:before {\n content: '\\e91c';\n }\n &.icon-announcement:before {\n content: '\\e91d';\n }\n &.icon-not-allowed:before {\n content: '\\e91e';\n }\n &.icon-zoom-out:before {\n content: '\\e91f';\n }\n &.icon-zoom-in:before {\n content: '\\e920';\n }\n &.icon-triangle:before {\n content: '\\e921';\n }\n &.icon-delay:before {\n content: '\\e922';\n }\n &.icon-circle-outline:before {\n content: '\\e923';\n }\n &.icon-circle:before {\n content: '\\e924';\n }\n &.icon-add-from-list:before {\n content: '\\e925';\n }\n &.icon-sync:before {\n content: '\\e926';\n }\n &.icon-keyboard:before {\n content: '\\e927';\n }\n &.icon-planner:before {\n content: '\\e928';\n }\n &.icon-tag:before {\n content: '\\e929';\n }\n &.icon-progress:before {\n content: '\\e92a';\n }\n &.icon-timeline:before {\n content: '\\e92b';\n }\n &.icon-abort:before {\n content: '\\e92c';\n }\n &.icon-cancel:before {\n content: '\\e92d';\n }\n &.icon-power:before {\n content: '\\e92e';\n }\n &.icon-resize:before {\n content: '\\e92f';\n }\n &.icon-close:before {\n content: '\\e930';\n }\n &.icon-save:before {\n content: '\\e931';\n }\n &.icon-drag-vertical-up-down:before {\n content: '\\e932';\n }\n &.icon-add:before {\n content: '\\e933';\n }\n &.icon-minus:before {\n content: '\\e934';\n }\n &.icon-target-none:before {\n content: '\\e935';\n }\n &.icon-placeholder:before {\n content: '\\e936';\n }\n &.icon-server:before {\n content: '\\e937';\n }\n &.icon-square-wrench:before {\n content: '\\e938';\n }\n &.icon-square-wrench-check:before {\n content: '\\e939';\n }\n &.icon-square-settings:before {\n content: '\\e93a';\n }\n &.icon-trigger:before {\n content: '\\e93c';\n }\n &.icon-precondition:before {\n content: '\\e93d';\n }\n &.icon-composition:before {\n content: '\\e93e';\n }\n &.icon-block:before {\n content: '\\e93f';\n }\n &.icon-group:before {\n content: '\\e940';\n }\n &.icon-settings-admin-opaque:before {\n content: '\\e941';\n }\n &.icon-puzzle:before {\n content: '\\e942';\n }\n &.icon-alphabet-icon:before {\n content: '\\e943';\n }\n &.icon-crop:before {\n content: '\\e944';\n }\n &.icon-upload-file:before {\n content: '\\e945';\n }\n &.icon-container:before {\n content: '\\e946';\n }\n &.icon-flag-risk:before {\n content: '\\e947';\n }\n &.icon-learn:before {\n content: '\\e948';\n }\n &.icon-tree:before {\n content: '\\e949';\n }\n &.icon-process-template:before {\n content: '\\e94a';\n }\n &.icon-flag-attention:before {\n content: '\\e94b';\n }\n &.icon-collection:before {\n content: '\\e94c';\n }\n &.icon-table:before {\n content: '\\e94d';\n }\n &.icon-linkBrakeIt:before {\n content: '\\e94e';\n }\n &.icon-move-folder:before {\n content: '\\e94f';\n }\n &.icon-columns:before {\n content: '\\e950';\n }\n &.icon-file-word-doc:before {\n content: '\\e951';\n }\n &.icon-file-ppt:before {\n content: '\\e952';\n }\n &.icon-file-zip:before {\n content: '\\e953';\n }\n &.icon-file-xls:before {\n content: '\\e954';\n }\n &.icon-file-pdf:before {\n content: '\\e955';\n }\n &.icon-file-xml:before {\n content: '\\e956';\n }\n &.icon-dictionary-locked:before {\n content: '\\e957';\n }\n &.icon-dictionary:before {\n content: '\\e958';\n }\n &.icon-file-dotted:before {\n content: '\\e959';\n }\n &.icon-file-circle-check:before {\n content: '\\e95a';\n }\n &.icon-back:before {\n content: '\\e95b';\n }\n &.icon-chevron-left:before {\n content: '\\e95c';\n }\n &.icon-chevron-up:before {\n content: '\\e95d';\n }\n &.icon-chevron-down:before {\n content: '\\e95e';\n }\n &.icon-return-level-up:before {\n content: '\\e95f';\n }\n &.icon-return:before {\n content: '\\e960';\n }\n &.icon-edit:before {\n content: '\\e900';\n }\n &.icon-delete:before {\n content: '\\e901';\n }\n &.icon-settings:before {\n content: \"\\e93b\";\n }\n &.icon-network-drive:before {\n content: \"\\e9a1\";\n }\n &.icon-GitOps:before {\n content: \"\\e9a2\";\n }\n &.icon-rss:before {\n content: \"\\e9c1\";\n }\n &.icon-bug:before {\n content: \"\\e9c2\";\n }\n &.icon-cloud:before {\n content: \"\\e9c3\";\n }\n &.icon-more-horizontal:before {\n content: \"\\e9c4\";\n }\n &.icon-expand:before {\n content: \"\\e9c5\";\n }\n &.icon-collapse:before {\n content: \"\\e9c6\";\n }\n }\n }\n }"], ["\n &.", " {\n align-items: center;\n box-sizing: content-box;\n display: flex;\n float: left; // allows flex items to display inline\n font-size: 20px;\n justify-content: center;\n\n &.MuiIcon-fontSizeLarge {\n font-size: 28px;\n height: 35px;\n width: 35px;\n\n i {\n height: 28px\n }\n }\n &.MuiIcon-fontSizeSmall {\n font-size: 18px;\n\n i {\n height: 18px;\n }\n }\n\n i {\n height: 20px;\n\n &:before {\n font-family: 'dot' !important;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n &.icon-user-security:before {\n content: \"\\\\e9d2\";\n }\n\n &.icon-rocket:before {\n content: \"\\\\e9d3\";\n }\n\n &.icon-merge:before {\n content: \"\\\\e9d1\";\n }\n\n &.icon-cpu:before {\n content: \"\\\\e9d0\";\n }\n\n &.icon-progeression:before {\n content: \"\\\\e9cf\";\n }\n\n &.icon-commit:before {\n content: \"\\\\e95f\";\n }\n &.icon-design:before {\n content: \"\\\\e960\";\n }\n &.icon-key:before {\n content: \"\\\\e981\";\n }\n &.icon-infrastructure:before {\n content: \"\\\\e989\";\n }\n &.icon-report:before {\n content: \"\\\\e9ce\";\n }\n &.icon-package:before {\n content: \"\\\\e9c9\";\n }\n &.icon-security-off:before {\n content: \"\\\\e9ca\";\n }\n &.icon-security-on:before {\n content: \"\\\\e9cb\";\n }\n &.icon-marker-check:before {\n content: \"\\\\e9cc\";\n }\n &.icon-restore:before {\n content: \"\\\\e9cd\";\n }\n &.icon-check-outlined:before {\n content: \"\\\\e9c7\";\n }\n &.icon-circle-half-full:before {\n content: \"\\\\e9c8\";\n }\n &.icon-host:before {\n content: '\\\\e9b9';\n }\n &.icon-cluster:before {\n content: '\\\\e9ba';\n }\n &.icon-environment:before {\n content: '\\\\e9bb';\n }\n &.icon-monitor-controls:before {\n content: '\\\\e9bc';\n }\n &.icon-flag:before {\n content: '\\\\e9bd';\n }\n &.icon-satelite:before {\n content: '\\\\e9be';\n }\n &.icon-satelite-group:before {\n content: '\\\\e9bf';\n }\n &.icon-monitor-gears:before {\n content: '\\\\e9c0';\n }\n &.icon-patch:before {\n content: '\\\\e9b6';\n }\n &.icon-branch:before {\n content: '\\\\e9b4';\n }\n &.icon-send-airplane:before {\n content: '\\\\e9b5';\n }\n &.icon-briefcase:before {\n content: '\\\\e9b7';\n }\n &.icon-cluster-dependencies:before {\n content: '\\\\e9b8';\n }\n &.icon-script:before {\n content: '\\\\e966';\n }\n &.icon-pattern-bundle:before {\n content: '\\\\e967';\n }\n &.icon-outline:before {\n content: '\\\\e968';\n }\n &.icon-apps:before {\n content: '\\\\e969';\n }\n &.icon-archive:before {\n content: '\\\\e96a';\n }\n &.icon-arrow-down:before {\n content: '\\\\e96b';\n }\n &.icon-arrow-right:before {\n content: '\\\\e96c';\n }\n &.icon-arrow-up:before {\n content: '\\\\e96d';\n }\n &.icon-attachment:before {\n content: '\\\\e96e';\n }\n &.icon-board:before {\n content: '\\\\e96f';\n }\n &.icon-calendar:before {\n content: '\\\\e970';\n }\n &.icon-change:before {\n content: '\\\\e971';\n }\n &.icon-chevron-right:before {\n content: '\\\\e972';\n }\n &.icon-circle-minus-outlines:before {\n content: '\\\\e973';\n }\n &.icon-circle-paused:before {\n content: '\\\\e974';\n }\n &.icon-column:before {\n content: '\\\\e975';\n }\n &.icon-comment:before {\n content: '\\\\e976';\n }\n &.icon-configuration-preferences:before {\n content: '\\\\e977';\n }\n &.icon-conversation-bubbles:before {\n content: '\\\\e978';\n }\n &.icon-dashboard:before {\n content: '\\\\e979';\n }\n &.icon-database:before {\n content: '\\\\e97a';\n }\n &.icon-delivery-eta-icon:before {\n content: '\\\\e97b';\n }\n &.icon-download:before {\n content: '\\\\e97c';\n }\n &.icon-drag:before {\n content: '\\\\e97d';\n }\n &.icon-duplicate:before {\n content: '\\\\e97e';\n }\n &.icon-exit:before {\n content: '\\\\e97f';\n }\n &.icon-expand-chevrons:before {\n content: '\\\\e980';\n }\n &.icon-expander:before {\n content: '\\\\e981';\n }\n &.icon-file-image:before {\n content: '\\\\e982';\n }\n &.icon-file-lines:before {\n content: '\\\\e983';\n }\n &.icon-file-warning:before {\n content: '\\\\e984';\n }\n &.icon-file:before {\n content: '\\\\e985';\n }\n &.icon-filter:before {\n content: '\\\\e986';\n }\n &.icon-flag-none:before {\n content: '\\\\e987';\n }\n &.icon-folder:before {\n content: '\\\\e988';\n }\n &.icon-full-screen:before {\n content: '\\\\e989';\n }\n &.icon-fullscreen-enter:before {\n content: '\\\\e98a';\n }\n &.icon-fullscreen-exit:before {\n content: '\\\\e98b';\n }\n &.icon-grid:before {\n content: '\\\\e98c';\n }\n &.icon-hard-drive:before {\n content: '\\\\e98d';\n }\n &.icon-help:before {\n content: '\\\\e98e';\n }\n &.icon-history:before {\n content: '\\\\e98f';\n }\n &.icon-inbox:before {\n content: '\\\\e990';\n }\n &.icon-link:before {\n content: '\\\\e991';\n }\n &.icon-list:before {\n content: '\\\\e992';\n }\n &.icon-lock:before {\n content: '\\\\e993';\n }\n &.icon-mail:before {\n content: '\\\\e994';\n }\n &.icon-menu:before {\n content: '\\\\e995';\n }\n &.icon-monitor-satellite:before {\n content: '\\\\e996';\n }\n &.icon-monitor:before {\n content: '\\\\e997';\n }\n &.icon-notification-bell:before {\n content: '\\\\e998';\n }\n &.icon-open-new-tab:before {\n content: '\\\\e999';\n }\n &.icon-options:before {\n content: '\\\\e99a';\n }\n &.icon-parallel:before {\n content: '\\\\e99b';\n }\n &.icon-pending-clock:before {\n content: '\\\\e99c';\n }\n &.icon-play:before {\n content: '\\\\e99d';\n }\n &.icon-redo:before {\n content: '\\\\e99e';\n }\n &.icon-refresh:before {\n content: '\\\\e99f';\n }\n &.icon-release:before {\n content: '\\\\e9a0';\n }\n &.icon-search:before {\n content: '\\\\e9a3';\n }\n &.icon-sequential:before {\n content: '\\\\e9a4';\n }\n &.icon-sort-asc:before {\n content: '\\\\e9a5';\n }\n &.icon-sort-desc:before {\n content: '\\\\e9a6';\n }\n &.icon-star-favorites-active:before {\n content: '\\\\e9a7';\n }\n &.icon-star-favorites-default:before {\n content: '\\\\e9a8';\n }\n &.icon-target:before {\n content: '\\\\e9a9';\n }\n &.icon-task:before {\n content: '\\\\e9aa';\n }\n &.icon-template:before {\n content: '\\\\e9ab';\n }\n &.icon-undo:before {\n content: '\\\\e9ac';\n }\n &.icon-unlock:before {\n content: '\\\\e9ad';\n }\n &.icon-variable:before {\n content: '\\\\e9ae';\n }\n &.icon-vault:before {\n content: '\\\\e9af';\n }\n &.icon-visibility-off:before {\n content: '\\\\e9b0';\n }\n &.icon-visibility-on:before {\n content: '\\\\e9b1';\n }\n &.icon-webhook:before {\n content: '\\\\e9b2';\n }\n &.icon-wrench:before {\n content: '\\\\e9b3';\n }\n &.icon-bright:before {\n content: '\\\\e961';\n }\n &.icon-rogue-commits:before {\n content: '\\\\e962';\n }\n &.icon-home:before {\n content: '\\\\e963';\n }\n &.icon-blocking-issues:before {\n content: '\\\\e964';\n }\n &.icon-print-link:before {\n content: '\\\\e965';\n }\n &.icon-logo-deploy:before {\n content: '\\\\e902';\n }\n &.icon-logo-experitest:before {\n content: '\\\\e903';\n }\n &.icon-logo-numerify:before {\n content: '\\\\e904';\n }\n &.icon-logo-arxan:before {\n content: '\\\\e905';\n }\n &.icon-logo-continuum:before {\n content: '\\\\e906';\n }\n &.icon-logo-versionone:before {\n content: '\\\\e907';\n }\n &.icon-logo-release:before {\n content: '\\\\e908';\n }\n &.icon-warning-solid:before {\n content: '\\\\e909';\n }\n &.icon-warning-outline:before {\n content: '\\\\e90a';\n }\n &.icon-info-solid:before {\n content: '\\\\e90b';\n }\n &.icon-minus-solid:before {\n content: '\\\\e90c';\n }\n &.icon-check-solid:before {\n content: '\\\\e90d';\n }\n &.icon-error-solid:before {\n content: '\\\\e90e';\n }\n &.icon-error-outlines:before {\n content: '\\\\e90f';\n }\n &.icon-add-outlined:before {\n content: '\\\\e910';\n }\n &.icon-add-solid:before {\n content: '\\\\e911';\n }\n &.icon-clear-solid:before {\n content: '\\\\e912';\n }\n &.icon-dark:before {\n content: '\\\\e913';\n }\n &.icon-location:before {\n content: '\\\\e914';\n }\n &.icon-roadmap:before {\n content: '\\\\e915';\n }\n &.icon-follow-solid:before {\n content: '\\\\e916';\n }\n &.icon-follow-outlined:before {\n content: '\\\\e917';\n }\n &.icon-video:before {\n content: '\\\\e918';\n }\n &.icon-thumbs-down:before {\n content: '\\\\e919';\n }\n &.icon-camera:before {\n content: '\\\\e91a';\n }\n &.icon-users:before {\n content: '\\\\e91b';\n }\n &.icon-user:before {\n content: '\\\\e91c';\n }\n &.icon-announcement:before {\n content: '\\\\e91d';\n }\n &.icon-not-allowed:before {\n content: '\\\\e91e';\n }\n &.icon-zoom-out:before {\n content: '\\\\e91f';\n }\n &.icon-zoom-in:before {\n content: '\\\\e920';\n }\n &.icon-triangle:before {\n content: '\\\\e921';\n }\n &.icon-delay:before {\n content: '\\\\e922';\n }\n &.icon-circle-outline:before {\n content: '\\\\e923';\n }\n &.icon-circle:before {\n content: '\\\\e924';\n }\n &.icon-add-from-list:before {\n content: '\\\\e925';\n }\n &.icon-sync:before {\n content: '\\\\e926';\n }\n &.icon-keyboard:before {\n content: '\\\\e927';\n }\n &.icon-planner:before {\n content: '\\\\e928';\n }\n &.icon-tag:before {\n content: '\\\\e929';\n }\n &.icon-progress:before {\n content: '\\\\e92a';\n }\n &.icon-timeline:before {\n content: '\\\\e92b';\n }\n &.icon-abort:before {\n content: '\\\\e92c';\n }\n &.icon-cancel:before {\n content: '\\\\e92d';\n }\n &.icon-power:before {\n content: '\\\\e92e';\n }\n &.icon-resize:before {\n content: '\\\\e92f';\n }\n &.icon-close:before {\n content: '\\\\e930';\n }\n &.icon-save:before {\n content: '\\\\e931';\n }\n &.icon-drag-vertical-up-down:before {\n content: '\\\\e932';\n }\n &.icon-add:before {\n content: '\\\\e933';\n }\n &.icon-minus:before {\n content: '\\\\e934';\n }\n &.icon-target-none:before {\n content: '\\\\e935';\n }\n &.icon-placeholder:before {\n content: '\\\\e936';\n }\n &.icon-server:before {\n content: '\\\\e937';\n }\n &.icon-square-wrench:before {\n content: '\\\\e938';\n }\n &.icon-square-wrench-check:before {\n content: '\\\\e939';\n }\n &.icon-square-settings:before {\n content: '\\\\e93a';\n }\n &.icon-trigger:before {\n content: '\\\\e93c';\n }\n &.icon-precondition:before {\n content: '\\\\e93d';\n }\n &.icon-composition:before {\n content: '\\\\e93e';\n }\n &.icon-block:before {\n content: '\\\\e93f';\n }\n &.icon-group:before {\n content: '\\\\e940';\n }\n &.icon-settings-admin-opaque:before {\n content: '\\\\e941';\n }\n &.icon-puzzle:before {\n content: '\\\\e942';\n }\n &.icon-alphabet-icon:before {\n content: '\\\\e943';\n }\n &.icon-crop:before {\n content: '\\\\e944';\n }\n &.icon-upload-file:before {\n content: '\\\\e945';\n }\n &.icon-container:before {\n content: '\\\\e946';\n }\n &.icon-flag-risk:before {\n content: '\\\\e947';\n }\n &.icon-learn:before {\n content: '\\\\e948';\n }\n &.icon-tree:before {\n content: '\\\\e949';\n }\n &.icon-process-template:before {\n content: '\\\\e94a';\n }\n &.icon-flag-attention:before {\n content: '\\\\e94b';\n }\n &.icon-collection:before {\n content: '\\\\e94c';\n }\n &.icon-table:before {\n content: '\\\\e94d';\n }\n &.icon-linkBrakeIt:before {\n content: '\\\\e94e';\n }\n &.icon-move-folder:before {\n content: '\\\\e94f';\n }\n &.icon-columns:before {\n content: '\\\\e950';\n }\n &.icon-file-word-doc:before {\n content: '\\\\e951';\n }\n &.icon-file-ppt:before {\n content: '\\\\e952';\n }\n &.icon-file-zip:before {\n content: '\\\\e953';\n }\n &.icon-file-xls:before {\n content: '\\\\e954';\n }\n &.icon-file-pdf:before {\n content: '\\\\e955';\n }\n &.icon-file-xml:before {\n content: '\\\\e956';\n }\n &.icon-dictionary-locked:before {\n content: '\\\\e957';\n }\n &.icon-dictionary:before {\n content: '\\\\e958';\n }\n &.icon-file-dotted:before {\n content: '\\\\e959';\n }\n &.icon-file-circle-check:before {\n content: '\\\\e95a';\n }\n &.icon-back:before {\n content: '\\\\e95b';\n }\n &.icon-chevron-left:before {\n content: '\\\\e95c';\n }\n &.icon-chevron-up:before {\n content: '\\\\e95d';\n }\n &.icon-chevron-down:before {\n content: '\\\\e95e';\n }\n &.icon-return-level-up:before {\n content: '\\\\e95f';\n }\n &.icon-return:before {\n content: '\\\\e960';\n }\n &.icon-edit:before {\n content: '\\\\e900';\n }\n &.icon-delete:before {\n content: '\\\\e901';\n }\n &.icon-settings:before {\n content: \"\\\\e93b\";\n }\n &.icon-network-drive:before {\n content: \"\\\\e9a1\";\n }\n &.icon-GitOps:before {\n content: \"\\\\e9a2\";\n }\n &.icon-rss:before {\n content: \"\\\\e9c1\";\n }\n &.icon-bug:before {\n content: \"\\\\e9c2\";\n }\n &.icon-cloud:before {\n content: \"\\\\e9c3\";\n }\n &.icon-more-horizontal:before {\n content: \"\\\\e9c4\";\n }\n &.icon-expand:before {\n content: \"\\\\e9c5\";\n }\n &.icon-collapse:before {\n content: \"\\\\e9c6\";\n }\n }\n }\n }"])), rootClassName$F);
|
|
29
30
|
|
|
30
31
|
var DotIcon = function DotIcon(_ref) {
|
|
31
32
|
var ariaLabel = _ref.ariaLabel,
|
|
32
33
|
className = _ref.className,
|
|
33
34
|
dataTestId = _ref['data-testid'],
|
|
34
35
|
_ref$fontSize = _ref.fontSize,
|
|
35
|
-
fontSize = _ref$fontSize === void 0 ? '
|
|
36
|
+
fontSize = _ref$fontSize === void 0 ? 'medium' : _ref$fontSize,
|
|
36
37
|
iconId = _ref.iconId,
|
|
37
38
|
_ref$title = _ref.title,
|
|
38
39
|
title = _ref$title === void 0 ? '' : _ref$title;
|
|
39
|
-
var rootClasses = useStylesWithRootClass(rootClassName$
|
|
40
|
+
var rootClasses = useStylesWithRootClass(rootClassName$F, className); // deprecation warning(s)
|
|
41
|
+
|
|
42
|
+
useEffect(function () {
|
|
43
|
+
// 'inherit' causes the vertical alignment of the icon to be not be centered
|
|
44
|
+
// TO-DO: S-76846 MUI 5 change IconFontSize 'default' to 'medium'
|
|
45
|
+
if (fontSize === 'inherit' || fontSize === 'default') {
|
|
46
|
+
console.warn("The use of `fontSize: " + fontSize + "` on `DotIcon` is deprecated and will be removed in the next release. Please consider using `fontSize: medium` instead.");
|
|
47
|
+
}
|
|
48
|
+
}, []);
|
|
40
49
|
return /*#__PURE__*/React__default.createElement(StyledIcon, {
|
|
41
50
|
"aria-hidden": "false",
|
|
42
51
|
"aria-label": ariaLabel,
|
|
@@ -44,7 +53,7 @@ var DotIcon = function DotIcon(_ref) {
|
|
|
44
53
|
root: rootClasses
|
|
45
54
|
},
|
|
46
55
|
"data-testid": dataTestId,
|
|
47
|
-
fontSize: fontSize === '
|
|
56
|
+
fontSize: fontSize === 'small' ? fontSize : 'medium',
|
|
48
57
|
title: title
|
|
49
58
|
}, /*#__PURE__*/React__default.createElement("i", {
|
|
50
59
|
className: "icon-" + iconId + " dot-i"
|
|
@@ -70,2584 +79,254 @@ var DotTypography = function DotTypography(_ref) {
|
|
|
70
79
|
noWrap: noWrap,
|
|
71
80
|
variant: variant
|
|
72
81
|
}, children);
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
var _templateObject$H;
|
|
76
|
-
var rootClassName$D = 'dot-accordion';
|
|
77
|
-
var summaryClassName = 'dot-accordion-summary';
|
|
78
|
-
var detailClassName = 'dot-accordion-details';
|
|
79
|
-
var StyledAccordion = styled(Accordion)(_templateObject$H || (_templateObject$H = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
80
|
-
var theme = _ref.theme;
|
|
81
|
-
return css(["&.", "{background:", ";.", "{align-items:center;display:flex;.MuiAccordionSummary-content{width:calc(100% - ", "px);}.MuiTypography-root{margin-bottom:0;}.dot-icon{margin-right:", "px;}.MuiTypography-body1{padding:2px 0;}}}"], rootClassName$D, theme.palette.product === 'agility' && theme.palette.layer.n50, summaryClassName, theme.spacing(5), theme.spacing(0.5));
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
var DotAccordion = function DotAccordion(_ref) {
|
|
85
|
-
var actions = _ref.actions,
|
|
86
|
-
ariaLabel = _ref.ariaLabel,
|
|
87
|
-
children = _ref.children,
|
|
88
|
-
className = _ref.className,
|
|
89
|
-
_ref$dataTestid = _ref['data-testid'],
|
|
90
|
-
dataTestId = _ref$dataTestid === void 0 ? 'dot-accordion' : _ref$dataTestid,
|
|
91
|
-
_ref$defaultExpanded = _ref.defaultExpanded,
|
|
92
|
-
defaultExpanded = _ref$defaultExpanded === void 0 ? false : _ref$defaultExpanded,
|
|
93
|
-
_ref$disabled = _ref.disabled,
|
|
94
|
-
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
95
|
-
_ref$hasElevation = _ref.hasElevation,
|
|
96
|
-
hasElevation = _ref$hasElevation === void 0 ? false : _ref$hasElevation,
|
|
97
|
-
_ref$square = _ref.square,
|
|
98
|
-
square = _ref$square === void 0 ? false : _ref$square,
|
|
99
|
-
startIcon = _ref.startIcon,
|
|
100
|
-
summary = _ref.summary,
|
|
101
|
-
_ref$noWrap = _ref.noWrap,
|
|
102
|
-
noWrap = _ref$noWrap === void 0 ? true : _ref$noWrap;
|
|
103
|
-
var rootClasses = useStylesWithRootClass(rootClassName$D, className);
|
|
104
|
-
|
|
105
|
-
var _useState = useState(),
|
|
106
|
-
elevation = _useState[0],
|
|
107
|
-
setElevation = _useState[1];
|
|
108
|
-
|
|
109
|
-
useEffect(function () {
|
|
110
|
-
setElevation(hasElevation ? 1 : 0);
|
|
111
|
-
}, [hasElevation]);
|
|
112
|
-
return /*#__PURE__*/React__default.createElement(StyledAccordion, {
|
|
113
|
-
"aria-label": ariaLabel,
|
|
114
|
-
className: rootClasses,
|
|
115
|
-
"data-testid": dataTestId,
|
|
116
|
-
defaultExpanded: defaultExpanded,
|
|
117
|
-
disabled: disabled,
|
|
118
|
-
elevation: elevation,
|
|
119
|
-
square: square
|
|
120
|
-
}, /*#__PURE__*/React__default.createElement(AccordionSummary, {
|
|
121
|
-
className: summaryClassName,
|
|
122
|
-
"data-testid": dataTestId + "-summary",
|
|
123
|
-
expandIcon: /*#__PURE__*/React__default.createElement(DotIcon, {
|
|
124
|
-
iconId: "chevron-down"
|
|
125
|
-
})
|
|
126
|
-
}, startIcon, /*#__PURE__*/React__default.createElement(DotTypography, {
|
|
127
|
-
variant: "body1",
|
|
128
|
-
noWrap: noWrap
|
|
129
|
-
}, /*#__PURE__*/React__default.createElement(Tooltip, {
|
|
130
|
-
className: "dot-tooltip",
|
|
131
|
-
placement: "top-start",
|
|
132
|
-
title: noWrap ? summary : ''
|
|
133
|
-
}, /*#__PURE__*/React__default.createElement("span", null, summary)))), /*#__PURE__*/React__default.createElement(AccordionDetails, {
|
|
134
|
-
className: detailClassName,
|
|
135
|
-
"data-testid": dataTestId + "-details"
|
|
136
|
-
}, children), /*#__PURE__*/React__default.createElement(Divider, null), actions && /*#__PURE__*/React__default.createElement(AccordionActions, null, actions));
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
var _templateObject$G;
|
|
140
|
-
var rootClassName$C = 'dot-action-toolbar';
|
|
141
|
-
var StyledToolbar = styled(Toolbar)(_templateObject$G || (_templateObject$G = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
142
|
-
var theme = _ref.theme;
|
|
143
|
-
return css(["&.", "{border-bottom:1px solid ", ";}"], rootClassName$C, theme.palette.product === 'agility' ? theme.palette.layer.n100 : theme.palette.grey[100]);
|
|
144
|
-
});
|
|
145
|
-
|
|
146
|
-
var DotActionToolbar = function DotActionToolbar(_ref) {
|
|
147
|
-
var ariaLabel = _ref.ariaLabel,
|
|
148
|
-
children = _ref.children,
|
|
149
|
-
className = _ref.className,
|
|
150
|
-
dataTestId = _ref['data-testid'],
|
|
151
|
-
_ref$variant = _ref.variant,
|
|
152
|
-
variant = _ref$variant === void 0 ? 'dense' : _ref$variant;
|
|
153
|
-
var rootClasses = useStylesWithRootClass(rootClassName$C, className);
|
|
154
|
-
return /*#__PURE__*/React__default.createElement(StyledToolbar, {
|
|
155
|
-
"aria-label": ariaLabel,
|
|
156
|
-
className: rootClasses,
|
|
157
|
-
"data-testid": dataTestId,
|
|
158
|
-
variant: variant
|
|
159
|
-
}, children);
|
|
160
|
-
};
|
|
161
|
-
|
|
162
|
-
var _templateObject$F;
|
|
163
|
-
var rootClassName$B = 'dot-alert-banner';
|
|
164
|
-
var StyledAlertBanner = styled(Alert)(_templateObject$F || (_templateObject$F = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
165
|
-
var theme = _ref.theme;
|
|
166
|
-
return css(["&.", "{padding:", ";.MuiAlert-message{padding:", ";}&.MuiAlert-standardSuccess{.MuiAlert-icon,.dot-typography{color:", ";}}&.MuiAlert-standardInfo{background-color:", ";.MuiAlert-icon,.dot-typography{color:", ";}}&.MuiAlert-standardWarning{background-color:", ";color:", ";.MuiAlert-icon,.dot-typography{color:", ";}}&.MuiAlert-standardError{.MuiAlert-icon,.dot-typography{color:", ";}}.MuiAlert-icon{padding:", ";}}"], rootClassName$B, theme.spacing(0, 2), theme.spacing(2, 0), theme.palette.success[700], theme.palette.primary[50], theme.palette.primary[500], theme.palette.warning[100], theme.palette.grey[700], theme.palette.grey[700], theme.palette.error[700], theme.spacing(1.75, 0));
|
|
167
|
-
});
|
|
168
|
-
|
|
169
|
-
var DotAlertBanner = function DotAlertBanner(_ref) {
|
|
170
|
-
var action = _ref.action,
|
|
171
|
-
ariaLabel = _ref.ariaLabel,
|
|
172
|
-
children = _ref.children,
|
|
173
|
-
className = _ref.className,
|
|
174
|
-
dataTestId = _ref['data-testid'],
|
|
175
|
-
_onClose = _ref.onClose,
|
|
176
|
-
severity = _ref.severity;
|
|
177
|
-
|
|
178
|
-
var AlertBannerIcon = function AlertBannerIcon(iconId) {
|
|
179
|
-
return /*#__PURE__*/React__default.createElement(DotIcon, {
|
|
180
|
-
iconId: iconId
|
|
181
|
-
});
|
|
182
|
-
};
|
|
183
|
-
|
|
184
|
-
var AlertBannerIconMapping = {
|
|
185
|
-
error: AlertBannerIcon('error-solid'),
|
|
186
|
-
info: AlertBannerIcon('info-solid'),
|
|
187
|
-
success: AlertBannerIcon('check-solid'),
|
|
188
|
-
warning: AlertBannerIcon('warning-solid')
|
|
189
|
-
};
|
|
190
|
-
var rootClasses = useStylesWithRootClass(rootClassName$B, className);
|
|
191
|
-
return /*#__PURE__*/React__default.createElement(StyledAlertBanner, {
|
|
192
|
-
action: action,
|
|
193
|
-
"aria-label": ariaLabel,
|
|
194
|
-
classes: {
|
|
195
|
-
root: rootClasses
|
|
196
|
-
},
|
|
197
|
-
"data-testid": dataTestId,
|
|
198
|
-
iconMapping: AlertBannerIconMapping,
|
|
199
|
-
onClose: function onClose(event) {
|
|
200
|
-
return _onClose ? _onClose(event) : null;
|
|
201
|
-
},
|
|
202
|
-
severity: severity
|
|
203
|
-
}, /*#__PURE__*/React__default.createElement(DotTypography, {
|
|
204
|
-
variant: "subtitle2"
|
|
205
|
-
}, children));
|
|
206
|
-
};
|
|
207
|
-
|
|
208
|
-
var _templateObject$E;
|
|
209
|
-
var rootClassName$A = 'dot-icon-btn';
|
|
210
|
-
var StyledIconButton = styled(IconButton)(_templateObject$E || (_templateObject$E = _taggedTemplateLiteralLoose(["\n ", "\n"])), function () {
|
|
211
|
-
return css(["&.", "{padding:10px;&.MuiIconButton-root{font-size:inherit;.dot-icon.MuiIcon-fontSizeSmall{padding:1px;}}&.MuiIconButton-sizeSmall{padding:3px;}}"], rootClassName$A);
|
|
212
|
-
});
|
|
213
|
-
|
|
214
|
-
var DotIconButton = function DotIconButton(_ref) {
|
|
215
|
-
var ariaLabel = _ref.ariaLabel,
|
|
216
|
-
className = _ref.className,
|
|
217
|
-
_ref$color = _ref.color,
|
|
218
|
-
color = _ref$color === void 0 ? 'inherit' : _ref$color,
|
|
219
|
-
dataTestId = _ref['data-testid'],
|
|
220
|
-
_ref$disabled = _ref.disabled,
|
|
221
|
-
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
222
|
-
iconId = _ref.iconId,
|
|
223
|
-
_ref$iconSize = _ref.iconSize,
|
|
224
|
-
iconSize = _ref$iconSize === void 0 ? 'small' : _ref$iconSize,
|
|
225
|
-
_onClick = _ref.onClick,
|
|
226
|
-
titleTooltip = _ref.titleTooltip,
|
|
227
|
-
_ref$size = _ref.size,
|
|
228
|
-
size = _ref$size === void 0 ? 'medium' : _ref$size;
|
|
229
|
-
var rootClasses = useStylesWithRootClass(rootClassName$A, className);
|
|
230
|
-
return /*#__PURE__*/React__default.createElement(StyledIconButton, {
|
|
231
|
-
"aria-label": ariaLabel,
|
|
232
|
-
classes: {
|
|
233
|
-
root: rootClasses
|
|
234
|
-
},
|
|
235
|
-
color: color,
|
|
236
|
-
"data-testid": dataTestId,
|
|
237
|
-
disabled: disabled,
|
|
238
|
-
onClick: function onClick(event) {
|
|
239
|
-
return _onClick && _onClick(event);
|
|
240
|
-
},
|
|
241
|
-
size: size,
|
|
242
|
-
title: titleTooltip
|
|
243
|
-
}, /*#__PURE__*/React__default.createElement(DotIcon, {
|
|
244
|
-
"data-testid": "button-icon",
|
|
245
|
-
fontSize: iconSize,
|
|
246
|
-
iconId: iconId,
|
|
247
|
-
title: titleTooltip
|
|
248
|
-
}));
|
|
249
|
-
};
|
|
250
|
-
|
|
251
|
-
var _templateObject$D;
|
|
252
|
-
var rootClassName$z = 'dot-link';
|
|
253
|
-
var StyledLink = styled(Link)(_templateObject$D || (_templateObject$D = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
254
|
-
var theme = _ref.theme;
|
|
255
|
-
return css(["&.", "{color:", ";cursor:pointer;&:hover:not(.MuiLink-underlineHover){text-decoration:none;}}"], rootClassName$z, theme.palette.product === 'agility' && theme.palette.layer.n700);
|
|
256
|
-
});
|
|
257
|
-
|
|
258
|
-
var DotLink = function DotLink(_ref) {
|
|
259
|
-
var ariaLabel = _ref.ariaLabel,
|
|
260
|
-
children = _ref.children,
|
|
261
|
-
className = _ref.className,
|
|
262
|
-
_ref$color = _ref.color,
|
|
263
|
-
color = _ref$color === void 0 ? 'primary' : _ref$color,
|
|
264
|
-
dataTestId = _ref['data-testid'],
|
|
265
|
-
href = _ref.href,
|
|
266
|
-
onClick = _ref.onClick,
|
|
267
|
-
onMouseEnter = _ref.onMouseEnter,
|
|
268
|
-
_ref$rel = _ref.rel,
|
|
269
|
-
rel = _ref$rel === void 0 ? 'noreferrer' : _ref$rel,
|
|
270
|
-
_ref$tabIndex = _ref.tabIndex,
|
|
271
|
-
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
|
|
272
|
-
target = _ref.target,
|
|
273
|
-
title = _ref.title,
|
|
274
|
-
_ref$underline = _ref.underline,
|
|
275
|
-
underline = _ref$underline === void 0 ? 'always' : _ref$underline;
|
|
276
|
-
var rootClasses = useStylesWithRootClass(rootClassName$z, className);
|
|
277
|
-
|
|
278
|
-
var handleKeyPress = function handleKeyPress(event) {
|
|
279
|
-
if (onClick && event.key === 'Enter') {
|
|
280
|
-
event.preventDefault();
|
|
281
|
-
onClick(event);
|
|
282
|
-
}
|
|
283
|
-
};
|
|
284
|
-
|
|
285
|
-
return /*#__PURE__*/React__default.createElement(StyledLink, {
|
|
286
|
-
"aria-label": ariaLabel,
|
|
287
|
-
classes: {
|
|
288
|
-
root: rootClasses
|
|
289
|
-
},
|
|
290
|
-
color: color,
|
|
291
|
-
"data-testid": dataTestId,
|
|
292
|
-
href: href,
|
|
293
|
-
onClick: onClick,
|
|
294
|
-
onMouseEnter: onMouseEnter,
|
|
295
|
-
onKeyPress: handleKeyPress,
|
|
296
|
-
rel: rel,
|
|
297
|
-
tabIndex: tabIndex,
|
|
298
|
-
target: target,
|
|
299
|
-
title: title,
|
|
300
|
-
underline: underline
|
|
301
|
-
}, children);
|
|
302
|
-
};
|
|
303
|
-
|
|
304
|
-
var _templateObject$C;
|
|
305
|
-
var rootClassName$y = 'dot-avatar';
|
|
306
|
-
var avatarSpacing = {
|
|
307
|
-
small: 3,
|
|
308
|
-
medium: 5,
|
|
309
|
-
large: 7
|
|
310
|
-
};
|
|
311
|
-
var StyledAvatar = styled(Avatar)(_templateObject$C || (_templateObject$C = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
312
|
-
var theme = _ref.theme;
|
|
313
|
-
return css(["&.MuiAvatar-root{background-color:", ";.dot-i,.dot-typography{color:", ";}&.small{height:", "px;width:", "px;}&.medium{height:", "px;width:", "px;}&.large{height:", "px;width:", "px;}}"], function (_ref2) {
|
|
314
|
-
var color = _ref2.color;
|
|
315
|
-
return theme.palette.product === 'agility' && color === 'default' ? theme.palette.layer.n0 : color && theme.palette.avatarColors[color] ? theme.palette.avatarColors[color].backgroundColor : theme.palette.avatarColors['default'].backgroundColor;
|
|
316
|
-
}, function (_ref3) {
|
|
317
|
-
var color = _ref3.color;
|
|
318
|
-
return theme.palette.product === 'agility' && color === 'default' ? theme.palette.layer.n700 : color && theme.palette.avatarColors[color] ? theme.palette.avatarColors[color].color : theme.palette.avatarColors['default'].color;
|
|
319
|
-
}, theme.spacing(avatarSpacing.small), theme.spacing(avatarSpacing.small), theme.spacing(avatarSpacing.medium), theme.spacing(avatarSpacing.medium), theme.spacing(avatarSpacing.large), theme.spacing(avatarSpacing.large));
|
|
320
|
-
});
|
|
321
|
-
|
|
322
|
-
function _extends$3() {
|
|
323
|
-
_extends$3 = Object.assign || function (target) {
|
|
324
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
325
|
-
var source = arguments[i];
|
|
326
|
-
|
|
327
|
-
for (var key in source) {
|
|
328
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
329
|
-
target[key] = source[key];
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
return target;
|
|
335
|
-
};
|
|
336
|
-
|
|
337
|
-
return _extends$3.apply(this, arguments);
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
function _typeof(obj) {
|
|
341
|
-
"@babel/helpers - typeof";
|
|
342
|
-
|
|
343
|
-
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
|
|
344
|
-
_typeof = function _typeof(obj) {
|
|
345
|
-
return typeof obj;
|
|
346
|
-
};
|
|
347
|
-
} else {
|
|
348
|
-
_typeof = function _typeof(obj) {
|
|
349
|
-
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
350
|
-
};
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
return _typeof(obj);
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
function isPlainObject(item) {
|
|
357
|
-
return item && _typeof(item) === 'object' && item.constructor === Object;
|
|
358
|
-
}
|
|
359
|
-
function deepmerge(target, source) {
|
|
360
|
-
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
|
|
361
|
-
clone: true
|
|
362
|
-
};
|
|
363
|
-
var output = options.clone ? _extends$3({}, target) : target;
|
|
364
|
-
|
|
365
|
-
if (isPlainObject(target) && isPlainObject(source)) {
|
|
366
|
-
Object.keys(source).forEach(function (key) {
|
|
367
|
-
// Avoid prototype pollution
|
|
368
|
-
if (key === '__proto__') {
|
|
369
|
-
return;
|
|
370
|
-
}
|
|
371
|
-
|
|
372
|
-
if (isPlainObject(source[key]) && key in target) {
|
|
373
|
-
output[key] = deepmerge(target[key], source[key], options);
|
|
374
|
-
} else {
|
|
375
|
-
output[key] = source[key];
|
|
376
|
-
}
|
|
377
|
-
});
|
|
378
|
-
}
|
|
379
|
-
|
|
380
|
-
return output;
|
|
381
|
-
}
|
|
382
|
-
|
|
383
|
-
var propTypes = {exports: {}};
|
|
384
|
-
|
|
385
|
-
var reactIs = {exports: {}};
|
|
386
|
-
|
|
387
|
-
var reactIs_production_min = {};
|
|
388
|
-
|
|
389
|
-
/** @license React v16.13.1
|
|
390
|
-
* react-is.production.min.js
|
|
391
|
-
*
|
|
392
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
393
|
-
*
|
|
394
|
-
* This source code is licensed under the MIT license found in the
|
|
395
|
-
* LICENSE file in the root directory of this source tree.
|
|
396
|
-
*/
|
|
397
|
-
var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b?
|
|
398
|
-
Symbol.for("react.suspense_list"):60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w=b?Symbol.for("react.fundamental"):60117,x=b?Symbol.for("react.responder"):60118,y=b?Symbol.for("react.scope"):60119;
|
|
399
|
-
function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}reactIs_production_min.AsyncMode=l;reactIs_production_min.ConcurrentMode=m;reactIs_production_min.ContextConsumer=k;reactIs_production_min.ContextProvider=h;reactIs_production_min.Element=c;reactIs_production_min.ForwardRef=n;reactIs_production_min.Fragment=e;reactIs_production_min.Lazy=t;reactIs_production_min.Memo=r;reactIs_production_min.Portal=d;
|
|
400
|
-
reactIs_production_min.Profiler=g;reactIs_production_min.StrictMode=f;reactIs_production_min.Suspense=p;reactIs_production_min.isAsyncMode=function(a){return A(a)||z(a)===l};reactIs_production_min.isConcurrentMode=A;reactIs_production_min.isContextConsumer=function(a){return z(a)===k};reactIs_production_min.isContextProvider=function(a){return z(a)===h};reactIs_production_min.isElement=function(a){return "object"===typeof a&&null!==a&&a.$$typeof===c};reactIs_production_min.isForwardRef=function(a){return z(a)===n};reactIs_production_min.isFragment=function(a){return z(a)===e};reactIs_production_min.isLazy=function(a){return z(a)===t};
|
|
401
|
-
reactIs_production_min.isMemo=function(a){return z(a)===r};reactIs_production_min.isPortal=function(a){return z(a)===d};reactIs_production_min.isProfiler=function(a){return z(a)===g};reactIs_production_min.isStrictMode=function(a){return z(a)===f};reactIs_production_min.isSuspense=function(a){return z(a)===p};
|
|
402
|
-
reactIs_production_min.isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};reactIs_production_min.typeOf=z;
|
|
403
|
-
|
|
404
|
-
var reactIs_development = {};
|
|
405
|
-
|
|
406
|
-
/** @license React v16.13.1
|
|
407
|
-
* react-is.development.js
|
|
408
|
-
*
|
|
409
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
410
|
-
*
|
|
411
|
-
* This source code is licensed under the MIT license found in the
|
|
412
|
-
* LICENSE file in the root directory of this source tree.
|
|
413
|
-
*/
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
if (process.env.NODE_ENV !== "production") {
|
|
418
|
-
(function() {
|
|
419
|
-
|
|
420
|
-
// The Symbol used to tag the ReactElement-like types. If there is no native Symbol
|
|
421
|
-
// nor polyfill, then a plain number is used for performance.
|
|
422
|
-
var hasSymbol = typeof Symbol === 'function' && Symbol.for;
|
|
423
|
-
var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
|
|
424
|
-
var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
|
|
425
|
-
var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
|
|
426
|
-
var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
|
|
427
|
-
var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
|
|
428
|
-
var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
|
|
429
|
-
var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
|
|
430
|
-
// (unstable) APIs that have been removed. Can we remove the symbols?
|
|
431
|
-
|
|
432
|
-
var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
|
|
433
|
-
var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
|
|
434
|
-
var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
|
|
435
|
-
var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
|
|
436
|
-
var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
|
|
437
|
-
var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
|
|
438
|
-
var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
|
|
439
|
-
var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
|
|
440
|
-
var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
|
|
441
|
-
var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
|
|
442
|
-
var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
|
|
443
|
-
|
|
444
|
-
function isValidElementType(type) {
|
|
445
|
-
return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
446
|
-
type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
function typeOf(object) {
|
|
450
|
-
if (typeof object === 'object' && object !== null) {
|
|
451
|
-
var $$typeof = object.$$typeof;
|
|
452
|
-
|
|
453
|
-
switch ($$typeof) {
|
|
454
|
-
case REACT_ELEMENT_TYPE:
|
|
455
|
-
var type = object.type;
|
|
456
|
-
|
|
457
|
-
switch (type) {
|
|
458
|
-
case REACT_ASYNC_MODE_TYPE:
|
|
459
|
-
case REACT_CONCURRENT_MODE_TYPE:
|
|
460
|
-
case REACT_FRAGMENT_TYPE:
|
|
461
|
-
case REACT_PROFILER_TYPE:
|
|
462
|
-
case REACT_STRICT_MODE_TYPE:
|
|
463
|
-
case REACT_SUSPENSE_TYPE:
|
|
464
|
-
return type;
|
|
465
|
-
|
|
466
|
-
default:
|
|
467
|
-
var $$typeofType = type && type.$$typeof;
|
|
468
|
-
|
|
469
|
-
switch ($$typeofType) {
|
|
470
|
-
case REACT_CONTEXT_TYPE:
|
|
471
|
-
case REACT_FORWARD_REF_TYPE:
|
|
472
|
-
case REACT_LAZY_TYPE:
|
|
473
|
-
case REACT_MEMO_TYPE:
|
|
474
|
-
case REACT_PROVIDER_TYPE:
|
|
475
|
-
return $$typeofType;
|
|
476
|
-
|
|
477
|
-
default:
|
|
478
|
-
return $$typeof;
|
|
479
|
-
}
|
|
480
|
-
|
|
481
|
-
}
|
|
482
|
-
|
|
483
|
-
case REACT_PORTAL_TYPE:
|
|
484
|
-
return $$typeof;
|
|
485
|
-
}
|
|
486
|
-
}
|
|
487
|
-
|
|
488
|
-
return undefined;
|
|
489
|
-
} // AsyncMode is deprecated along with isAsyncMode
|
|
490
|
-
|
|
491
|
-
var AsyncMode = REACT_ASYNC_MODE_TYPE;
|
|
492
|
-
var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
|
|
493
|
-
var ContextConsumer = REACT_CONTEXT_TYPE;
|
|
494
|
-
var ContextProvider = REACT_PROVIDER_TYPE;
|
|
495
|
-
var Element = REACT_ELEMENT_TYPE;
|
|
496
|
-
var ForwardRef = REACT_FORWARD_REF_TYPE;
|
|
497
|
-
var Fragment = REACT_FRAGMENT_TYPE;
|
|
498
|
-
var Lazy = REACT_LAZY_TYPE;
|
|
499
|
-
var Memo = REACT_MEMO_TYPE;
|
|
500
|
-
var Portal = REACT_PORTAL_TYPE;
|
|
501
|
-
var Profiler = REACT_PROFILER_TYPE;
|
|
502
|
-
var StrictMode = REACT_STRICT_MODE_TYPE;
|
|
503
|
-
var Suspense = REACT_SUSPENSE_TYPE;
|
|
504
|
-
var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
|
|
505
|
-
|
|
506
|
-
function isAsyncMode(object) {
|
|
507
|
-
{
|
|
508
|
-
if (!hasWarnedAboutDeprecatedIsAsyncMode) {
|
|
509
|
-
hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
|
|
510
|
-
|
|
511
|
-
console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');
|
|
512
|
-
}
|
|
513
|
-
}
|
|
514
|
-
|
|
515
|
-
return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
|
|
516
|
-
}
|
|
517
|
-
function isConcurrentMode(object) {
|
|
518
|
-
return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
|
|
519
|
-
}
|
|
520
|
-
function isContextConsumer(object) {
|
|
521
|
-
return typeOf(object) === REACT_CONTEXT_TYPE;
|
|
522
|
-
}
|
|
523
|
-
function isContextProvider(object) {
|
|
524
|
-
return typeOf(object) === REACT_PROVIDER_TYPE;
|
|
525
|
-
}
|
|
526
|
-
function isElement(object) {
|
|
527
|
-
return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
|
|
528
|
-
}
|
|
529
|
-
function isForwardRef(object) {
|
|
530
|
-
return typeOf(object) === REACT_FORWARD_REF_TYPE;
|
|
531
|
-
}
|
|
532
|
-
function isFragment(object) {
|
|
533
|
-
return typeOf(object) === REACT_FRAGMENT_TYPE;
|
|
534
|
-
}
|
|
535
|
-
function isLazy(object) {
|
|
536
|
-
return typeOf(object) === REACT_LAZY_TYPE;
|
|
537
|
-
}
|
|
538
|
-
function isMemo(object) {
|
|
539
|
-
return typeOf(object) === REACT_MEMO_TYPE;
|
|
540
|
-
}
|
|
541
|
-
function isPortal(object) {
|
|
542
|
-
return typeOf(object) === REACT_PORTAL_TYPE;
|
|
543
|
-
}
|
|
544
|
-
function isProfiler(object) {
|
|
545
|
-
return typeOf(object) === REACT_PROFILER_TYPE;
|
|
546
|
-
}
|
|
547
|
-
function isStrictMode(object) {
|
|
548
|
-
return typeOf(object) === REACT_STRICT_MODE_TYPE;
|
|
549
|
-
}
|
|
550
|
-
function isSuspense(object) {
|
|
551
|
-
return typeOf(object) === REACT_SUSPENSE_TYPE;
|
|
552
|
-
}
|
|
553
|
-
|
|
554
|
-
reactIs_development.AsyncMode = AsyncMode;
|
|
555
|
-
reactIs_development.ConcurrentMode = ConcurrentMode;
|
|
556
|
-
reactIs_development.ContextConsumer = ContextConsumer;
|
|
557
|
-
reactIs_development.ContextProvider = ContextProvider;
|
|
558
|
-
reactIs_development.Element = Element;
|
|
559
|
-
reactIs_development.ForwardRef = ForwardRef;
|
|
560
|
-
reactIs_development.Fragment = Fragment;
|
|
561
|
-
reactIs_development.Lazy = Lazy;
|
|
562
|
-
reactIs_development.Memo = Memo;
|
|
563
|
-
reactIs_development.Portal = Portal;
|
|
564
|
-
reactIs_development.Profiler = Profiler;
|
|
565
|
-
reactIs_development.StrictMode = StrictMode;
|
|
566
|
-
reactIs_development.Suspense = Suspense;
|
|
567
|
-
reactIs_development.isAsyncMode = isAsyncMode;
|
|
568
|
-
reactIs_development.isConcurrentMode = isConcurrentMode;
|
|
569
|
-
reactIs_development.isContextConsumer = isContextConsumer;
|
|
570
|
-
reactIs_development.isContextProvider = isContextProvider;
|
|
571
|
-
reactIs_development.isElement = isElement;
|
|
572
|
-
reactIs_development.isForwardRef = isForwardRef;
|
|
573
|
-
reactIs_development.isFragment = isFragment;
|
|
574
|
-
reactIs_development.isLazy = isLazy;
|
|
575
|
-
reactIs_development.isMemo = isMemo;
|
|
576
|
-
reactIs_development.isPortal = isPortal;
|
|
577
|
-
reactIs_development.isProfiler = isProfiler;
|
|
578
|
-
reactIs_development.isStrictMode = isStrictMode;
|
|
579
|
-
reactIs_development.isSuspense = isSuspense;
|
|
580
|
-
reactIs_development.isValidElementType = isValidElementType;
|
|
581
|
-
reactIs_development.typeOf = typeOf;
|
|
582
|
-
})();
|
|
583
|
-
}
|
|
584
|
-
|
|
585
|
-
if (process.env.NODE_ENV === 'production') {
|
|
586
|
-
reactIs.exports = reactIs_production_min;
|
|
587
|
-
} else {
|
|
588
|
-
reactIs.exports = reactIs_development;
|
|
589
|
-
}
|
|
590
|
-
|
|
591
|
-
/*
|
|
592
|
-
object-assign
|
|
593
|
-
(c) Sindre Sorhus
|
|
594
|
-
@license MIT
|
|
595
|
-
*/
|
|
596
|
-
/* eslint-disable no-unused-vars */
|
|
597
|
-
var getOwnPropertySymbols = Object.getOwnPropertySymbols;
|
|
598
|
-
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
599
|
-
var propIsEnumerable = Object.prototype.propertyIsEnumerable;
|
|
600
|
-
|
|
601
|
-
function toObject(val) {
|
|
602
|
-
if (val === null || val === undefined) {
|
|
603
|
-
throw new TypeError('Object.assign cannot be called with null or undefined');
|
|
604
|
-
}
|
|
605
|
-
|
|
606
|
-
return Object(val);
|
|
607
|
-
}
|
|
608
|
-
|
|
609
|
-
function shouldUseNative() {
|
|
610
|
-
try {
|
|
611
|
-
if (!Object.assign) {
|
|
612
|
-
return false;
|
|
613
|
-
}
|
|
614
|
-
|
|
615
|
-
// Detect buggy property enumeration order in older V8 versions.
|
|
616
|
-
|
|
617
|
-
// https://bugs.chromium.org/p/v8/issues/detail?id=4118
|
|
618
|
-
var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
|
|
619
|
-
test1[5] = 'de';
|
|
620
|
-
if (Object.getOwnPropertyNames(test1)[0] === '5') {
|
|
621
|
-
return false;
|
|
622
|
-
}
|
|
623
|
-
|
|
624
|
-
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
|
|
625
|
-
var test2 = {};
|
|
626
|
-
for (var i = 0; i < 10; i++) {
|
|
627
|
-
test2['_' + String.fromCharCode(i)] = i;
|
|
628
|
-
}
|
|
629
|
-
var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
|
|
630
|
-
return test2[n];
|
|
631
|
-
});
|
|
632
|
-
if (order2.join('') !== '0123456789') {
|
|
633
|
-
return false;
|
|
634
|
-
}
|
|
635
|
-
|
|
636
|
-
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
|
|
637
|
-
var test3 = {};
|
|
638
|
-
'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
|
|
639
|
-
test3[letter] = letter;
|
|
640
|
-
});
|
|
641
|
-
if (Object.keys(Object.assign({}, test3)).join('') !==
|
|
642
|
-
'abcdefghijklmnopqrst') {
|
|
643
|
-
return false;
|
|
644
|
-
}
|
|
645
|
-
|
|
646
|
-
return true;
|
|
647
|
-
} catch (err) {
|
|
648
|
-
// We don't expect any of the above to throw, but better to be safe.
|
|
649
|
-
return false;
|
|
650
|
-
}
|
|
651
|
-
}
|
|
652
|
-
|
|
653
|
-
var objectAssign = shouldUseNative() ? Object.assign : function (target, source) {
|
|
654
|
-
var from;
|
|
655
|
-
var to = toObject(target);
|
|
656
|
-
var symbols;
|
|
657
|
-
|
|
658
|
-
for (var s = 1; s < arguments.length; s++) {
|
|
659
|
-
from = Object(arguments[s]);
|
|
660
|
-
|
|
661
|
-
for (var key in from) {
|
|
662
|
-
if (hasOwnProperty.call(from, key)) {
|
|
663
|
-
to[key] = from[key];
|
|
664
|
-
}
|
|
665
|
-
}
|
|
666
|
-
|
|
667
|
-
if (getOwnPropertySymbols) {
|
|
668
|
-
symbols = getOwnPropertySymbols(from);
|
|
669
|
-
for (var i = 0; i < symbols.length; i++) {
|
|
670
|
-
if (propIsEnumerable.call(from, symbols[i])) {
|
|
671
|
-
to[symbols[i]] = from[symbols[i]];
|
|
672
|
-
}
|
|
673
|
-
}
|
|
674
|
-
}
|
|
675
|
-
}
|
|
676
|
-
|
|
677
|
-
return to;
|
|
678
|
-
};
|
|
679
|
-
|
|
680
|
-
/**
|
|
681
|
-
* Copyright (c) 2013-present, Facebook, Inc.
|
|
682
|
-
*
|
|
683
|
-
* This source code is licensed under the MIT license found in the
|
|
684
|
-
* LICENSE file in the root directory of this source tree.
|
|
685
|
-
*/
|
|
686
|
-
|
|
687
|
-
var ReactPropTypesSecret$3 = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
|
|
688
|
-
|
|
689
|
-
var ReactPropTypesSecret_1 = ReactPropTypesSecret$3;
|
|
690
|
-
|
|
691
|
-
/**
|
|
692
|
-
* Copyright (c) 2013-present, Facebook, Inc.
|
|
693
|
-
*
|
|
694
|
-
* This source code is licensed under the MIT license found in the
|
|
695
|
-
* LICENSE file in the root directory of this source tree.
|
|
696
|
-
*/
|
|
697
|
-
|
|
698
|
-
var printWarning$1 = function() {};
|
|
699
|
-
|
|
700
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
701
|
-
var ReactPropTypesSecret$2 = ReactPropTypesSecret_1;
|
|
702
|
-
var loggedTypeFailures = {};
|
|
703
|
-
var has$1 = Function.call.bind(Object.prototype.hasOwnProperty);
|
|
704
|
-
|
|
705
|
-
printWarning$1 = function(text) {
|
|
706
|
-
var message = 'Warning: ' + text;
|
|
707
|
-
if (typeof console !== 'undefined') {
|
|
708
|
-
console.error(message);
|
|
709
|
-
}
|
|
710
|
-
try {
|
|
711
|
-
// --- Welcome to debugging React ---
|
|
712
|
-
// This error was thrown as a convenience so that you can use this stack
|
|
713
|
-
// to find the callsite that caused this warning to fire.
|
|
714
|
-
throw new Error(message);
|
|
715
|
-
} catch (x) {}
|
|
716
|
-
};
|
|
717
|
-
}
|
|
718
|
-
|
|
719
|
-
/**
|
|
720
|
-
* Assert that the values match with the type specs.
|
|
721
|
-
* Error messages are memorized and will only be shown once.
|
|
722
|
-
*
|
|
723
|
-
* @param {object} typeSpecs Map of name to a ReactPropType
|
|
724
|
-
* @param {object} values Runtime values that need to be type-checked
|
|
725
|
-
* @param {string} location e.g. "prop", "context", "child context"
|
|
726
|
-
* @param {string} componentName Name of the component for error messages.
|
|
727
|
-
* @param {?Function} getStack Returns the component stack.
|
|
728
|
-
* @private
|
|
729
|
-
*/
|
|
730
|
-
function checkPropTypes$1(typeSpecs, values, location, componentName, getStack) {
|
|
731
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
732
|
-
for (var typeSpecName in typeSpecs) {
|
|
733
|
-
if (has$1(typeSpecs, typeSpecName)) {
|
|
734
|
-
var error;
|
|
735
|
-
// Prop type validation may throw. In case they do, we don't want to
|
|
736
|
-
// fail the render phase where it didn't fail before. So we log it.
|
|
737
|
-
// After these have been cleaned up, we'll let them throw.
|
|
738
|
-
try {
|
|
739
|
-
// This is intentionally an invariant that gets caught. It's the same
|
|
740
|
-
// behavior as without this statement except with a better message.
|
|
741
|
-
if (typeof typeSpecs[typeSpecName] !== 'function') {
|
|
742
|
-
var err = Error(
|
|
743
|
-
(componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
|
|
744
|
-
'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'
|
|
745
|
-
);
|
|
746
|
-
err.name = 'Invariant Violation';
|
|
747
|
-
throw err;
|
|
748
|
-
}
|
|
749
|
-
error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret$2);
|
|
750
|
-
} catch (ex) {
|
|
751
|
-
error = ex;
|
|
752
|
-
}
|
|
753
|
-
if (error && !(error instanceof Error)) {
|
|
754
|
-
printWarning$1(
|
|
755
|
-
(componentName || 'React class') + ': type specification of ' +
|
|
756
|
-
location + ' `' + typeSpecName + '` is invalid; the type checker ' +
|
|
757
|
-
'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
|
|
758
|
-
'You may have forgotten to pass an argument to the type checker ' +
|
|
759
|
-
'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
|
|
760
|
-
'shape all require an argument).'
|
|
761
|
-
);
|
|
762
|
-
}
|
|
763
|
-
if (error instanceof Error && !(error.message in loggedTypeFailures)) {
|
|
764
|
-
// Only monitor this failure once because there tends to be a lot of the
|
|
765
|
-
// same error.
|
|
766
|
-
loggedTypeFailures[error.message] = true;
|
|
767
|
-
|
|
768
|
-
var stack = getStack ? getStack() : '';
|
|
769
|
-
|
|
770
|
-
printWarning$1(
|
|
771
|
-
'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
|
|
772
|
-
);
|
|
773
|
-
}
|
|
774
|
-
}
|
|
775
|
-
}
|
|
776
|
-
}
|
|
777
|
-
}
|
|
778
|
-
|
|
779
|
-
/**
|
|
780
|
-
* Resets warning cache when testing.
|
|
781
|
-
*
|
|
782
|
-
* @private
|
|
783
|
-
*/
|
|
784
|
-
checkPropTypes$1.resetWarningCache = function() {
|
|
785
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
786
|
-
loggedTypeFailures = {};
|
|
787
|
-
}
|
|
788
|
-
};
|
|
789
|
-
|
|
790
|
-
var checkPropTypes_1 = checkPropTypes$1;
|
|
791
|
-
|
|
792
|
-
/**
|
|
793
|
-
* Copyright (c) 2013-present, Facebook, Inc.
|
|
794
|
-
*
|
|
795
|
-
* This source code is licensed under the MIT license found in the
|
|
796
|
-
* LICENSE file in the root directory of this source tree.
|
|
797
|
-
*/
|
|
798
|
-
|
|
799
|
-
var ReactIs$1 = reactIs.exports;
|
|
800
|
-
var assign = objectAssign;
|
|
801
|
-
|
|
802
|
-
var ReactPropTypesSecret$1 = ReactPropTypesSecret_1;
|
|
803
|
-
var checkPropTypes = checkPropTypes_1;
|
|
804
|
-
|
|
805
|
-
var has = Function.call.bind(Object.prototype.hasOwnProperty);
|
|
806
|
-
var printWarning = function() {};
|
|
807
|
-
|
|
808
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
809
|
-
printWarning = function(text) {
|
|
810
|
-
var message = 'Warning: ' + text;
|
|
811
|
-
if (typeof console !== 'undefined') {
|
|
812
|
-
console.error(message);
|
|
813
|
-
}
|
|
814
|
-
try {
|
|
815
|
-
// --- Welcome to debugging React ---
|
|
816
|
-
// This error was thrown as a convenience so that you can use this stack
|
|
817
|
-
// to find the callsite that caused this warning to fire.
|
|
818
|
-
throw new Error(message);
|
|
819
|
-
} catch (x) {}
|
|
820
|
-
};
|
|
821
|
-
}
|
|
822
|
-
|
|
823
|
-
function emptyFunctionThatReturnsNull() {
|
|
824
|
-
return null;
|
|
825
|
-
}
|
|
826
|
-
|
|
827
|
-
var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
|
|
828
|
-
/* global Symbol */
|
|
829
|
-
var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
|
|
830
|
-
var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
|
|
831
|
-
|
|
832
|
-
/**
|
|
833
|
-
* Returns the iterator method function contained on the iterable object.
|
|
834
|
-
*
|
|
835
|
-
* Be sure to invoke the function with the iterable as context:
|
|
836
|
-
*
|
|
837
|
-
* var iteratorFn = getIteratorFn(myIterable);
|
|
838
|
-
* if (iteratorFn) {
|
|
839
|
-
* var iterator = iteratorFn.call(myIterable);
|
|
840
|
-
* ...
|
|
841
|
-
* }
|
|
842
|
-
*
|
|
843
|
-
* @param {?object} maybeIterable
|
|
844
|
-
* @return {?function}
|
|
845
|
-
*/
|
|
846
|
-
function getIteratorFn(maybeIterable) {
|
|
847
|
-
var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
|
|
848
|
-
if (typeof iteratorFn === 'function') {
|
|
849
|
-
return iteratorFn;
|
|
850
|
-
}
|
|
851
|
-
}
|
|
852
|
-
|
|
853
|
-
/**
|
|
854
|
-
* Collection of methods that allow declaration and validation of props that are
|
|
855
|
-
* supplied to React components. Example usage:
|
|
856
|
-
*
|
|
857
|
-
* var Props = require('ReactPropTypes');
|
|
858
|
-
* var MyArticle = React.createClass({
|
|
859
|
-
* propTypes: {
|
|
860
|
-
* // An optional string prop named "description".
|
|
861
|
-
* description: Props.string,
|
|
862
|
-
*
|
|
863
|
-
* // A required enum prop named "category".
|
|
864
|
-
* category: Props.oneOf(['News','Photos']).isRequired,
|
|
865
|
-
*
|
|
866
|
-
* // A prop named "dialog" that requires an instance of Dialog.
|
|
867
|
-
* dialog: Props.instanceOf(Dialog).isRequired
|
|
868
|
-
* },
|
|
869
|
-
* render: function() { ... }
|
|
870
|
-
* });
|
|
871
|
-
*
|
|
872
|
-
* A more formal specification of how these methods are used:
|
|
873
|
-
*
|
|
874
|
-
* type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
|
|
875
|
-
* decl := ReactPropTypes.{type}(.isRequired)?
|
|
876
|
-
*
|
|
877
|
-
* Each and every declaration produces a function with the same signature. This
|
|
878
|
-
* allows the creation of custom validation functions. For example:
|
|
879
|
-
*
|
|
880
|
-
* var MyLink = React.createClass({
|
|
881
|
-
* propTypes: {
|
|
882
|
-
* // An optional string or URI prop named "href".
|
|
883
|
-
* href: function(props, propName, componentName) {
|
|
884
|
-
* var propValue = props[propName];
|
|
885
|
-
* if (propValue != null && typeof propValue !== 'string' &&
|
|
886
|
-
* !(propValue instanceof URI)) {
|
|
887
|
-
* return new Error(
|
|
888
|
-
* 'Expected a string or an URI for ' + propName + ' in ' +
|
|
889
|
-
* componentName
|
|
890
|
-
* );
|
|
891
|
-
* }
|
|
892
|
-
* }
|
|
893
|
-
* },
|
|
894
|
-
* render: function() {...}
|
|
895
|
-
* });
|
|
896
|
-
*
|
|
897
|
-
* @internal
|
|
898
|
-
*/
|
|
899
|
-
|
|
900
|
-
var ANONYMOUS = '<<anonymous>>';
|
|
901
|
-
|
|
902
|
-
// Important!
|
|
903
|
-
// Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
|
|
904
|
-
var ReactPropTypes = {
|
|
905
|
-
array: createPrimitiveTypeChecker('array'),
|
|
906
|
-
bool: createPrimitiveTypeChecker('boolean'),
|
|
907
|
-
func: createPrimitiveTypeChecker('function'),
|
|
908
|
-
number: createPrimitiveTypeChecker('number'),
|
|
909
|
-
object: createPrimitiveTypeChecker('object'),
|
|
910
|
-
string: createPrimitiveTypeChecker('string'),
|
|
911
|
-
symbol: createPrimitiveTypeChecker('symbol'),
|
|
912
|
-
|
|
913
|
-
any: createAnyTypeChecker(),
|
|
914
|
-
arrayOf: createArrayOfTypeChecker,
|
|
915
|
-
element: createElementTypeChecker(),
|
|
916
|
-
elementType: createElementTypeTypeChecker(),
|
|
917
|
-
instanceOf: createInstanceTypeChecker,
|
|
918
|
-
node: createNodeChecker(),
|
|
919
|
-
objectOf: createObjectOfTypeChecker,
|
|
920
|
-
oneOf: createEnumTypeChecker,
|
|
921
|
-
oneOfType: createUnionTypeChecker,
|
|
922
|
-
shape: createShapeTypeChecker,
|
|
923
|
-
exact: createStrictShapeTypeChecker,
|
|
924
|
-
};
|
|
925
|
-
|
|
926
|
-
/**
|
|
927
|
-
* inlined Object.is polyfill to avoid requiring consumers ship their own
|
|
928
|
-
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
|
|
929
|
-
*/
|
|
930
|
-
/*eslint-disable no-self-compare*/
|
|
931
|
-
function is(x, y) {
|
|
932
|
-
// SameValue algorithm
|
|
933
|
-
if (x === y) {
|
|
934
|
-
// Steps 1-5, 7-10
|
|
935
|
-
// Steps 6.b-6.e: +0 != -0
|
|
936
|
-
return x !== 0 || 1 / x === 1 / y;
|
|
937
|
-
} else {
|
|
938
|
-
// Step 6.a: NaN == NaN
|
|
939
|
-
return x !== x && y !== y;
|
|
940
|
-
}
|
|
941
|
-
}
|
|
942
|
-
/*eslint-enable no-self-compare*/
|
|
943
|
-
|
|
944
|
-
/**
|
|
945
|
-
* We use an Error-like object for backward compatibility as people may call
|
|
946
|
-
* PropTypes directly and inspect their output. However, we don't use real
|
|
947
|
-
* Errors anymore. We don't inspect their stack anyway, and creating them
|
|
948
|
-
* is prohibitively expensive if they are created too often, such as what
|
|
949
|
-
* happens in oneOfType() for any type before the one that matched.
|
|
950
|
-
*/
|
|
951
|
-
function PropTypeError(message) {
|
|
952
|
-
this.message = message;
|
|
953
|
-
this.stack = '';
|
|
954
|
-
}
|
|
955
|
-
// Make `instanceof Error` still work for returned errors.
|
|
956
|
-
PropTypeError.prototype = Error.prototype;
|
|
957
|
-
|
|
958
|
-
function createChainableTypeChecker(validate) {
|
|
959
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
960
|
-
var manualPropTypeCallCache = {};
|
|
961
|
-
var manualPropTypeWarningCount = 0;
|
|
962
|
-
}
|
|
963
|
-
function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
|
|
964
|
-
componentName = componentName || ANONYMOUS;
|
|
965
|
-
propFullName = propFullName || propName;
|
|
966
|
-
|
|
967
|
-
if (secret !== ReactPropTypesSecret$1) {
|
|
968
|
-
if (throwOnDirectAccess) {
|
|
969
|
-
// New behavior only for users of `prop-types` package
|
|
970
|
-
var err = new Error(
|
|
971
|
-
'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
|
|
972
|
-
'Use `PropTypes.checkPropTypes()` to call them. ' +
|
|
973
|
-
'Read more at http://fb.me/use-check-prop-types'
|
|
974
|
-
);
|
|
975
|
-
err.name = 'Invariant Violation';
|
|
976
|
-
throw err;
|
|
977
|
-
} else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {
|
|
978
|
-
// Old behavior for people using React.PropTypes
|
|
979
|
-
var cacheKey = componentName + ':' + propName;
|
|
980
|
-
if (
|
|
981
|
-
!manualPropTypeCallCache[cacheKey] &&
|
|
982
|
-
// Avoid spamming the console because they are often not actionable except for lib authors
|
|
983
|
-
manualPropTypeWarningCount < 3
|
|
984
|
-
) {
|
|
985
|
-
printWarning(
|
|
986
|
-
'You are manually calling a React.PropTypes validation ' +
|
|
987
|
-
'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
|
|
988
|
-
'and will throw in the standalone `prop-types` package. ' +
|
|
989
|
-
'You may be seeing this warning due to a third-party PropTypes ' +
|
|
990
|
-
'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
|
|
991
|
-
);
|
|
992
|
-
manualPropTypeCallCache[cacheKey] = true;
|
|
993
|
-
manualPropTypeWarningCount++;
|
|
994
|
-
}
|
|
995
|
-
}
|
|
996
|
-
}
|
|
997
|
-
if (props[propName] == null) {
|
|
998
|
-
if (isRequired) {
|
|
999
|
-
if (props[propName] === null) {
|
|
1000
|
-
return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
|
|
1001
|
-
}
|
|
1002
|
-
return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
|
|
1003
|
-
}
|
|
1004
|
-
return null;
|
|
1005
|
-
} else {
|
|
1006
|
-
return validate(props, propName, componentName, location, propFullName);
|
|
1007
|
-
}
|
|
1008
|
-
}
|
|
1009
|
-
|
|
1010
|
-
var chainedCheckType = checkType.bind(null, false);
|
|
1011
|
-
chainedCheckType.isRequired = checkType.bind(null, true);
|
|
1012
|
-
|
|
1013
|
-
return chainedCheckType;
|
|
1014
|
-
}
|
|
1015
|
-
|
|
1016
|
-
function createPrimitiveTypeChecker(expectedType) {
|
|
1017
|
-
function validate(props, propName, componentName, location, propFullName, secret) {
|
|
1018
|
-
var propValue = props[propName];
|
|
1019
|
-
var propType = getPropType(propValue);
|
|
1020
|
-
if (propType !== expectedType) {
|
|
1021
|
-
// `propValue` being instance of, say, date/regexp, pass the 'object'
|
|
1022
|
-
// check, but we can offer a more precise error message here rather than
|
|
1023
|
-
// 'of type `object`'.
|
|
1024
|
-
var preciseType = getPreciseType(propValue);
|
|
1025
|
-
|
|
1026
|
-
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));
|
|
1027
|
-
}
|
|
1028
|
-
return null;
|
|
1029
|
-
}
|
|
1030
|
-
return createChainableTypeChecker(validate);
|
|
1031
|
-
}
|
|
1032
|
-
|
|
1033
|
-
function createAnyTypeChecker() {
|
|
1034
|
-
return createChainableTypeChecker(emptyFunctionThatReturnsNull);
|
|
1035
|
-
}
|
|
1036
|
-
|
|
1037
|
-
function createArrayOfTypeChecker(typeChecker) {
|
|
1038
|
-
function validate(props, propName, componentName, location, propFullName) {
|
|
1039
|
-
if (typeof typeChecker !== 'function') {
|
|
1040
|
-
return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
|
|
1041
|
-
}
|
|
1042
|
-
var propValue = props[propName];
|
|
1043
|
-
if (!Array.isArray(propValue)) {
|
|
1044
|
-
var propType = getPropType(propValue);
|
|
1045
|
-
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
|
|
1046
|
-
}
|
|
1047
|
-
for (var i = 0; i < propValue.length; i++) {
|
|
1048
|
-
var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret$1);
|
|
1049
|
-
if (error instanceof Error) {
|
|
1050
|
-
return error;
|
|
1051
|
-
}
|
|
1052
|
-
}
|
|
1053
|
-
return null;
|
|
1054
|
-
}
|
|
1055
|
-
return createChainableTypeChecker(validate);
|
|
1056
|
-
}
|
|
1057
|
-
|
|
1058
|
-
function createElementTypeChecker() {
|
|
1059
|
-
function validate(props, propName, componentName, location, propFullName) {
|
|
1060
|
-
var propValue = props[propName];
|
|
1061
|
-
if (!isValidElement(propValue)) {
|
|
1062
|
-
var propType = getPropType(propValue);
|
|
1063
|
-
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
|
|
1064
|
-
}
|
|
1065
|
-
return null;
|
|
1066
|
-
}
|
|
1067
|
-
return createChainableTypeChecker(validate);
|
|
1068
|
-
}
|
|
1069
|
-
|
|
1070
|
-
function createElementTypeTypeChecker() {
|
|
1071
|
-
function validate(props, propName, componentName, location, propFullName) {
|
|
1072
|
-
var propValue = props[propName];
|
|
1073
|
-
if (!ReactIs$1.isValidElementType(propValue)) {
|
|
1074
|
-
var propType = getPropType(propValue);
|
|
1075
|
-
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
|
|
1076
|
-
}
|
|
1077
|
-
return null;
|
|
1078
|
-
}
|
|
1079
|
-
return createChainableTypeChecker(validate);
|
|
1080
|
-
}
|
|
1081
|
-
|
|
1082
|
-
function createInstanceTypeChecker(expectedClass) {
|
|
1083
|
-
function validate(props, propName, componentName, location, propFullName) {
|
|
1084
|
-
if (!(props[propName] instanceof expectedClass)) {
|
|
1085
|
-
var expectedClassName = expectedClass.name || ANONYMOUS;
|
|
1086
|
-
var actualClassName = getClassName(props[propName]);
|
|
1087
|
-
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
|
|
1088
|
-
}
|
|
1089
|
-
return null;
|
|
1090
|
-
}
|
|
1091
|
-
return createChainableTypeChecker(validate);
|
|
1092
|
-
}
|
|
1093
|
-
|
|
1094
|
-
function createEnumTypeChecker(expectedValues) {
|
|
1095
|
-
if (!Array.isArray(expectedValues)) {
|
|
1096
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
1097
|
-
if (arguments.length > 1) {
|
|
1098
|
-
printWarning(
|
|
1099
|
-
'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +
|
|
1100
|
-
'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'
|
|
1101
|
-
);
|
|
1102
|
-
} else {
|
|
1103
|
-
printWarning('Invalid argument supplied to oneOf, expected an array.');
|
|
1104
|
-
}
|
|
1105
|
-
}
|
|
1106
|
-
return emptyFunctionThatReturnsNull;
|
|
1107
|
-
}
|
|
1108
|
-
|
|
1109
|
-
function validate(props, propName, componentName, location, propFullName) {
|
|
1110
|
-
var propValue = props[propName];
|
|
1111
|
-
for (var i = 0; i < expectedValues.length; i++) {
|
|
1112
|
-
if (is(propValue, expectedValues[i])) {
|
|
1113
|
-
return null;
|
|
1114
|
-
}
|
|
1115
|
-
}
|
|
1116
|
-
|
|
1117
|
-
var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
|
|
1118
|
-
var type = getPreciseType(value);
|
|
1119
|
-
if (type === 'symbol') {
|
|
1120
|
-
return String(value);
|
|
1121
|
-
}
|
|
1122
|
-
return value;
|
|
1123
|
-
});
|
|
1124
|
-
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
|
|
1125
|
-
}
|
|
1126
|
-
return createChainableTypeChecker(validate);
|
|
1127
|
-
}
|
|
1128
|
-
|
|
1129
|
-
function createObjectOfTypeChecker(typeChecker) {
|
|
1130
|
-
function validate(props, propName, componentName, location, propFullName) {
|
|
1131
|
-
if (typeof typeChecker !== 'function') {
|
|
1132
|
-
return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
|
|
1133
|
-
}
|
|
1134
|
-
var propValue = props[propName];
|
|
1135
|
-
var propType = getPropType(propValue);
|
|
1136
|
-
if (propType !== 'object') {
|
|
1137
|
-
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
|
|
1138
|
-
}
|
|
1139
|
-
for (var key in propValue) {
|
|
1140
|
-
if (has(propValue, key)) {
|
|
1141
|
-
var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret$1);
|
|
1142
|
-
if (error instanceof Error) {
|
|
1143
|
-
return error;
|
|
1144
|
-
}
|
|
1145
|
-
}
|
|
1146
|
-
}
|
|
1147
|
-
return null;
|
|
1148
|
-
}
|
|
1149
|
-
return createChainableTypeChecker(validate);
|
|
1150
|
-
}
|
|
1151
|
-
|
|
1152
|
-
function createUnionTypeChecker(arrayOfTypeCheckers) {
|
|
1153
|
-
if (!Array.isArray(arrayOfTypeCheckers)) {
|
|
1154
|
-
process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;
|
|
1155
|
-
return emptyFunctionThatReturnsNull;
|
|
1156
|
-
}
|
|
1157
|
-
|
|
1158
|
-
for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
|
|
1159
|
-
var checker = arrayOfTypeCheckers[i];
|
|
1160
|
-
if (typeof checker !== 'function') {
|
|
1161
|
-
printWarning(
|
|
1162
|
-
'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
|
|
1163
|
-
'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
|
|
1164
|
-
);
|
|
1165
|
-
return emptyFunctionThatReturnsNull;
|
|
1166
|
-
}
|
|
1167
|
-
}
|
|
1168
|
-
|
|
1169
|
-
function validate(props, propName, componentName, location, propFullName) {
|
|
1170
|
-
for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
|
|
1171
|
-
var checker = arrayOfTypeCheckers[i];
|
|
1172
|
-
if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret$1) == null) {
|
|
1173
|
-
return null;
|
|
1174
|
-
}
|
|
1175
|
-
}
|
|
1176
|
-
|
|
1177
|
-
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));
|
|
1178
|
-
}
|
|
1179
|
-
return createChainableTypeChecker(validate);
|
|
1180
|
-
}
|
|
1181
|
-
|
|
1182
|
-
function createNodeChecker() {
|
|
1183
|
-
function validate(props, propName, componentName, location, propFullName) {
|
|
1184
|
-
if (!isNode(props[propName])) {
|
|
1185
|
-
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
|
|
1186
|
-
}
|
|
1187
|
-
return null;
|
|
1188
|
-
}
|
|
1189
|
-
return createChainableTypeChecker(validate);
|
|
1190
|
-
}
|
|
1191
|
-
|
|
1192
|
-
function createShapeTypeChecker(shapeTypes) {
|
|
1193
|
-
function validate(props, propName, componentName, location, propFullName) {
|
|
1194
|
-
var propValue = props[propName];
|
|
1195
|
-
var propType = getPropType(propValue);
|
|
1196
|
-
if (propType !== 'object') {
|
|
1197
|
-
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
|
|
1198
|
-
}
|
|
1199
|
-
for (var key in shapeTypes) {
|
|
1200
|
-
var checker = shapeTypes[key];
|
|
1201
|
-
if (!checker) {
|
|
1202
|
-
continue;
|
|
1203
|
-
}
|
|
1204
|
-
var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret$1);
|
|
1205
|
-
if (error) {
|
|
1206
|
-
return error;
|
|
1207
|
-
}
|
|
1208
|
-
}
|
|
1209
|
-
return null;
|
|
1210
|
-
}
|
|
1211
|
-
return createChainableTypeChecker(validate);
|
|
1212
|
-
}
|
|
1213
|
-
|
|
1214
|
-
function createStrictShapeTypeChecker(shapeTypes) {
|
|
1215
|
-
function validate(props, propName, componentName, location, propFullName) {
|
|
1216
|
-
var propValue = props[propName];
|
|
1217
|
-
var propType = getPropType(propValue);
|
|
1218
|
-
if (propType !== 'object') {
|
|
1219
|
-
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
|
|
1220
|
-
}
|
|
1221
|
-
// We need to check all keys in case some are required but missing from
|
|
1222
|
-
// props.
|
|
1223
|
-
var allKeys = assign({}, props[propName], shapeTypes);
|
|
1224
|
-
for (var key in allKeys) {
|
|
1225
|
-
var checker = shapeTypes[key];
|
|
1226
|
-
if (!checker) {
|
|
1227
|
-
return new PropTypeError(
|
|
1228
|
-
'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
|
|
1229
|
-
'\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
|
|
1230
|
-
'\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
|
|
1231
|
-
);
|
|
1232
|
-
}
|
|
1233
|
-
var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret$1);
|
|
1234
|
-
if (error) {
|
|
1235
|
-
return error;
|
|
1236
|
-
}
|
|
1237
|
-
}
|
|
1238
|
-
return null;
|
|
1239
|
-
}
|
|
1240
|
-
|
|
1241
|
-
return createChainableTypeChecker(validate);
|
|
1242
|
-
}
|
|
1243
|
-
|
|
1244
|
-
function isNode(propValue) {
|
|
1245
|
-
switch (typeof propValue) {
|
|
1246
|
-
case 'number':
|
|
1247
|
-
case 'string':
|
|
1248
|
-
case 'undefined':
|
|
1249
|
-
return true;
|
|
1250
|
-
case 'boolean':
|
|
1251
|
-
return !propValue;
|
|
1252
|
-
case 'object':
|
|
1253
|
-
if (Array.isArray(propValue)) {
|
|
1254
|
-
return propValue.every(isNode);
|
|
1255
|
-
}
|
|
1256
|
-
if (propValue === null || isValidElement(propValue)) {
|
|
1257
|
-
return true;
|
|
1258
|
-
}
|
|
1259
|
-
|
|
1260
|
-
var iteratorFn = getIteratorFn(propValue);
|
|
1261
|
-
if (iteratorFn) {
|
|
1262
|
-
var iterator = iteratorFn.call(propValue);
|
|
1263
|
-
var step;
|
|
1264
|
-
if (iteratorFn !== propValue.entries) {
|
|
1265
|
-
while (!(step = iterator.next()).done) {
|
|
1266
|
-
if (!isNode(step.value)) {
|
|
1267
|
-
return false;
|
|
1268
|
-
}
|
|
1269
|
-
}
|
|
1270
|
-
} else {
|
|
1271
|
-
// Iterator will provide entry [k,v] tuples rather than values.
|
|
1272
|
-
while (!(step = iterator.next()).done) {
|
|
1273
|
-
var entry = step.value;
|
|
1274
|
-
if (entry) {
|
|
1275
|
-
if (!isNode(entry[1])) {
|
|
1276
|
-
return false;
|
|
1277
|
-
}
|
|
1278
|
-
}
|
|
1279
|
-
}
|
|
1280
|
-
}
|
|
1281
|
-
} else {
|
|
1282
|
-
return false;
|
|
1283
|
-
}
|
|
1284
|
-
|
|
1285
|
-
return true;
|
|
1286
|
-
default:
|
|
1287
|
-
return false;
|
|
1288
|
-
}
|
|
1289
|
-
}
|
|
1290
|
-
|
|
1291
|
-
function isSymbol(propType, propValue) {
|
|
1292
|
-
// Native Symbol.
|
|
1293
|
-
if (propType === 'symbol') {
|
|
1294
|
-
return true;
|
|
1295
|
-
}
|
|
1296
|
-
|
|
1297
|
-
// falsy value can't be a Symbol
|
|
1298
|
-
if (!propValue) {
|
|
1299
|
-
return false;
|
|
1300
|
-
}
|
|
1301
|
-
|
|
1302
|
-
// 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
|
|
1303
|
-
if (propValue['@@toStringTag'] === 'Symbol') {
|
|
1304
|
-
return true;
|
|
1305
|
-
}
|
|
1306
|
-
|
|
1307
|
-
// Fallback for non-spec compliant Symbols which are polyfilled.
|
|
1308
|
-
if (typeof Symbol === 'function' && propValue instanceof Symbol) {
|
|
1309
|
-
return true;
|
|
1310
|
-
}
|
|
1311
|
-
|
|
1312
|
-
return false;
|
|
1313
|
-
}
|
|
1314
|
-
|
|
1315
|
-
// Equivalent of `typeof` but with special handling for array and regexp.
|
|
1316
|
-
function getPropType(propValue) {
|
|
1317
|
-
var propType = typeof propValue;
|
|
1318
|
-
if (Array.isArray(propValue)) {
|
|
1319
|
-
return 'array';
|
|
1320
|
-
}
|
|
1321
|
-
if (propValue instanceof RegExp) {
|
|
1322
|
-
// Old webkits (at least until Android 4.0) return 'function' rather than
|
|
1323
|
-
// 'object' for typeof a RegExp. We'll normalize this here so that /bla/
|
|
1324
|
-
// passes PropTypes.object.
|
|
1325
|
-
return 'object';
|
|
1326
|
-
}
|
|
1327
|
-
if (isSymbol(propType, propValue)) {
|
|
1328
|
-
return 'symbol';
|
|
1329
|
-
}
|
|
1330
|
-
return propType;
|
|
1331
|
-
}
|
|
1332
|
-
|
|
1333
|
-
// This handles more types than `getPropType`. Only used for error messages.
|
|
1334
|
-
// See `createPrimitiveTypeChecker`.
|
|
1335
|
-
function getPreciseType(propValue) {
|
|
1336
|
-
if (typeof propValue === 'undefined' || propValue === null) {
|
|
1337
|
-
return '' + propValue;
|
|
1338
|
-
}
|
|
1339
|
-
var propType = getPropType(propValue);
|
|
1340
|
-
if (propType === 'object') {
|
|
1341
|
-
if (propValue instanceof Date) {
|
|
1342
|
-
return 'date';
|
|
1343
|
-
} else if (propValue instanceof RegExp) {
|
|
1344
|
-
return 'regexp';
|
|
1345
|
-
}
|
|
1346
|
-
}
|
|
1347
|
-
return propType;
|
|
1348
|
-
}
|
|
1349
|
-
|
|
1350
|
-
// Returns a string that is postfixed to a warning about an invalid type.
|
|
1351
|
-
// For example, "undefined" or "of type array"
|
|
1352
|
-
function getPostfixForTypeWarning(value) {
|
|
1353
|
-
var type = getPreciseType(value);
|
|
1354
|
-
switch (type) {
|
|
1355
|
-
case 'array':
|
|
1356
|
-
case 'object':
|
|
1357
|
-
return 'an ' + type;
|
|
1358
|
-
case 'boolean':
|
|
1359
|
-
case 'date':
|
|
1360
|
-
case 'regexp':
|
|
1361
|
-
return 'a ' + type;
|
|
1362
|
-
default:
|
|
1363
|
-
return type;
|
|
1364
|
-
}
|
|
1365
|
-
}
|
|
1366
|
-
|
|
1367
|
-
// Returns class name of the object, if any.
|
|
1368
|
-
function getClassName(propValue) {
|
|
1369
|
-
if (!propValue.constructor || !propValue.constructor.name) {
|
|
1370
|
-
return ANONYMOUS;
|
|
1371
|
-
}
|
|
1372
|
-
return propValue.constructor.name;
|
|
1373
|
-
}
|
|
1374
|
-
|
|
1375
|
-
ReactPropTypes.checkPropTypes = checkPropTypes;
|
|
1376
|
-
ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
|
|
1377
|
-
ReactPropTypes.PropTypes = ReactPropTypes;
|
|
1378
|
-
|
|
1379
|
-
return ReactPropTypes;
|
|
1380
|
-
};
|
|
1381
|
-
|
|
1382
|
-
/**
|
|
1383
|
-
* Copyright (c) 2013-present, Facebook, Inc.
|
|
1384
|
-
*
|
|
1385
|
-
* This source code is licensed under the MIT license found in the
|
|
1386
|
-
* LICENSE file in the root directory of this source tree.
|
|
1387
|
-
*/
|
|
1388
|
-
|
|
1389
|
-
var ReactPropTypesSecret = ReactPropTypesSecret_1;
|
|
1390
|
-
|
|
1391
|
-
function emptyFunction() {}
|
|
1392
|
-
function emptyFunctionWithReset() {}
|
|
1393
|
-
emptyFunctionWithReset.resetWarningCache = emptyFunction;
|
|
1394
|
-
|
|
1395
|
-
var factoryWithThrowingShims = function() {
|
|
1396
|
-
function shim(props, propName, componentName, location, propFullName, secret) {
|
|
1397
|
-
if (secret === ReactPropTypesSecret) {
|
|
1398
|
-
// It is still safe when called from React.
|
|
1399
|
-
return;
|
|
1400
|
-
}
|
|
1401
|
-
var err = new Error(
|
|
1402
|
-
'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
|
|
1403
|
-
'Use PropTypes.checkPropTypes() to call them. ' +
|
|
1404
|
-
'Read more at http://fb.me/use-check-prop-types'
|
|
1405
|
-
);
|
|
1406
|
-
err.name = 'Invariant Violation';
|
|
1407
|
-
throw err;
|
|
1408
|
-
} shim.isRequired = shim;
|
|
1409
|
-
function getShim() {
|
|
1410
|
-
return shim;
|
|
1411
|
-
} // Important!
|
|
1412
|
-
// Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
|
|
1413
|
-
var ReactPropTypes = {
|
|
1414
|
-
array: shim,
|
|
1415
|
-
bool: shim,
|
|
1416
|
-
func: shim,
|
|
1417
|
-
number: shim,
|
|
1418
|
-
object: shim,
|
|
1419
|
-
string: shim,
|
|
1420
|
-
symbol: shim,
|
|
1421
|
-
|
|
1422
|
-
any: shim,
|
|
1423
|
-
arrayOf: getShim,
|
|
1424
|
-
element: shim,
|
|
1425
|
-
elementType: shim,
|
|
1426
|
-
instanceOf: getShim,
|
|
1427
|
-
node: shim,
|
|
1428
|
-
objectOf: getShim,
|
|
1429
|
-
oneOf: getShim,
|
|
1430
|
-
oneOfType: getShim,
|
|
1431
|
-
shape: getShim,
|
|
1432
|
-
exact: getShim,
|
|
1433
|
-
|
|
1434
|
-
checkPropTypes: emptyFunctionWithReset,
|
|
1435
|
-
resetWarningCache: emptyFunction
|
|
1436
|
-
};
|
|
1437
|
-
|
|
1438
|
-
ReactPropTypes.PropTypes = ReactPropTypes;
|
|
1439
|
-
|
|
1440
|
-
return ReactPropTypes;
|
|
1441
|
-
};
|
|
1442
|
-
|
|
1443
|
-
/**
|
|
1444
|
-
* Copyright (c) 2013-present, Facebook, Inc.
|
|
1445
|
-
*
|
|
1446
|
-
* This source code is licensed under the MIT license found in the
|
|
1447
|
-
* LICENSE file in the root directory of this source tree.
|
|
1448
|
-
*/
|
|
1449
|
-
|
|
1450
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
1451
|
-
var ReactIs = reactIs.exports;
|
|
1452
|
-
|
|
1453
|
-
// By explicitly using `prop-types` you are opting into new development behavior.
|
|
1454
|
-
// http://fb.me/prop-types-in-prod
|
|
1455
|
-
var throwOnDirectAccess = true;
|
|
1456
|
-
propTypes.exports = factoryWithTypeCheckers(ReactIs.isElement, throwOnDirectAccess);
|
|
1457
|
-
} else {
|
|
1458
|
-
// By explicitly using `prop-types` you are opting into new production behavior.
|
|
1459
|
-
// http://fb.me/prop-types-in-prod
|
|
1460
|
-
propTypes.exports = factoryWithThrowingShims();
|
|
1461
|
-
}
|
|
1462
|
-
|
|
1463
|
-
var PropTypes = propTypes.exports;
|
|
1464
|
-
|
|
1465
|
-
function _defineProperty(obj, key, value) {
|
|
1466
|
-
if (key in obj) {
|
|
1467
|
-
Object.defineProperty(obj, key, {
|
|
1468
|
-
value: value,
|
|
1469
|
-
enumerable: true,
|
|
1470
|
-
configurable: true,
|
|
1471
|
-
writable: true
|
|
1472
|
-
});
|
|
1473
|
-
} else {
|
|
1474
|
-
obj[key] = value;
|
|
1475
|
-
}
|
|
1476
|
-
|
|
1477
|
-
return obj;
|
|
1478
|
-
}
|
|
1479
|
-
|
|
1480
|
-
/**
|
|
1481
|
-
* WARNING: Don't import this directly.
|
|
1482
|
-
* Use `MuiError` from `@material-ui/utils/macros/MuiError.macro` instead.
|
|
1483
|
-
* @param {number} code
|
|
1484
|
-
*/
|
|
1485
|
-
function formatMuiErrorMessage(code) {
|
|
1486
|
-
// Apply babel-plugin-transform-template-literals in loose mode
|
|
1487
|
-
// loose mode is safe iff we're concatenating primitives
|
|
1488
|
-
// see https://babeljs.io/docs/en/babel-plugin-transform-template-literals#loose
|
|
1489
|
-
|
|
1490
|
-
/* eslint-disable prefer-template */
|
|
1491
|
-
var url = 'https://material-ui.com/production-error/?code=' + code;
|
|
1492
|
-
|
|
1493
|
-
for (var i = 1; i < arguments.length; i += 1) {
|
|
1494
|
-
// rest params over-transpile for this case
|
|
1495
|
-
// eslint-disable-next-line prefer-rest-params
|
|
1496
|
-
url += '&args[]=' + encodeURIComponent(arguments[i]);
|
|
1497
|
-
}
|
|
1498
|
-
|
|
1499
|
-
return 'Minified Material-UI error #' + code + '; visit ' + url + ' for the full message.';
|
|
1500
|
-
/* eslint-enable prefer-template */
|
|
1501
|
-
}
|
|
1502
|
-
|
|
1503
|
-
/* eslint-disable no-use-before-define */
|
|
1504
|
-
|
|
1505
|
-
/**
|
|
1506
|
-
* Returns a number whose value is limited to the given range.
|
|
1507
|
-
*
|
|
1508
|
-
* @param {number} value The value to be clamped
|
|
1509
|
-
* @param {number} min The lower boundary of the output range
|
|
1510
|
-
* @param {number} max The upper boundary of the output range
|
|
1511
|
-
* @returns {number} A number in the range [min, max]
|
|
1512
|
-
*/
|
|
1513
|
-
function clamp(value) {
|
|
1514
|
-
var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
1515
|
-
var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
1516
|
-
|
|
1517
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
1518
|
-
if (value < min || value > max) {
|
|
1519
|
-
console.error("Material-UI: The value provided ".concat(value, " is out of range [").concat(min, ", ").concat(max, "]."));
|
|
1520
|
-
}
|
|
1521
|
-
}
|
|
1522
|
-
|
|
1523
|
-
return Math.min(Math.max(min, value), max);
|
|
1524
|
-
}
|
|
1525
|
-
/**
|
|
1526
|
-
* Converts a color from CSS hex format to CSS rgb format.
|
|
1527
|
-
*
|
|
1528
|
-
* @param {string} color - Hex color, i.e. #nnn or #nnnnnn
|
|
1529
|
-
* @returns {string} A CSS rgb color string
|
|
1530
|
-
*/
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
function hexToRgb(color) {
|
|
1534
|
-
color = color.substr(1);
|
|
1535
|
-
var re = new RegExp(".{1,".concat(color.length >= 6 ? 2 : 1, "}"), 'g');
|
|
1536
|
-
var colors = color.match(re);
|
|
1537
|
-
|
|
1538
|
-
if (colors && colors[0].length === 1) {
|
|
1539
|
-
colors = colors.map(function (n) {
|
|
1540
|
-
return n + n;
|
|
1541
|
-
});
|
|
1542
|
-
}
|
|
1543
|
-
|
|
1544
|
-
return colors ? "rgb".concat(colors.length === 4 ? 'a' : '', "(").concat(colors.map(function (n, index) {
|
|
1545
|
-
return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;
|
|
1546
|
-
}).join(', '), ")") : '';
|
|
1547
|
-
}
|
|
1548
|
-
/**
|
|
1549
|
-
* Converts a color from hsl format to rgb format.
|
|
1550
|
-
*
|
|
1551
|
-
* @param {string} color - HSL color values
|
|
1552
|
-
* @returns {string} rgb color values
|
|
1553
|
-
*/
|
|
1554
|
-
|
|
1555
|
-
function hslToRgb(color) {
|
|
1556
|
-
color = decomposeColor(color);
|
|
1557
|
-
var _color = color,
|
|
1558
|
-
values = _color.values;
|
|
1559
|
-
var h = values[0];
|
|
1560
|
-
var s = values[1] / 100;
|
|
1561
|
-
var l = values[2] / 100;
|
|
1562
|
-
var a = s * Math.min(l, 1 - l);
|
|
1563
|
-
|
|
1564
|
-
var f = function f(n) {
|
|
1565
|
-
var k = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (n + h / 30) % 12;
|
|
1566
|
-
return l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);
|
|
1567
|
-
};
|
|
1568
|
-
|
|
1569
|
-
var type = 'rgb';
|
|
1570
|
-
var rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];
|
|
1571
|
-
|
|
1572
|
-
if (color.type === 'hsla') {
|
|
1573
|
-
type += 'a';
|
|
1574
|
-
rgb.push(values[3]);
|
|
1575
|
-
}
|
|
1576
|
-
|
|
1577
|
-
return recomposeColor({
|
|
1578
|
-
type: type,
|
|
1579
|
-
values: rgb
|
|
1580
|
-
});
|
|
1581
|
-
}
|
|
1582
|
-
/**
|
|
1583
|
-
* Returns an object with the type and values of a color.
|
|
1584
|
-
*
|
|
1585
|
-
* Note: Does not support rgb % values.
|
|
1586
|
-
*
|
|
1587
|
-
* @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
|
|
1588
|
-
* @returns {object} - A MUI color object: {type: string, values: number[]}
|
|
1589
|
-
*/
|
|
1590
|
-
|
|
1591
|
-
function decomposeColor(color) {
|
|
1592
|
-
// Idempotent
|
|
1593
|
-
if (color.type) {
|
|
1594
|
-
return color;
|
|
1595
|
-
}
|
|
1596
|
-
|
|
1597
|
-
if (color.charAt(0) === '#') {
|
|
1598
|
-
return decomposeColor(hexToRgb(color));
|
|
1599
|
-
}
|
|
1600
|
-
|
|
1601
|
-
var marker = color.indexOf('(');
|
|
1602
|
-
var type = color.substring(0, marker);
|
|
1603
|
-
|
|
1604
|
-
if (['rgb', 'rgba', 'hsl', 'hsla'].indexOf(type) === -1) {
|
|
1605
|
-
throw new Error(process.env.NODE_ENV !== "production" ? "Material-UI: Unsupported `".concat(color, "` color.\nWe support the following formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla().") : formatMuiErrorMessage(3, color));
|
|
1606
|
-
}
|
|
1607
|
-
|
|
1608
|
-
var values = color.substring(marker + 1, color.length - 1).split(',');
|
|
1609
|
-
values = values.map(function (value) {
|
|
1610
|
-
return parseFloat(value);
|
|
1611
|
-
});
|
|
1612
|
-
return {
|
|
1613
|
-
type: type,
|
|
1614
|
-
values: values
|
|
1615
|
-
};
|
|
1616
|
-
}
|
|
1617
|
-
/**
|
|
1618
|
-
* Converts a color object with type and values to a string.
|
|
1619
|
-
*
|
|
1620
|
-
* @param {object} color - Decomposed color
|
|
1621
|
-
* @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla'
|
|
1622
|
-
* @param {array} color.values - [n,n,n] or [n,n,n,n]
|
|
1623
|
-
* @returns {string} A CSS color string
|
|
1624
|
-
*/
|
|
1625
|
-
|
|
1626
|
-
function recomposeColor(color) {
|
|
1627
|
-
var type = color.type;
|
|
1628
|
-
var values = color.values;
|
|
1629
|
-
|
|
1630
|
-
if (type.indexOf('rgb') !== -1) {
|
|
1631
|
-
// Only convert the first 3 values to int (i.e. not alpha)
|
|
1632
|
-
values = values.map(function (n, i) {
|
|
1633
|
-
return i < 3 ? parseInt(n, 10) : n;
|
|
1634
|
-
});
|
|
1635
|
-
} else if (type.indexOf('hsl') !== -1) {
|
|
1636
|
-
values[1] = "".concat(values[1], "%");
|
|
1637
|
-
values[2] = "".concat(values[2], "%");
|
|
1638
|
-
}
|
|
1639
|
-
|
|
1640
|
-
return "".concat(type, "(").concat(values.join(', '), ")");
|
|
1641
|
-
}
|
|
1642
|
-
/**
|
|
1643
|
-
* Calculates the contrast ratio between two colors.
|
|
1644
|
-
*
|
|
1645
|
-
* Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
|
|
1646
|
-
*
|
|
1647
|
-
* @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
|
|
1648
|
-
* @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
|
|
1649
|
-
* @returns {number} A contrast ratio value in the range 0 - 21.
|
|
1650
|
-
*/
|
|
1651
|
-
|
|
1652
|
-
function getContrastRatio(foreground, background) {
|
|
1653
|
-
var lumA = getLuminance(foreground);
|
|
1654
|
-
var lumB = getLuminance(background);
|
|
1655
|
-
return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);
|
|
1656
|
-
}
|
|
1657
|
-
/**
|
|
1658
|
-
* The relative brightness of any point in a color space,
|
|
1659
|
-
* normalized to 0 for darkest black and 1 for lightest white.
|
|
1660
|
-
*
|
|
1661
|
-
* Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
|
|
1662
|
-
*
|
|
1663
|
-
* @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
|
|
1664
|
-
* @returns {number} The relative brightness of the color in the range 0 - 1
|
|
1665
|
-
*/
|
|
1666
|
-
|
|
1667
|
-
function getLuminance(color) {
|
|
1668
|
-
color = decomposeColor(color);
|
|
1669
|
-
var rgb = color.type === 'hsl' ? decomposeColor(hslToRgb(color)).values : color.values;
|
|
1670
|
-
rgb = rgb.map(function (val) {
|
|
1671
|
-
val /= 255; // normalized
|
|
1672
|
-
|
|
1673
|
-
return val <= 0.03928 ? val / 12.92 : Math.pow((val + 0.055) / 1.055, 2.4);
|
|
1674
|
-
}); // Truncate at 3 digits
|
|
1675
|
-
|
|
1676
|
-
return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));
|
|
1677
|
-
}
|
|
1678
|
-
/**
|
|
1679
|
-
* Set the absolute transparency of a color.
|
|
1680
|
-
* Any existing alpha value is overwritten.
|
|
1681
|
-
*
|
|
1682
|
-
* @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
|
|
1683
|
-
* @param {number} value - value to set the alpha channel to in the range 0-1
|
|
1684
|
-
* @returns {string} A CSS color string. Hex input values are returned as rgb
|
|
1685
|
-
*/
|
|
1686
|
-
|
|
1687
|
-
function alpha(color, value) {
|
|
1688
|
-
color = decomposeColor(color);
|
|
1689
|
-
value = clamp(value);
|
|
1690
|
-
|
|
1691
|
-
if (color.type === 'rgb' || color.type === 'hsl') {
|
|
1692
|
-
color.type += 'a';
|
|
1693
|
-
}
|
|
1694
|
-
|
|
1695
|
-
color.values[3] = value;
|
|
1696
|
-
return recomposeColor(color);
|
|
1697
|
-
}
|
|
1698
|
-
/**
|
|
1699
|
-
* Darkens a color.
|
|
1700
|
-
*
|
|
1701
|
-
* @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
|
|
1702
|
-
* @param {number} coefficient - multiplier in the range 0 - 1
|
|
1703
|
-
* @returns {string} A CSS color string. Hex input values are returned as rgb
|
|
1704
|
-
*/
|
|
1705
|
-
|
|
1706
|
-
function darken(color, coefficient) {
|
|
1707
|
-
color = decomposeColor(color);
|
|
1708
|
-
coefficient = clamp(coefficient);
|
|
1709
|
-
|
|
1710
|
-
if (color.type.indexOf('hsl') !== -1) {
|
|
1711
|
-
color.values[2] *= 1 - coefficient;
|
|
1712
|
-
} else if (color.type.indexOf('rgb') !== -1) {
|
|
1713
|
-
for (var i = 0; i < 3; i += 1) {
|
|
1714
|
-
color.values[i] *= 1 - coefficient;
|
|
1715
|
-
}
|
|
1716
|
-
}
|
|
1717
|
-
|
|
1718
|
-
return recomposeColor(color);
|
|
1719
|
-
}
|
|
1720
|
-
/**
|
|
1721
|
-
* Lightens a color.
|
|
1722
|
-
*
|
|
1723
|
-
* @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
|
|
1724
|
-
* @param {number} coefficient - multiplier in the range 0 - 1
|
|
1725
|
-
* @returns {string} A CSS color string. Hex input values are returned as rgb
|
|
1726
|
-
*/
|
|
1727
|
-
|
|
1728
|
-
function lighten(color, coefficient) {
|
|
1729
|
-
color = decomposeColor(color);
|
|
1730
|
-
coefficient = clamp(coefficient);
|
|
1731
|
-
|
|
1732
|
-
if (color.type.indexOf('hsl') !== -1) {
|
|
1733
|
-
color.values[2] += (100 - color.values[2]) * coefficient;
|
|
1734
|
-
} else if (color.type.indexOf('rgb') !== -1) {
|
|
1735
|
-
for (var i = 0; i < 3; i += 1) {
|
|
1736
|
-
color.values[i] += (255 - color.values[i]) * coefficient;
|
|
1737
|
-
}
|
|
1738
|
-
}
|
|
1739
|
-
|
|
1740
|
-
return recomposeColor(color);
|
|
1741
|
-
}
|
|
1742
|
-
|
|
1743
|
-
function _objectWithoutPropertiesLoose$3(source, excluded) {
|
|
1744
|
-
if (source == null) return {};
|
|
1745
|
-
var target = {};
|
|
1746
|
-
var sourceKeys = Object.keys(source);
|
|
1747
|
-
var key, i;
|
|
1748
|
-
|
|
1749
|
-
for (i = 0; i < sourceKeys.length; i++) {
|
|
1750
|
-
key = sourceKeys[i];
|
|
1751
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
1752
|
-
target[key] = source[key];
|
|
1753
|
-
}
|
|
1754
|
-
|
|
1755
|
-
return target;
|
|
1756
|
-
}
|
|
1757
|
-
|
|
1758
|
-
function _objectWithoutProperties$3(source, excluded) {
|
|
1759
|
-
if (source == null) return {};
|
|
1760
|
-
var target = _objectWithoutPropertiesLoose$3(source, excluded);
|
|
1761
|
-
var key, i;
|
|
1762
|
-
|
|
1763
|
-
if (Object.getOwnPropertySymbols) {
|
|
1764
|
-
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
1765
|
-
|
|
1766
|
-
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
1767
|
-
key = sourceSymbolKeys[i];
|
|
1768
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
1769
|
-
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
1770
|
-
target[key] = source[key];
|
|
1771
|
-
}
|
|
1772
|
-
}
|
|
1773
|
-
|
|
1774
|
-
return target;
|
|
1775
|
-
}
|
|
1776
|
-
|
|
1777
|
-
// Sorted ASC by size. That's important.
|
|
1778
|
-
// It can't be configured as it's used statically for propTypes.
|
|
1779
|
-
var keys = ['xs', 'sm', 'md', 'lg', 'xl']; // Keep in mind that @media is inclusive by the CSS specification.
|
|
1780
|
-
|
|
1781
|
-
function createBreakpoints(breakpoints) {
|
|
1782
|
-
var _breakpoints$values = breakpoints.values,
|
|
1783
|
-
values = _breakpoints$values === void 0 ? {
|
|
1784
|
-
xs: 0,
|
|
1785
|
-
sm: 600,
|
|
1786
|
-
md: 960,
|
|
1787
|
-
lg: 1280,
|
|
1788
|
-
xl: 1920
|
|
1789
|
-
} : _breakpoints$values,
|
|
1790
|
-
_breakpoints$unit = breakpoints.unit,
|
|
1791
|
-
unit = _breakpoints$unit === void 0 ? 'px' : _breakpoints$unit,
|
|
1792
|
-
_breakpoints$step = breakpoints.step,
|
|
1793
|
-
step = _breakpoints$step === void 0 ? 5 : _breakpoints$step,
|
|
1794
|
-
other = _objectWithoutProperties$3(breakpoints, ["values", "unit", "step"]);
|
|
1795
|
-
|
|
1796
|
-
function up(key) {
|
|
1797
|
-
var value = typeof values[key] === 'number' ? values[key] : key;
|
|
1798
|
-
return "@media (min-width:".concat(value).concat(unit, ")");
|
|
1799
|
-
}
|
|
1800
|
-
|
|
1801
|
-
function down(key) {
|
|
1802
|
-
var endIndex = keys.indexOf(key) + 1;
|
|
1803
|
-
var upperbound = values[keys[endIndex]];
|
|
1804
|
-
|
|
1805
|
-
if (endIndex === keys.length) {
|
|
1806
|
-
// xl down applies to all sizes
|
|
1807
|
-
return up('xs');
|
|
1808
|
-
}
|
|
1809
|
-
|
|
1810
|
-
var value = typeof upperbound === 'number' && endIndex > 0 ? upperbound : key;
|
|
1811
|
-
return "@media (max-width:".concat(value - step / 100).concat(unit, ")");
|
|
1812
|
-
}
|
|
1813
|
-
|
|
1814
|
-
function between(start, end) {
|
|
1815
|
-
var endIndex = keys.indexOf(end);
|
|
1816
|
-
|
|
1817
|
-
if (endIndex === keys.length - 1) {
|
|
1818
|
-
return up(start);
|
|
1819
|
-
}
|
|
1820
|
-
|
|
1821
|
-
return "@media (min-width:".concat(typeof values[start] === 'number' ? values[start] : start).concat(unit, ") and ") + "(max-width:".concat((endIndex !== -1 && typeof values[keys[endIndex + 1]] === 'number' ? values[keys[endIndex + 1]] : end) - step / 100).concat(unit, ")");
|
|
1822
|
-
}
|
|
1823
|
-
|
|
1824
|
-
function only(key) {
|
|
1825
|
-
return between(key, key);
|
|
1826
|
-
}
|
|
1827
|
-
|
|
1828
|
-
var warnedOnce = false;
|
|
1829
|
-
|
|
1830
|
-
function width(key) {
|
|
1831
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
1832
|
-
if (!warnedOnce) {
|
|
1833
|
-
warnedOnce = true;
|
|
1834
|
-
console.warn(["Material-UI: The `theme.breakpoints.width` utility is deprecated because it's redundant.", 'Use the `theme.breakpoints.values` instead.'].join('\n'));
|
|
1835
|
-
}
|
|
1836
|
-
}
|
|
1837
|
-
|
|
1838
|
-
return values[key];
|
|
1839
|
-
}
|
|
1840
|
-
|
|
1841
|
-
return _extends$3({
|
|
1842
|
-
keys: keys,
|
|
1843
|
-
values: values,
|
|
1844
|
-
up: up,
|
|
1845
|
-
down: down,
|
|
1846
|
-
between: between,
|
|
1847
|
-
only: only,
|
|
1848
|
-
width: width
|
|
1849
|
-
}, other);
|
|
1850
|
-
}
|
|
1851
|
-
|
|
1852
|
-
function createMixins(breakpoints, spacing, mixins) {
|
|
1853
|
-
var _toolbar;
|
|
1854
|
-
|
|
1855
|
-
return _extends$3({
|
|
1856
|
-
gutters: function gutters() {
|
|
1857
|
-
var styles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1858
|
-
console.warn(['Material-UI: theme.mixins.gutters() is deprecated.', 'You can use the source of the mixin directly:', "\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n [theme.breakpoints.up('sm')]: {\n paddingLeft: theme.spacing(3),\n paddingRight: theme.spacing(3),\n },\n "].join('\n'));
|
|
1859
|
-
return _extends$3({
|
|
1860
|
-
paddingLeft: spacing(2),
|
|
1861
|
-
paddingRight: spacing(2)
|
|
1862
|
-
}, styles, _defineProperty({}, breakpoints.up('sm'), _extends$3({
|
|
1863
|
-
paddingLeft: spacing(3),
|
|
1864
|
-
paddingRight: spacing(3)
|
|
1865
|
-
}, styles[breakpoints.up('sm')])));
|
|
1866
|
-
},
|
|
1867
|
-
toolbar: (_toolbar = {
|
|
1868
|
-
minHeight: 56
|
|
1869
|
-
}, _defineProperty(_toolbar, "".concat(breakpoints.up('xs'), " and (orientation: landscape)"), {
|
|
1870
|
-
minHeight: 48
|
|
1871
|
-
}), _defineProperty(_toolbar, breakpoints.up('sm'), {
|
|
1872
|
-
minHeight: 64
|
|
1873
|
-
}), _toolbar)
|
|
1874
|
-
}, mixins);
|
|
1875
|
-
}
|
|
1876
|
-
|
|
1877
|
-
var common = {
|
|
1878
|
-
black: '#000',
|
|
1879
|
-
white: '#fff'
|
|
1880
|
-
};
|
|
1881
|
-
var common$1 = common;
|
|
1882
|
-
|
|
1883
|
-
var grey = {
|
|
1884
|
-
50: '#fafafa',
|
|
1885
|
-
100: '#f5f5f5',
|
|
1886
|
-
200: '#eeeeee',
|
|
1887
|
-
300: '#e0e0e0',
|
|
1888
|
-
400: '#bdbdbd',
|
|
1889
|
-
500: '#9e9e9e',
|
|
1890
|
-
600: '#757575',
|
|
1891
|
-
700: '#616161',
|
|
1892
|
-
800: '#424242',
|
|
1893
|
-
900: '#212121',
|
|
1894
|
-
A100: '#d5d5d5',
|
|
1895
|
-
A200: '#aaaaaa',
|
|
1896
|
-
A400: '#303030',
|
|
1897
|
-
A700: '#616161'
|
|
1898
|
-
};
|
|
1899
|
-
var grey$1 = grey;
|
|
1900
|
-
|
|
1901
|
-
var indigo = {
|
|
1902
|
-
50: '#e8eaf6',
|
|
1903
|
-
100: '#c5cae9',
|
|
1904
|
-
200: '#9fa8da',
|
|
1905
|
-
300: '#7986cb',
|
|
1906
|
-
400: '#5c6bc0',
|
|
1907
|
-
500: '#3f51b5',
|
|
1908
|
-
600: '#3949ab',
|
|
1909
|
-
700: '#303f9f',
|
|
1910
|
-
800: '#283593',
|
|
1911
|
-
900: '#1a237e',
|
|
1912
|
-
A100: '#8c9eff',
|
|
1913
|
-
A200: '#536dfe',
|
|
1914
|
-
A400: '#3d5afe',
|
|
1915
|
-
A700: '#304ffe'
|
|
1916
|
-
};
|
|
1917
|
-
var indigo$1 = indigo;
|
|
1918
|
-
|
|
1919
|
-
var pink = {
|
|
1920
|
-
50: '#fce4ec',
|
|
1921
|
-
100: '#f8bbd0',
|
|
1922
|
-
200: '#f48fb1',
|
|
1923
|
-
300: '#f06292',
|
|
1924
|
-
400: '#ec407a',
|
|
1925
|
-
500: '#e91e63',
|
|
1926
|
-
600: '#d81b60',
|
|
1927
|
-
700: '#c2185b',
|
|
1928
|
-
800: '#ad1457',
|
|
1929
|
-
900: '#880e4f',
|
|
1930
|
-
A100: '#ff80ab',
|
|
1931
|
-
A200: '#ff4081',
|
|
1932
|
-
A400: '#f50057',
|
|
1933
|
-
A700: '#c51162'
|
|
1934
|
-
};
|
|
1935
|
-
var pink$1 = pink;
|
|
1936
|
-
|
|
1937
|
-
var red = {
|
|
1938
|
-
50: '#ffebee',
|
|
1939
|
-
100: '#ffcdd2',
|
|
1940
|
-
200: '#ef9a9a',
|
|
1941
|
-
300: '#e57373',
|
|
1942
|
-
400: '#ef5350',
|
|
1943
|
-
500: '#f44336',
|
|
1944
|
-
600: '#e53935',
|
|
1945
|
-
700: '#d32f2f',
|
|
1946
|
-
800: '#c62828',
|
|
1947
|
-
900: '#b71c1c',
|
|
1948
|
-
A100: '#ff8a80',
|
|
1949
|
-
A200: '#ff5252',
|
|
1950
|
-
A400: '#ff1744',
|
|
1951
|
-
A700: '#d50000'
|
|
1952
|
-
};
|
|
1953
|
-
var red$1 = red;
|
|
1954
|
-
|
|
1955
|
-
var orange = {
|
|
1956
|
-
50: '#fff3e0',
|
|
1957
|
-
100: '#ffe0b2',
|
|
1958
|
-
200: '#ffcc80',
|
|
1959
|
-
300: '#ffb74d',
|
|
1960
|
-
400: '#ffa726',
|
|
1961
|
-
500: '#ff9800',
|
|
1962
|
-
600: '#fb8c00',
|
|
1963
|
-
700: '#f57c00',
|
|
1964
|
-
800: '#ef6c00',
|
|
1965
|
-
900: '#e65100',
|
|
1966
|
-
A100: '#ffd180',
|
|
1967
|
-
A200: '#ffab40',
|
|
1968
|
-
A400: '#ff9100',
|
|
1969
|
-
A700: '#ff6d00'
|
|
1970
|
-
};
|
|
1971
|
-
var orange$1 = orange;
|
|
1972
|
-
|
|
1973
|
-
var blue = {
|
|
1974
|
-
50: '#e3f2fd',
|
|
1975
|
-
100: '#bbdefb',
|
|
1976
|
-
200: '#90caf9',
|
|
1977
|
-
300: '#64b5f6',
|
|
1978
|
-
400: '#42a5f5',
|
|
1979
|
-
500: '#2196f3',
|
|
1980
|
-
600: '#1e88e5',
|
|
1981
|
-
700: '#1976d2',
|
|
1982
|
-
800: '#1565c0',
|
|
1983
|
-
900: '#0d47a1',
|
|
1984
|
-
A100: '#82b1ff',
|
|
1985
|
-
A200: '#448aff',
|
|
1986
|
-
A400: '#2979ff',
|
|
1987
|
-
A700: '#2962ff'
|
|
1988
|
-
};
|
|
1989
|
-
var blue$1 = blue;
|
|
1990
|
-
|
|
1991
|
-
var green = {
|
|
1992
|
-
50: '#e8f5e9',
|
|
1993
|
-
100: '#c8e6c9',
|
|
1994
|
-
200: '#a5d6a7',
|
|
1995
|
-
300: '#81c784',
|
|
1996
|
-
400: '#66bb6a',
|
|
1997
|
-
500: '#4caf50',
|
|
1998
|
-
600: '#43a047',
|
|
1999
|
-
700: '#388e3c',
|
|
2000
|
-
800: '#2e7d32',
|
|
2001
|
-
900: '#1b5e20',
|
|
2002
|
-
A100: '#b9f6ca',
|
|
2003
|
-
A200: '#69f0ae',
|
|
2004
|
-
A400: '#00e676',
|
|
2005
|
-
A700: '#00c853'
|
|
2006
|
-
};
|
|
2007
|
-
var green$1 = green;
|
|
2008
|
-
|
|
2009
|
-
var light = {
|
|
2010
|
-
// The colors used to style the text.
|
|
2011
|
-
text: {
|
|
2012
|
-
// The most important text.
|
|
2013
|
-
primary: 'rgba(0, 0, 0, 0.87)',
|
|
2014
|
-
// Secondary text.
|
|
2015
|
-
secondary: 'rgba(0, 0, 0, 0.54)',
|
|
2016
|
-
// Disabled text have even lower visual prominence.
|
|
2017
|
-
disabled: 'rgba(0, 0, 0, 0.38)',
|
|
2018
|
-
// Text hints.
|
|
2019
|
-
hint: 'rgba(0, 0, 0, 0.38)'
|
|
2020
|
-
},
|
|
2021
|
-
// The color used to divide different elements.
|
|
2022
|
-
divider: 'rgba(0, 0, 0, 0.12)',
|
|
2023
|
-
// The background colors used to style the surfaces.
|
|
2024
|
-
// Consistency between these values is important.
|
|
2025
|
-
background: {
|
|
2026
|
-
paper: common$1.white,
|
|
2027
|
-
default: grey$1[50]
|
|
2028
|
-
},
|
|
2029
|
-
// The colors used to style the action elements.
|
|
2030
|
-
action: {
|
|
2031
|
-
// The color of an active action like an icon button.
|
|
2032
|
-
active: 'rgba(0, 0, 0, 0.54)',
|
|
2033
|
-
// The color of an hovered action.
|
|
2034
|
-
hover: 'rgba(0, 0, 0, 0.04)',
|
|
2035
|
-
hoverOpacity: 0.04,
|
|
2036
|
-
// The color of a selected action.
|
|
2037
|
-
selected: 'rgba(0, 0, 0, 0.08)',
|
|
2038
|
-
selectedOpacity: 0.08,
|
|
2039
|
-
// The color of a disabled action.
|
|
2040
|
-
disabled: 'rgba(0, 0, 0, 0.26)',
|
|
2041
|
-
// The background color of a disabled action.
|
|
2042
|
-
disabledBackground: 'rgba(0, 0, 0, 0.12)',
|
|
2043
|
-
disabledOpacity: 0.38,
|
|
2044
|
-
focus: 'rgba(0, 0, 0, 0.12)',
|
|
2045
|
-
focusOpacity: 0.12,
|
|
2046
|
-
activatedOpacity: 0.12
|
|
2047
|
-
}
|
|
2048
|
-
};
|
|
2049
|
-
var dark = {
|
|
2050
|
-
text: {
|
|
2051
|
-
primary: common$1.white,
|
|
2052
|
-
secondary: 'rgba(255, 255, 255, 0.7)',
|
|
2053
|
-
disabled: 'rgba(255, 255, 255, 0.5)',
|
|
2054
|
-
hint: 'rgba(255, 255, 255, 0.5)',
|
|
2055
|
-
icon: 'rgba(255, 255, 255, 0.5)'
|
|
2056
|
-
},
|
|
2057
|
-
divider: 'rgba(255, 255, 255, 0.12)',
|
|
2058
|
-
background: {
|
|
2059
|
-
paper: grey$1[800],
|
|
2060
|
-
default: '#303030'
|
|
2061
|
-
},
|
|
2062
|
-
action: {
|
|
2063
|
-
active: common$1.white,
|
|
2064
|
-
hover: 'rgba(255, 255, 255, 0.08)',
|
|
2065
|
-
hoverOpacity: 0.08,
|
|
2066
|
-
selected: 'rgba(255, 255, 255, 0.16)',
|
|
2067
|
-
selectedOpacity: 0.16,
|
|
2068
|
-
disabled: 'rgba(255, 255, 255, 0.3)',
|
|
2069
|
-
disabledBackground: 'rgba(255, 255, 255, 0.12)',
|
|
2070
|
-
disabledOpacity: 0.38,
|
|
2071
|
-
focus: 'rgba(255, 255, 255, 0.12)',
|
|
2072
|
-
focusOpacity: 0.12,
|
|
2073
|
-
activatedOpacity: 0.24
|
|
2074
|
-
}
|
|
2075
|
-
};
|
|
2076
|
-
|
|
2077
|
-
function addLightOrDark(intent, direction, shade, tonalOffset) {
|
|
2078
|
-
var tonalOffsetLight = tonalOffset.light || tonalOffset;
|
|
2079
|
-
var tonalOffsetDark = tonalOffset.dark || tonalOffset * 1.5;
|
|
2080
|
-
|
|
2081
|
-
if (!intent[direction]) {
|
|
2082
|
-
if (intent.hasOwnProperty(shade)) {
|
|
2083
|
-
intent[direction] = intent[shade];
|
|
2084
|
-
} else if (direction === 'light') {
|
|
2085
|
-
intent.light = lighten(intent.main, tonalOffsetLight);
|
|
2086
|
-
} else if (direction === 'dark') {
|
|
2087
|
-
intent.dark = darken(intent.main, tonalOffsetDark);
|
|
2088
|
-
}
|
|
2089
|
-
}
|
|
2090
|
-
}
|
|
2091
|
-
|
|
2092
|
-
function createPalette(palette) {
|
|
2093
|
-
var _palette$primary = palette.primary,
|
|
2094
|
-
primary = _palette$primary === void 0 ? {
|
|
2095
|
-
light: indigo$1[300],
|
|
2096
|
-
main: indigo$1[500],
|
|
2097
|
-
dark: indigo$1[700]
|
|
2098
|
-
} : _palette$primary,
|
|
2099
|
-
_palette$secondary = palette.secondary,
|
|
2100
|
-
secondary = _palette$secondary === void 0 ? {
|
|
2101
|
-
light: pink$1.A200,
|
|
2102
|
-
main: pink$1.A400,
|
|
2103
|
-
dark: pink$1.A700
|
|
2104
|
-
} : _palette$secondary,
|
|
2105
|
-
_palette$error = palette.error,
|
|
2106
|
-
error = _palette$error === void 0 ? {
|
|
2107
|
-
light: red$1[300],
|
|
2108
|
-
main: red$1[500],
|
|
2109
|
-
dark: red$1[700]
|
|
2110
|
-
} : _palette$error,
|
|
2111
|
-
_palette$warning = palette.warning,
|
|
2112
|
-
warning = _palette$warning === void 0 ? {
|
|
2113
|
-
light: orange$1[300],
|
|
2114
|
-
main: orange$1[500],
|
|
2115
|
-
dark: orange$1[700]
|
|
2116
|
-
} : _palette$warning,
|
|
2117
|
-
_palette$info = palette.info,
|
|
2118
|
-
info = _palette$info === void 0 ? {
|
|
2119
|
-
light: blue$1[300],
|
|
2120
|
-
main: blue$1[500],
|
|
2121
|
-
dark: blue$1[700]
|
|
2122
|
-
} : _palette$info,
|
|
2123
|
-
_palette$success = palette.success,
|
|
2124
|
-
success = _palette$success === void 0 ? {
|
|
2125
|
-
light: green$1[300],
|
|
2126
|
-
main: green$1[500],
|
|
2127
|
-
dark: green$1[700]
|
|
2128
|
-
} : _palette$success,
|
|
2129
|
-
_palette$type = palette.type,
|
|
2130
|
-
type = _palette$type === void 0 ? 'light' : _palette$type,
|
|
2131
|
-
_palette$contrastThre = palette.contrastThreshold,
|
|
2132
|
-
contrastThreshold = _palette$contrastThre === void 0 ? 3 : _palette$contrastThre,
|
|
2133
|
-
_palette$tonalOffset = palette.tonalOffset,
|
|
2134
|
-
tonalOffset = _palette$tonalOffset === void 0 ? 0.2 : _palette$tonalOffset,
|
|
2135
|
-
other = _objectWithoutProperties$3(palette, ["primary", "secondary", "error", "warning", "info", "success", "type", "contrastThreshold", "tonalOffset"]); // Use the same logic as
|
|
2136
|
-
// Bootstrap: https://github.com/twbs/bootstrap/blob/1d6e3710dd447de1a200f29e8fa521f8a0908f70/scss/_functions.scss#L59
|
|
2137
|
-
// and material-components-web https://github.com/material-components/material-components-web/blob/ac46b8863c4dab9fc22c4c662dc6bd1b65dd652f/packages/mdc-theme/_functions.scss#L54
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
function getContrastText(background) {
|
|
2141
|
-
var contrastText = getContrastRatio(background, dark.text.primary) >= contrastThreshold ? dark.text.primary : light.text.primary;
|
|
2142
|
-
|
|
2143
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
2144
|
-
var contrast = getContrastRatio(background, contrastText);
|
|
2145
|
-
|
|
2146
|
-
if (contrast < 3) {
|
|
2147
|
-
console.error(["Material-UI: The contrast ratio of ".concat(contrast, ":1 for ").concat(contrastText, " on ").concat(background), 'falls below the WCAG recommended absolute minimum contrast ratio of 3:1.', 'https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast'].join('\n'));
|
|
2148
|
-
}
|
|
2149
|
-
}
|
|
2150
|
-
|
|
2151
|
-
return contrastText;
|
|
2152
|
-
}
|
|
2153
|
-
|
|
2154
|
-
var augmentColor = function augmentColor(color) {
|
|
2155
|
-
var mainShade = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;
|
|
2156
|
-
var lightShade = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300;
|
|
2157
|
-
var darkShade = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 700;
|
|
2158
|
-
color = _extends$3({}, color);
|
|
2159
|
-
|
|
2160
|
-
if (!color.main && color[mainShade]) {
|
|
2161
|
-
color.main = color[mainShade];
|
|
2162
|
-
}
|
|
2163
|
-
|
|
2164
|
-
if (!color.main) {
|
|
2165
|
-
throw new Error(process.env.NODE_ENV !== "production" ? "Material-UI: The color provided to augmentColor(color) is invalid.\nThe color object needs to have a `main` property or a `".concat(mainShade, "` property.") : formatMuiErrorMessage(4, mainShade));
|
|
2166
|
-
}
|
|
2167
|
-
|
|
2168
|
-
if (typeof color.main !== 'string') {
|
|
2169
|
-
throw new Error(process.env.NODE_ENV !== "production" ? "Material-UI: The color provided to augmentColor(color) is invalid.\n`color.main` should be a string, but `".concat(JSON.stringify(color.main), "` was provided instead.\n\nDid you intend to use one of the following approaches?\n\nimport {\xA0green } from \"@material-ui/core/colors\";\n\nconst theme1 = createTheme({ palette: {\n primary: green,\n} });\n\nconst theme2 = createTheme({ palette: {\n primary: { main: green[500] },\n} });") : formatMuiErrorMessage(5, JSON.stringify(color.main)));
|
|
2170
|
-
}
|
|
2171
|
-
|
|
2172
|
-
addLightOrDark(color, 'light', lightShade, tonalOffset);
|
|
2173
|
-
addLightOrDark(color, 'dark', darkShade, tonalOffset);
|
|
2174
|
-
|
|
2175
|
-
if (!color.contrastText) {
|
|
2176
|
-
color.contrastText = getContrastText(color.main);
|
|
2177
|
-
}
|
|
2178
|
-
|
|
2179
|
-
return color;
|
|
2180
|
-
};
|
|
2181
|
-
|
|
2182
|
-
var types = {
|
|
2183
|
-
dark: dark,
|
|
2184
|
-
light: light
|
|
2185
|
-
};
|
|
2186
|
-
|
|
2187
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
2188
|
-
if (!types[type]) {
|
|
2189
|
-
console.error("Material-UI: The palette type `".concat(type, "` is not supported."));
|
|
2190
|
-
}
|
|
2191
|
-
}
|
|
2192
|
-
|
|
2193
|
-
var paletteOutput = deepmerge(_extends$3({
|
|
2194
|
-
// A collection of common colors.
|
|
2195
|
-
common: common$1,
|
|
2196
|
-
// The palette type, can be light or dark.
|
|
2197
|
-
type: type,
|
|
2198
|
-
// The colors used to represent primary interface elements for a user.
|
|
2199
|
-
primary: augmentColor(primary),
|
|
2200
|
-
// The colors used to represent secondary interface elements for a user.
|
|
2201
|
-
secondary: augmentColor(secondary, 'A400', 'A200', 'A700'),
|
|
2202
|
-
// The colors used to represent interface elements that the user should be made aware of.
|
|
2203
|
-
error: augmentColor(error),
|
|
2204
|
-
// The colors used to represent potentially dangerous actions or important messages.
|
|
2205
|
-
warning: augmentColor(warning),
|
|
2206
|
-
// The colors used to present information to the user that is neutral and not necessarily important.
|
|
2207
|
-
info: augmentColor(info),
|
|
2208
|
-
// The colors used to indicate the successful completion of an action that user triggered.
|
|
2209
|
-
success: augmentColor(success),
|
|
2210
|
-
// The grey colors.
|
|
2211
|
-
grey: grey$1,
|
|
2212
|
-
// Used by `getContrastText()` to maximize the contrast between
|
|
2213
|
-
// the background and the text.
|
|
2214
|
-
contrastThreshold: contrastThreshold,
|
|
2215
|
-
// Takes a background color and returns the text color that maximizes the contrast.
|
|
2216
|
-
getContrastText: getContrastText,
|
|
2217
|
-
// Generate a rich color object.
|
|
2218
|
-
augmentColor: augmentColor,
|
|
2219
|
-
// Used by the functions below to shift a color's luminance by approximately
|
|
2220
|
-
// two indexes within its tonal palette.
|
|
2221
|
-
// E.g., shift from Red 500 to Red 300 or Red 700.
|
|
2222
|
-
tonalOffset: tonalOffset
|
|
2223
|
-
}, types[type]), other);
|
|
2224
|
-
return paletteOutput;
|
|
2225
|
-
}
|
|
2226
|
-
|
|
2227
|
-
function round(value) {
|
|
2228
|
-
return Math.round(value * 1e5) / 1e5;
|
|
2229
|
-
}
|
|
2230
|
-
|
|
2231
|
-
var warnedOnce = false;
|
|
2232
|
-
|
|
2233
|
-
function roundWithDeprecationWarning(value) {
|
|
2234
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
2235
|
-
if (!warnedOnce) {
|
|
2236
|
-
console.warn(['Material-UI: The `theme.typography.round` helper is deprecated.', 'Head to https://material-ui.com/r/migration-v4/#theme for a migration path.'].join('\n'));
|
|
2237
|
-
warnedOnce = true;
|
|
2238
|
-
}
|
|
2239
|
-
}
|
|
2240
|
-
|
|
2241
|
-
return round(value);
|
|
2242
|
-
}
|
|
2243
|
-
|
|
2244
|
-
var caseAllCaps = {
|
|
2245
|
-
textTransform: 'uppercase'
|
|
2246
|
-
};
|
|
2247
|
-
var defaultFontFamily = '"Roboto", "Helvetica", "Arial", sans-serif';
|
|
2248
|
-
/**
|
|
2249
|
-
* @see @link{https://material.io/design/typography/the-type-system.html}
|
|
2250
|
-
* @see @link{https://material.io/design/typography/understanding-typography.html}
|
|
2251
|
-
*/
|
|
2252
|
-
|
|
2253
|
-
function createTypography(palette, typography) {
|
|
2254
|
-
var _ref = typeof typography === 'function' ? typography(palette) : typography,
|
|
2255
|
-
_ref$fontFamily = _ref.fontFamily,
|
|
2256
|
-
fontFamily = _ref$fontFamily === void 0 ? defaultFontFamily : _ref$fontFamily,
|
|
2257
|
-
_ref$fontSize = _ref.fontSize,
|
|
2258
|
-
fontSize = _ref$fontSize === void 0 ? 14 : _ref$fontSize,
|
|
2259
|
-
_ref$fontWeightLight = _ref.fontWeightLight,
|
|
2260
|
-
fontWeightLight = _ref$fontWeightLight === void 0 ? 300 : _ref$fontWeightLight,
|
|
2261
|
-
_ref$fontWeightRegula = _ref.fontWeightRegular,
|
|
2262
|
-
fontWeightRegular = _ref$fontWeightRegula === void 0 ? 400 : _ref$fontWeightRegula,
|
|
2263
|
-
_ref$fontWeightMedium = _ref.fontWeightMedium,
|
|
2264
|
-
fontWeightMedium = _ref$fontWeightMedium === void 0 ? 500 : _ref$fontWeightMedium,
|
|
2265
|
-
_ref$fontWeightBold = _ref.fontWeightBold,
|
|
2266
|
-
fontWeightBold = _ref$fontWeightBold === void 0 ? 700 : _ref$fontWeightBold,
|
|
2267
|
-
_ref$htmlFontSize = _ref.htmlFontSize,
|
|
2268
|
-
htmlFontSize = _ref$htmlFontSize === void 0 ? 16 : _ref$htmlFontSize,
|
|
2269
|
-
allVariants = _ref.allVariants,
|
|
2270
|
-
pxToRem2 = _ref.pxToRem,
|
|
2271
|
-
other = _objectWithoutProperties$3(_ref, ["fontFamily", "fontSize", "fontWeightLight", "fontWeightRegular", "fontWeightMedium", "fontWeightBold", "htmlFontSize", "allVariants", "pxToRem"]);
|
|
2272
|
-
|
|
2273
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
2274
|
-
if (typeof fontSize !== 'number') {
|
|
2275
|
-
console.error('Material-UI: `fontSize` is required to be a number.');
|
|
2276
|
-
}
|
|
2277
|
-
|
|
2278
|
-
if (typeof htmlFontSize !== 'number') {
|
|
2279
|
-
console.error('Material-UI: `htmlFontSize` is required to be a number.');
|
|
2280
|
-
}
|
|
2281
|
-
}
|
|
2282
|
-
|
|
2283
|
-
var coef = fontSize / 14;
|
|
2284
|
-
|
|
2285
|
-
var pxToRem = pxToRem2 || function (size) {
|
|
2286
|
-
return "".concat(size / htmlFontSize * coef, "rem");
|
|
2287
|
-
};
|
|
2288
|
-
|
|
2289
|
-
var buildVariant = function buildVariant(fontWeight, size, lineHeight, letterSpacing, casing) {
|
|
2290
|
-
return _extends$3({
|
|
2291
|
-
fontFamily: fontFamily,
|
|
2292
|
-
fontWeight: fontWeight,
|
|
2293
|
-
fontSize: pxToRem(size),
|
|
2294
|
-
// Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/
|
|
2295
|
-
lineHeight: lineHeight
|
|
2296
|
-
}, fontFamily === defaultFontFamily ? {
|
|
2297
|
-
letterSpacing: "".concat(round(letterSpacing / size), "em")
|
|
2298
|
-
} : {}, casing, allVariants);
|
|
2299
|
-
};
|
|
2300
|
-
|
|
2301
|
-
var variants = {
|
|
2302
|
-
h1: buildVariant(fontWeightLight, 96, 1.167, -1.5),
|
|
2303
|
-
h2: buildVariant(fontWeightLight, 60, 1.2, -0.5),
|
|
2304
|
-
h3: buildVariant(fontWeightRegular, 48, 1.167, 0),
|
|
2305
|
-
h4: buildVariant(fontWeightRegular, 34, 1.235, 0.25),
|
|
2306
|
-
h5: buildVariant(fontWeightRegular, 24, 1.334, 0),
|
|
2307
|
-
h6: buildVariant(fontWeightMedium, 20, 1.6, 0.15),
|
|
2308
|
-
subtitle1: buildVariant(fontWeightRegular, 16, 1.75, 0.15),
|
|
2309
|
-
subtitle2: buildVariant(fontWeightMedium, 14, 1.57, 0.1),
|
|
2310
|
-
body1: buildVariant(fontWeightRegular, 16, 1.5, 0.15),
|
|
2311
|
-
body2: buildVariant(fontWeightRegular, 14, 1.43, 0.15),
|
|
2312
|
-
button: buildVariant(fontWeightMedium, 14, 1.75, 0.4, caseAllCaps),
|
|
2313
|
-
caption: buildVariant(fontWeightRegular, 12, 1.66, 0.4),
|
|
2314
|
-
overline: buildVariant(fontWeightRegular, 12, 2.66, 1, caseAllCaps)
|
|
2315
|
-
};
|
|
2316
|
-
return deepmerge(_extends$3({
|
|
2317
|
-
htmlFontSize: htmlFontSize,
|
|
2318
|
-
pxToRem: pxToRem,
|
|
2319
|
-
round: roundWithDeprecationWarning,
|
|
2320
|
-
// TODO v5: remove
|
|
2321
|
-
fontFamily: fontFamily,
|
|
2322
|
-
fontSize: fontSize,
|
|
2323
|
-
fontWeightLight: fontWeightLight,
|
|
2324
|
-
fontWeightRegular: fontWeightRegular,
|
|
2325
|
-
fontWeightMedium: fontWeightMedium,
|
|
2326
|
-
fontWeightBold: fontWeightBold
|
|
2327
|
-
}, variants), other, {
|
|
2328
|
-
clone: false // No need to clone deep
|
|
2329
|
-
|
|
2330
|
-
});
|
|
2331
|
-
}
|
|
2332
|
-
|
|
2333
|
-
var shadowKeyUmbraOpacity = 0.2;
|
|
2334
|
-
var shadowKeyPenumbraOpacity = 0.14;
|
|
2335
|
-
var shadowAmbientShadowOpacity = 0.12;
|
|
2336
|
-
|
|
2337
|
-
function createShadow() {
|
|
2338
|
-
return ["".concat(arguments.length <= 0 ? undefined : arguments[0], "px ").concat(arguments.length <= 1 ? undefined : arguments[1], "px ").concat(arguments.length <= 2 ? undefined : arguments[2], "px ").concat(arguments.length <= 3 ? undefined : arguments[3], "px rgba(0,0,0,").concat(shadowKeyUmbraOpacity, ")"), "".concat(arguments.length <= 4 ? undefined : arguments[4], "px ").concat(arguments.length <= 5 ? undefined : arguments[5], "px ").concat(arguments.length <= 6 ? undefined : arguments[6], "px ").concat(arguments.length <= 7 ? undefined : arguments[7], "px rgba(0,0,0,").concat(shadowKeyPenumbraOpacity, ")"), "".concat(arguments.length <= 8 ? undefined : arguments[8], "px ").concat(arguments.length <= 9 ? undefined : arguments[9], "px ").concat(arguments.length <= 10 ? undefined : arguments[10], "px ").concat(arguments.length <= 11 ? undefined : arguments[11], "px rgba(0,0,0,").concat(shadowAmbientShadowOpacity, ")")].join(',');
|
|
2339
|
-
} // Values from https://github.com/material-components/material-components-web/blob/be8747f94574669cb5e7add1a7c54fa41a89cec7/packages/mdc-elevation/_variables.scss
|
|
2340
|
-
|
|
2341
|
-
|
|
2342
|
-
var shadows = ['none', createShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), createShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), createShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];
|
|
2343
|
-
var shadows$1 = shadows;
|
|
2344
|
-
|
|
2345
|
-
var shape = {
|
|
2346
|
-
borderRadius: 4
|
|
2347
|
-
};
|
|
2348
|
-
var shape$1 = shape;
|
|
2349
|
-
|
|
2350
|
-
var responsivePropType = process.env.NODE_ENV !== 'production' ? PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.object, PropTypes.array]) : {};
|
|
2351
|
-
var responsivePropType$1 = responsivePropType;
|
|
2352
|
-
|
|
2353
|
-
var spacingKeys = ['m', 'mt', 'mr', 'mb', 'ml', 'mx', 'my', 'p', 'pt', 'pr', 'pb', 'pl', 'px', 'py', 'margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'marginX', 'marginY', 'padding', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'paddingX', 'paddingY'];
|
|
2354
|
-
function createUnarySpacing(theme) {
|
|
2355
|
-
var themeSpacing = theme.spacing || 8;
|
|
2356
|
-
|
|
2357
|
-
if (typeof themeSpacing === 'number') {
|
|
2358
|
-
return function (abs) {
|
|
2359
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
2360
|
-
if (typeof abs !== 'number') {
|
|
2361
|
-
console.error("Material-UI: Expected spacing argument to be a number, got ".concat(abs, "."));
|
|
2362
|
-
}
|
|
2363
|
-
}
|
|
2364
|
-
|
|
2365
|
-
return themeSpacing * abs;
|
|
2366
|
-
};
|
|
2367
|
-
}
|
|
2368
|
-
|
|
2369
|
-
if (Array.isArray(themeSpacing)) {
|
|
2370
|
-
return function (abs) {
|
|
2371
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
2372
|
-
if (abs > themeSpacing.length - 1) {
|
|
2373
|
-
console.error(["Material-UI: The value provided (".concat(abs, ") overflows."), "The supported values are: ".concat(JSON.stringify(themeSpacing), "."), "".concat(abs, " > ").concat(themeSpacing.length - 1, ", you need to add the missing values.")].join('\n'));
|
|
2374
|
-
}
|
|
2375
|
-
}
|
|
2376
|
-
|
|
2377
|
-
return themeSpacing[abs];
|
|
2378
|
-
};
|
|
2379
|
-
}
|
|
2380
|
-
|
|
2381
|
-
if (typeof themeSpacing === 'function') {
|
|
2382
|
-
return themeSpacing;
|
|
2383
|
-
}
|
|
2384
|
-
|
|
2385
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
2386
|
-
console.error(["Material-UI: The `theme.spacing` value (".concat(themeSpacing, ") is invalid."), 'It should be a number, an array or a function.'].join('\n'));
|
|
2387
|
-
}
|
|
2388
|
-
|
|
2389
|
-
return function () {
|
|
2390
|
-
return undefined;
|
|
2391
|
-
};
|
|
2392
|
-
}
|
|
2393
|
-
|
|
2394
|
-
process.env.NODE_ENV !== 'production' ? spacingKeys.reduce(function (obj, key) {
|
|
2395
|
-
obj[key] = responsivePropType$1;
|
|
2396
|
-
return obj;
|
|
2397
|
-
}, {}) : {};
|
|
2398
|
-
|
|
2399
|
-
var warnOnce;
|
|
2400
|
-
function createSpacing() {
|
|
2401
|
-
var spacingInput = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 8;
|
|
2402
|
-
|
|
2403
|
-
// Already transformed.
|
|
2404
|
-
if (spacingInput.mui) {
|
|
2405
|
-
return spacingInput;
|
|
2406
|
-
} // Material Design layouts are visually balanced. Most measurements align to an 8dp grid applied, which aligns both spacing and the overall layout.
|
|
2407
|
-
// Smaller components, such as icons and type, can align to a 4dp grid.
|
|
2408
|
-
// https://material.io/design/layout/understanding-layout.html#usage
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
var transform = createUnarySpacing({
|
|
2412
|
-
spacing: spacingInput
|
|
2413
|
-
});
|
|
2414
|
-
|
|
2415
|
-
var spacing = function spacing() {
|
|
2416
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
2417
|
-
args[_key] = arguments[_key];
|
|
2418
|
-
}
|
|
2419
|
-
|
|
2420
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
2421
|
-
if (!(args.length <= 4)) {
|
|
2422
|
-
console.error("Material-UI: Too many arguments provided, expected between 0 and 4, got ".concat(args.length));
|
|
2423
|
-
}
|
|
2424
|
-
}
|
|
2425
|
-
|
|
2426
|
-
if (args.length === 0) {
|
|
2427
|
-
return transform(1);
|
|
2428
|
-
}
|
|
2429
|
-
|
|
2430
|
-
if (args.length === 1) {
|
|
2431
|
-
return transform(args[0]);
|
|
2432
|
-
}
|
|
2433
|
-
|
|
2434
|
-
return args.map(function (argument) {
|
|
2435
|
-
if (typeof argument === 'string') {
|
|
2436
|
-
return argument;
|
|
2437
|
-
}
|
|
82
|
+
};
|
|
2438
83
|
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
84
|
+
var _templateObject$I;
|
|
85
|
+
var rootClassName$E = 'dot-accordion';
|
|
86
|
+
var summaryClassName = 'dot-accordion-summary';
|
|
87
|
+
var detailClassName = 'dot-accordion-details';
|
|
88
|
+
var StyledAccordion = styled(Accordion)(_templateObject$I || (_templateObject$I = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
89
|
+
var theme = _ref.theme;
|
|
90
|
+
return css(["&.", "{background:", ";.", "{align-items:center;display:flex;.MuiAccordionSummary-content{width:calc(100% - ", "px);}.MuiTypography-root{margin-bottom:0;}.dot-icon{margin-right:", "px;}.MuiTypography-body1{padding:2px 0;}}}"], rootClassName$E, theme.palette.product === 'agility' && theme.palette.layer.n50, summaryClassName, theme.spacing(5), theme.spacing(0.5));
|
|
91
|
+
});
|
|
2443
92
|
|
|
93
|
+
var DotAccordion = function DotAccordion(_ref) {
|
|
94
|
+
var actions = _ref.actions,
|
|
95
|
+
ariaLabel = _ref.ariaLabel,
|
|
96
|
+
children = _ref.children,
|
|
97
|
+
className = _ref.className,
|
|
98
|
+
_ref$dataTestid = _ref['data-testid'],
|
|
99
|
+
dataTestId = _ref$dataTestid === void 0 ? 'dot-accordion' : _ref$dataTestid,
|
|
100
|
+
_ref$defaultExpanded = _ref.defaultExpanded,
|
|
101
|
+
defaultExpanded = _ref$defaultExpanded === void 0 ? false : _ref$defaultExpanded,
|
|
102
|
+
_ref$disabled = _ref.disabled,
|
|
103
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
104
|
+
_ref$hasElevation = _ref.hasElevation,
|
|
105
|
+
hasElevation = _ref$hasElevation === void 0 ? false : _ref$hasElevation,
|
|
106
|
+
_ref$square = _ref.square,
|
|
107
|
+
square = _ref$square === void 0 ? false : _ref$square,
|
|
108
|
+
startIcon = _ref.startIcon,
|
|
109
|
+
summary = _ref.summary,
|
|
110
|
+
_ref$noWrap = _ref.noWrap,
|
|
111
|
+
noWrap = _ref$noWrap === void 0 ? true : _ref$noWrap;
|
|
112
|
+
var rootClasses = useStylesWithRootClass(rootClassName$E, className);
|
|
2444
113
|
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
if (!warnOnce || process.env.NODE_ENV === 'test') {
|
|
2449
|
-
console.error(['Material-UI: theme.spacing.unit usage has been deprecated.', 'It will be removed in v5.', 'You can replace `theme.spacing.unit * y` with `theme.spacing(y)`.', '', 'You can use the `https://github.com/mui-org/material-ui/tree/master/packages/material-ui-codemod/README.md#theme-spacing-api` migration helper to make the process smoother.'].join('\n'));
|
|
2450
|
-
}
|
|
114
|
+
var _useState = useState(),
|
|
115
|
+
elevation = _useState[0],
|
|
116
|
+
setElevation = _useState[1];
|
|
2451
117
|
|
|
2452
|
-
|
|
2453
|
-
|
|
118
|
+
useEffect(function () {
|
|
119
|
+
setElevation(hasElevation ? 1 : 0);
|
|
120
|
+
}, [hasElevation]);
|
|
121
|
+
return /*#__PURE__*/React__default.createElement(StyledAccordion, {
|
|
122
|
+
"aria-label": ariaLabel,
|
|
123
|
+
className: rootClasses,
|
|
124
|
+
"data-testid": dataTestId,
|
|
125
|
+
defaultExpanded: defaultExpanded,
|
|
126
|
+
disabled: disabled,
|
|
127
|
+
elevation: elevation,
|
|
128
|
+
square: square
|
|
129
|
+
}, /*#__PURE__*/React__default.createElement(AccordionSummary, {
|
|
130
|
+
className: summaryClassName,
|
|
131
|
+
"data-testid": dataTestId + "-summary",
|
|
132
|
+
expandIcon: /*#__PURE__*/React__default.createElement(DotIcon, {
|
|
133
|
+
iconId: "chevron-down"
|
|
134
|
+
})
|
|
135
|
+
}, startIcon, /*#__PURE__*/React__default.createElement(DotTypography, {
|
|
136
|
+
variant: "body1",
|
|
137
|
+
noWrap: noWrap
|
|
138
|
+
}, /*#__PURE__*/React__default.createElement(Tooltip, {
|
|
139
|
+
className: "dot-tooltip",
|
|
140
|
+
placement: "top-start",
|
|
141
|
+
title: noWrap ? summary : ''
|
|
142
|
+
}, /*#__PURE__*/React__default.createElement("span", null, summary)))), /*#__PURE__*/React__default.createElement(AccordionDetails, {
|
|
143
|
+
className: detailClassName,
|
|
144
|
+
"data-testid": dataTestId + "-details"
|
|
145
|
+
}, children), /*#__PURE__*/React__default.createElement(Divider, null), actions && /*#__PURE__*/React__default.createElement(AccordionActions, null, actions));
|
|
146
|
+
};
|
|
2454
147
|
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
return
|
|
2460
|
-
}
|
|
148
|
+
var _templateObject$H;
|
|
149
|
+
var rootClassName$D = 'dot-action-toolbar';
|
|
150
|
+
var StyledToolbar = styled(Toolbar)(_templateObject$H || (_templateObject$H = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
151
|
+
var theme = _ref.theme;
|
|
152
|
+
return css(["&.", "{border-bottom:1px solid ", ";}"], rootClassName$D, theme.palette.product === 'agility' ? theme.palette.layer.n100 : theme.palette.grey[100]);
|
|
153
|
+
});
|
|
2461
154
|
|
|
2462
|
-
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
|
|
2468
|
-
|
|
2469
|
-
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
|
|
2476
|
-
|
|
2477
|
-
var duration = {
|
|
2478
|
-
shortest: 150,
|
|
2479
|
-
shorter: 200,
|
|
2480
|
-
short: 250,
|
|
2481
|
-
// most basic recommended timing
|
|
2482
|
-
standard: 300,
|
|
2483
|
-
// this is to be used in complex animations
|
|
2484
|
-
complex: 375,
|
|
2485
|
-
// recommended when something is entering screen
|
|
2486
|
-
enteringScreen: 225,
|
|
2487
|
-
// recommended when something is leaving screen
|
|
2488
|
-
leavingScreen: 195
|
|
155
|
+
var DotActionToolbar = function DotActionToolbar(_ref) {
|
|
156
|
+
var ariaLabel = _ref.ariaLabel,
|
|
157
|
+
children = _ref.children,
|
|
158
|
+
className = _ref.className,
|
|
159
|
+
dataTestId = _ref['data-testid'],
|
|
160
|
+
_ref$variant = _ref.variant,
|
|
161
|
+
variant = _ref$variant === void 0 ? 'dense' : _ref$variant;
|
|
162
|
+
var rootClasses = useStylesWithRootClass(rootClassName$D, className);
|
|
163
|
+
return /*#__PURE__*/React__default.createElement(StyledToolbar, {
|
|
164
|
+
"aria-label": ariaLabel,
|
|
165
|
+
className: rootClasses,
|
|
166
|
+
"data-testid": dataTestId,
|
|
167
|
+
variant: variant
|
|
168
|
+
}, children);
|
|
2489
169
|
};
|
|
2490
170
|
|
|
2491
|
-
|
|
2492
|
-
|
|
2493
|
-
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
* @param {string} param.prop
|
|
2498
|
-
* @param {number} param.duration
|
|
2499
|
-
* @param {string} param.easing
|
|
2500
|
-
* @param {number} param.delay
|
|
2501
|
-
*/
|
|
2502
|
-
|
|
171
|
+
var _templateObject$G;
|
|
172
|
+
var rootClassName$C = 'dot-alert-banner';
|
|
173
|
+
var StyledAlertBanner = styled(Alert)(_templateObject$G || (_templateObject$G = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
174
|
+
var theme = _ref.theme;
|
|
175
|
+
return css(["&.", "{padding:", ";.MuiAlert-message{padding:", ";}&.MuiAlert-standardSuccess{.MuiAlert-icon,.dot-typography{color:", ";}}&.MuiAlert-standardInfo{background-color:", ";.MuiAlert-icon,.dot-typography{color:", ";}}&.MuiAlert-standardWarning{background-color:", ";color:", ";.MuiAlert-icon,.dot-typography{color:", ";}}&.MuiAlert-standardError{.MuiAlert-icon,.dot-typography{color:", ";}}.MuiAlert-icon{padding:", ";}}"], rootClassName$C, theme.spacing(0, 2), theme.spacing(2, 0), theme.palette.success[700], theme.palette.primary[50], theme.palette.primary[500], theme.palette.warning[100], theme.palette.grey[700], theme.palette.grey[700], theme.palette.error[700], theme.spacing(1.75, 0));
|
|
176
|
+
});
|
|
2503
177
|
|
|
2504
|
-
var
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
durationOption = _options$duration === void 0 ? duration.standard : _options$duration,
|
|
2513
|
-
_options$easing = options.easing,
|
|
2514
|
-
easingOption = _options$easing === void 0 ? easing.easeInOut : _options$easing,
|
|
2515
|
-
_options$delay = options.delay,
|
|
2516
|
-
delay = _options$delay === void 0 ? 0 : _options$delay,
|
|
2517
|
-
other = _objectWithoutProperties$3(options, ["duration", "easing", "delay"]);
|
|
2518
|
-
|
|
2519
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
2520
|
-
var isString = function isString(value) {
|
|
2521
|
-
return typeof value === 'string';
|
|
2522
|
-
};
|
|
178
|
+
var DotAlertBanner = function DotAlertBanner(_ref) {
|
|
179
|
+
var action = _ref.action,
|
|
180
|
+
ariaLabel = _ref.ariaLabel,
|
|
181
|
+
children = _ref.children,
|
|
182
|
+
className = _ref.className,
|
|
183
|
+
dataTestId = _ref['data-testid'],
|
|
184
|
+
_onClose = _ref.onClose,
|
|
185
|
+
severity = _ref.severity;
|
|
2523
186
|
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
187
|
+
var AlertBannerIcon = function AlertBannerIcon(iconId) {
|
|
188
|
+
return /*#__PURE__*/React__default.createElement(DotIcon, {
|
|
189
|
+
iconId: iconId
|
|
190
|
+
});
|
|
191
|
+
};
|
|
2527
192
|
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
|
|
193
|
+
var AlertBannerIconMapping = {
|
|
194
|
+
error: AlertBannerIcon('error-solid'),
|
|
195
|
+
info: AlertBannerIcon('info-solid'),
|
|
196
|
+
success: AlertBannerIcon('check-solid'),
|
|
197
|
+
warning: AlertBannerIcon('warning-solid')
|
|
198
|
+
};
|
|
199
|
+
var rootClasses = useStylesWithRootClass(rootClassName$C, className);
|
|
200
|
+
return /*#__PURE__*/React__default.createElement(StyledAlertBanner, {
|
|
201
|
+
action: action,
|
|
202
|
+
"aria-label": ariaLabel,
|
|
203
|
+
classes: {
|
|
204
|
+
root: rootClasses
|
|
205
|
+
},
|
|
206
|
+
"data-testid": dataTestId,
|
|
207
|
+
iconMapping: AlertBannerIconMapping,
|
|
208
|
+
onClose: function onClose(event) {
|
|
209
|
+
return _onClose ? _onClose(event) : null;
|
|
210
|
+
},
|
|
211
|
+
severity: severity
|
|
212
|
+
}, /*#__PURE__*/React__default.createElement(DotTypography, {
|
|
213
|
+
variant: "subtitle2"
|
|
214
|
+
}, children));
|
|
215
|
+
};
|
|
2531
216
|
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
217
|
+
var _templateObject$F;
|
|
218
|
+
var rootClassName$B = 'dot-icon-btn';
|
|
219
|
+
var StyledIconButton = styled(IconButton)(_templateObject$F || (_templateObject$F = _taggedTemplateLiteralLoose(["\n ", "\n"])), function () {
|
|
220
|
+
return css(["&.", "{padding:10px;&.MuiIconButton-root{font-size:inherit;.dot-icon.MuiIcon-fontSizeSmall{padding:1px;}}&.MuiIconButton-sizeSmall{padding:3px;}}"], rootClassName$B);
|
|
221
|
+
});
|
|
2535
222
|
|
|
2536
|
-
|
|
2537
|
-
|
|
2538
|
-
|
|
223
|
+
var DotIconButton = function DotIconButton(_ref) {
|
|
224
|
+
var ariaLabel = _ref.ariaLabel,
|
|
225
|
+
className = _ref.className,
|
|
226
|
+
_ref$color = _ref.color,
|
|
227
|
+
color = _ref$color === void 0 ? 'inherit' : _ref$color,
|
|
228
|
+
dataTestId = _ref['data-testid'],
|
|
229
|
+
_ref$disabled = _ref.disabled,
|
|
230
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
231
|
+
iconId = _ref.iconId,
|
|
232
|
+
_ref$iconSize = _ref.iconSize,
|
|
233
|
+
iconSize = _ref$iconSize === void 0 ? 'small' : _ref$iconSize,
|
|
234
|
+
_onClick = _ref.onClick,
|
|
235
|
+
titleTooltip = _ref.titleTooltip,
|
|
236
|
+
_ref$size = _ref.size,
|
|
237
|
+
size = _ref$size === void 0 ? 'medium' : _ref$size;
|
|
238
|
+
var rootClasses = useStylesWithRootClass(rootClassName$B, className);
|
|
239
|
+
return /*#__PURE__*/React__default.createElement(StyledIconButton, {
|
|
240
|
+
"aria-label": ariaLabel,
|
|
241
|
+
classes: {
|
|
242
|
+
root: rootClasses
|
|
243
|
+
},
|
|
244
|
+
color: color,
|
|
245
|
+
"data-testid": dataTestId,
|
|
246
|
+
disabled: disabled,
|
|
247
|
+
onClick: function onClick(event) {
|
|
248
|
+
return _onClick && _onClick(event);
|
|
249
|
+
},
|
|
250
|
+
size: size,
|
|
251
|
+
title: titleTooltip
|
|
252
|
+
}, /*#__PURE__*/React__default.createElement(DotIcon, {
|
|
253
|
+
"data-testid": "button-icon",
|
|
254
|
+
fontSize: iconSize,
|
|
255
|
+
iconId: iconId,
|
|
256
|
+
title: titleTooltip
|
|
257
|
+
}));
|
|
258
|
+
};
|
|
2539
259
|
|
|
2540
|
-
|
|
2541
|
-
|
|
2542
|
-
|
|
260
|
+
var _templateObject$E;
|
|
261
|
+
var rootClassName$A = 'dot-link';
|
|
262
|
+
var StyledLink = styled(Link)(_templateObject$E || (_templateObject$E = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
263
|
+
var theme = _ref.theme;
|
|
264
|
+
return css(["&.", "{color:", ";cursor:pointer;&:hover:not(.MuiLink-underlineHover){text-decoration:none;}}"], rootClassName$A, theme.palette.product === 'agility' && theme.palette.layer.n700);
|
|
265
|
+
});
|
|
2543
266
|
|
|
2544
|
-
|
|
2545
|
-
|
|
2546
|
-
|
|
2547
|
-
|
|
267
|
+
var DotLink = function DotLink(_ref) {
|
|
268
|
+
var ariaLabel = _ref.ariaLabel,
|
|
269
|
+
children = _ref.children,
|
|
270
|
+
className = _ref.className,
|
|
271
|
+
_ref$color = _ref.color,
|
|
272
|
+
color = _ref$color === void 0 ? 'primary' : _ref$color,
|
|
273
|
+
dataTestId = _ref['data-testid'],
|
|
274
|
+
href = _ref.href,
|
|
275
|
+
onClick = _ref.onClick,
|
|
276
|
+
onMouseEnter = _ref.onMouseEnter,
|
|
277
|
+
_ref$rel = _ref.rel,
|
|
278
|
+
rel = _ref$rel === void 0 ? 'noreferrer' : _ref$rel,
|
|
279
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
280
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
|
|
281
|
+
target = _ref.target,
|
|
282
|
+
title = _ref.title,
|
|
283
|
+
_ref$underline = _ref.underline,
|
|
284
|
+
underline = _ref$underline === void 0 ? 'always' : _ref$underline;
|
|
285
|
+
var rootClasses = useStylesWithRootClass(rootClassName$A, className);
|
|
2548
286
|
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
getAutoHeightDuration: function getAutoHeightDuration(height) {
|
|
2554
|
-
if (!height) {
|
|
2555
|
-
return 0;
|
|
287
|
+
var handleKeyPress = function handleKeyPress(event) {
|
|
288
|
+
if (onClick && event.key === 'Enter') {
|
|
289
|
+
event.preventDefault();
|
|
290
|
+
onClick(event);
|
|
2556
291
|
}
|
|
292
|
+
};
|
|
2557
293
|
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
294
|
+
return /*#__PURE__*/React__default.createElement(StyledLink, {
|
|
295
|
+
"aria-label": ariaLabel,
|
|
296
|
+
classes: {
|
|
297
|
+
root: rootClasses
|
|
298
|
+
},
|
|
299
|
+
color: color,
|
|
300
|
+
"data-testid": dataTestId,
|
|
301
|
+
href: href,
|
|
302
|
+
onClick: onClick,
|
|
303
|
+
onMouseEnter: onMouseEnter,
|
|
304
|
+
onKeyPress: handleKeyPress,
|
|
305
|
+
rel: rel,
|
|
306
|
+
tabIndex: tabIndex,
|
|
307
|
+
target: target,
|
|
308
|
+
title: title,
|
|
309
|
+
underline: underline
|
|
310
|
+
}, children);
|
|
2562
311
|
};
|
|
2563
312
|
|
|
2564
|
-
|
|
2565
|
-
|
|
2566
|
-
var
|
|
2567
|
-
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
-
drawer: 1200,
|
|
2571
|
-
modal: 1300,
|
|
2572
|
-
snackbar: 1400,
|
|
2573
|
-
tooltip: 1500
|
|
313
|
+
var _templateObject$D;
|
|
314
|
+
var rootClassName$z = 'dot-avatar';
|
|
315
|
+
var avatarSpacing = {
|
|
316
|
+
small: 3,
|
|
317
|
+
medium: 5,
|
|
318
|
+
large: 7
|
|
2574
319
|
};
|
|
2575
|
-
var
|
|
2576
|
-
|
|
2577
|
-
function
|
|
2578
|
-
|
|
2579
|
-
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
paletteInput = _options$palette === void 0 ? {} : _options$palette,
|
|
2586
|
-
spacingInput = options.spacing,
|
|
2587
|
-
_options$typography = options.typography,
|
|
2588
|
-
typographyInput = _options$typography === void 0 ? {} : _options$typography,
|
|
2589
|
-
other = _objectWithoutProperties$3(options, ["breakpoints", "mixins", "palette", "spacing", "typography"]);
|
|
2590
|
-
|
|
2591
|
-
var palette = createPalette(paletteInput);
|
|
2592
|
-
var breakpoints = createBreakpoints(breakpointsInput);
|
|
2593
|
-
var spacing = createSpacing(spacingInput);
|
|
2594
|
-
var muiTheme = deepmerge({
|
|
2595
|
-
breakpoints: breakpoints,
|
|
2596
|
-
direction: 'ltr',
|
|
2597
|
-
mixins: createMixins(breakpoints, spacing, mixinsInput),
|
|
2598
|
-
overrides: {},
|
|
2599
|
-
// Inject custom styles
|
|
2600
|
-
palette: palette,
|
|
2601
|
-
props: {},
|
|
2602
|
-
// Provide default props
|
|
2603
|
-
shadows: shadows$1,
|
|
2604
|
-
typography: createTypography(palette, typographyInput),
|
|
2605
|
-
spacing: spacing,
|
|
2606
|
-
shape: shape$1,
|
|
2607
|
-
transitions: transitions,
|
|
2608
|
-
zIndex: zIndex$1
|
|
2609
|
-
}, other);
|
|
2610
|
-
|
|
2611
|
-
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
2612
|
-
args[_key - 1] = arguments[_key];
|
|
2613
|
-
}
|
|
2614
|
-
|
|
2615
|
-
muiTheme = args.reduce(function (acc, argument) {
|
|
2616
|
-
return deepmerge(acc, argument);
|
|
2617
|
-
}, muiTheme);
|
|
2618
|
-
|
|
2619
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
2620
|
-
var pseudoClasses = ['checked', 'disabled', 'error', 'focused', 'focusVisible', 'required', 'expanded', 'selected'];
|
|
2621
|
-
|
|
2622
|
-
var traverse = function traverse(node, parentKey) {
|
|
2623
|
-
var depth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
2624
|
-
var key; // eslint-disable-next-line guard-for-in, no-restricted-syntax
|
|
2625
|
-
|
|
2626
|
-
for (key in node) {
|
|
2627
|
-
var child = node[key];
|
|
2628
|
-
|
|
2629
|
-
if (depth === 1) {
|
|
2630
|
-
if (key.indexOf('Mui') === 0 && child) {
|
|
2631
|
-
traverse(child, key, depth + 1);
|
|
2632
|
-
}
|
|
2633
|
-
} else if (pseudoClasses.indexOf(key) !== -1 && Object.keys(child).length > 0) {
|
|
2634
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
2635
|
-
console.error(["Material-UI: The `".concat(parentKey, "` component increases ") + "the CSS specificity of the `".concat(key, "` internal state."), 'You can not override it like this: ', JSON.stringify(node, null, 2), '', 'Instead, you need to use the $ruleName syntax:', JSON.stringify({
|
|
2636
|
-
root: _defineProperty({}, "&$".concat(key), child)
|
|
2637
|
-
}, null, 2), '', 'https://material-ui.com/r/pseudo-classes-guide'].join('\n'));
|
|
2638
|
-
} // Remove the style to prevent global conflicts.
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
node[key] = {};
|
|
2642
|
-
}
|
|
2643
|
-
}
|
|
2644
|
-
};
|
|
2645
|
-
|
|
2646
|
-
traverse(muiTheme.overrides);
|
|
2647
|
-
}
|
|
2648
|
-
|
|
2649
|
-
return muiTheme;
|
|
2650
|
-
}
|
|
320
|
+
var StyledAvatar = styled(Avatar)(_templateObject$D || (_templateObject$D = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
321
|
+
var theme = _ref.theme;
|
|
322
|
+
return css(["&.MuiAvatar-root{background-color:", ";.dot-i,.dot-typography{color:", ";}&.small{height:", "px;width:", "px;}&.medium{height:", "px;width:", "px;}&.large{height:", "px;width:", "px;}}"], function (_ref2) {
|
|
323
|
+
var color = _ref2.color;
|
|
324
|
+
return theme.palette.product === 'agility' && color === 'default' ? theme.palette.layer.n0 : color && theme.palette.avatarColors[color] ? theme.palette.avatarColors[color].backgroundColor : theme.palette.avatarColors['default'].backgroundColor;
|
|
325
|
+
}, function (_ref3) {
|
|
326
|
+
var color = _ref3.color;
|
|
327
|
+
return theme.palette.product === 'agility' && color === 'default' ? theme.palette.layer.n700 : color && theme.palette.avatarColors[color] ? theme.palette.avatarColors[color].color : theme.palette.avatarColors['default'].color;
|
|
328
|
+
}, theme.spacing(avatarSpacing.small), theme.spacing(avatarSpacing.small), theme.spacing(avatarSpacing.medium), theme.spacing(avatarSpacing.medium), theme.spacing(avatarSpacing.large), theme.spacing(avatarSpacing.large));
|
|
329
|
+
});
|
|
2651
330
|
|
|
2652
331
|
var LatoRegular = "data:font/woff;base64,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";
|
|
2653
332
|
|
|
@@ -2655,8 +334,8 @@ var LatoBold = "data:font/woff;base64,d09GRgABAAAAAI+4ABIAAAABJ8AAAQBoAAAAAAAAAA
|
|
|
2655
334
|
|
|
2656
335
|
var Dot = "data:font/woff;base64,d09GRgABAAAAAOz4AAsAAAAA7KwAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABCAAAAGAAAABgDxIG+2NtYXAAAAFoAAAAVAAAAFQXVtNaZ2FzcAAAAbwAAAAIAAAACAAAABBnbHlmAAABxAAA5CwAAOQsKhvXDGhlYWQAAOXwAAAANgAAADYc6od+aGhlYQAA5igAAAAkAAAAJAeJBJlobXR4AADmTAAAA2AAAANgVgBn8GxvY2EAAOmsAAABsgAAAbJmuy8CbWF4cAAA62AAAAAgAAAAIAE3As5uYW1lAADrgAAAAVYAAAFWOoysc3Bvc3QAAOzYAAAAIAAAACAAAwAAAAMD/gGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA6dMDwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADgAAAAKAAgAAgACAAEAIOnT//3//wAAAAAAIOkA//3//wAB/+MXBAADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAwBmACYDmgNaABAALQBmAAABPgEzMhYXHgEVFAYHAQc3ATciBgcBDgEPAQYWFx4BPwE+ATcBPgE1NCYnLgEjBSIGBw4BFREUFhceATMhMjY3PgE9ATQmIyIGHQEUBgcOASMhIiYnLgE1ETQ2Nz4BOwEyNjU0JisBAwwDCQQFCAMDBAQD/r8rCwFBEBkuEv61BQcBIwQICQoaDYwGDQUBSxITExISLhn9xBksERETExERLBkB5xgtERESHhUWHgMCAwYE/hkEBwIDAwMDAgcE8xYeHhbzAuwDBAQDAwgFBAkD/r8LKwFBbhMS/rUFDQaMDRoKCQgEIwEHBQFLEi4ZGS4SERRaEhERLRj+GRksERETExERLBnzFh4eFvMEBwIDAwMDAgcEAecEBgMCAx4WFR4AAAAFAJoAJgOEA1oAEAA/AFAAXgBsAAABIgYHDgEdATM1NCYnLgErAQU1NCYnLgErASIGBw4BHQEjIgYVFBY7AREUFhceATMhMjY3PgE1ETMyNjU0JisBAREhERQGBw4BIyEiJicuATUTMhYdARQGIyImPQE0NjMyFh0BFAYjIiY9ATQ2AccFCgMEA8IDBAQJBZABCBIRESwYkBgsEREShhQbGxQZEhERLBgBahgsERESGRQbGxSG/nIBnAQDBAkF/pYFCQQDBIYTHBwTFBwcpBQcHBQTHBwC+wQEAwkFGRkFCQMEBDIZGCwQERMTERAsGBkcFBMc/jQYLBARExMRECwYAcwcExQc/dUBzP40BQkDBAQEBAMJBQF2HBTZFBwcFNkUHBwU2RQcHBTZFBwAAAAACQBmACYDmgNaABsANwBuAIoApgC2AM8A7AEFAAABNCcuAScmIyIHDgEHBhUUFx4BFxYzMjc+ATc2NxQHDgEHBiMiJy4BJyY1NDc+ATc2MzIXHgEXFgU+AScxLgEnMSYHDgEHBgcmBgcOAQcxBhYXHgE3NhYfAR4BBwYWFxUeATMyNjc+ATc+ASc+ATclPgE3PgEXOgEXDgEHDgEHDgEHLgEnLgEnKgEjFz4BNz4BJzwBJw4BBw4BBw4BBx4BFx4BFxwBFS8BNjc+ATc2FxYHDgEHBgc3FAYHDgEjIiYnLgE1NDY3PgEzMhYXHgEVBQ4BBw4BBw4BFRQWOwEyNjc+ATc+ATU0JicuAQcHPgE3PgE3PgEzMhYXHgEVFAYHDgEHDgEjA1sbG15AP0hIP0BeGxsbG15AP0hIP0BeGxs/ISBvS0pVVUpLbyAhISBvS0pVVUpLbyAh/vIpIwUBDwswKilGHB0WFzIXGCYMBAMHBxMIFiwNWQ4EDAQDBgUKBgMHAxsrDQ0HBxAdDP60AgYDDB0PAgUDAQMBAwYDAQIBAgQCCBEJBAcDyAMEAgoMAQECBQIGDAYCBQIBAgEEBAEoRw0YF0IrKzUCFhY+IiIWlQcFBhAICBAGBgYGBgYQCAcQBwYG/vQMFQcLCgMCAREMAQQUDAwaCgwICgkLGQwQAQEBAQQCAwUCAgUCAgIDAgMJBgIFAwHASD9AXhsbGxteQD9ISD9AXhsbGxteQD9IVUpLbyAhISBvS0pVVUpLbyAhISBvS0pkMnlGDBABBAkKJRsaHwcHDg4uHQkUBwcDBQwED14PLRgJFAcBBAUBAg4oGRk1GQ0cDzUDBQMKDAEBAgUDBg0GAwQDAgIBBAQB1QMGAw0fEAMFAwEDAQMHAwECAQIFAgkSCgQHBGBLJiYlOxISAUMxMUMUFAq8CRAHBgcHBgcQCQkRBwYGBQcHEQmoAQwJCh0NDRUEDhIBAwMLCwwaCg0YCgsKAVgDBQMGCQMCAwICAwQCAwYCAgUBAQEABgBmACYDmgNaABsANwBzALIA2wEPAAABNCcuAScmIyIHDgEHBhUUFx4BFxYzMjc+ATc2NxQHDgEHBiMiJy4BJyY1NDc+ATc2MzIXHgEXFgcOAQcOAQcOAQcOAScuASc+ATc+ATc+ATc2JicuAScuASM+ATc+AR8BHgEXHgEXHgEXFgYHDgEHDgEPAQMeARceARceARcxFhQVHgEXFhQVFAYHDgEHDgEHDgEHMSMuAScuAScmNj8BPgE3MTQ2NTc+ATc+ATczMR4BFycOARUGFhceARcuAScuAS8BLgE1LgEnLgE3NTc+ATc+AT8BPgE3NjIXNy4BBw4BBw4BBw4BFx4BFx4BFx4BNx4BFx4BFxY2Nz4BNz4BNz4BJy4BJy4BJyYGBw4BIwNcHBteQD9ISD9AXhscHBteQD9ISD9AXhscPiEgb0tKVVVKS28gISEgb0tKVVVKS28gIeEECQQJFQwKFQwMGQwJEQgDBQITHgwNEQMEAQUJLCIBAwEEBwQLFwsWDBgLDxkLDxQDBAQIAQQDAwUDEM8SGggDBAEBAQEBAgEBAQQDAggGBhEKCRQLAQgOBg0SAwMECA0BAQECAgQLBwYMBQEECANNJisBDxACAwENGAsQFwkKAQEBAgEBAQEDAQYFBhEIEAsWCwwbDTwYNRoPHQ4gMg8PCAcGGBESLhwXLxgFCgUUKxYYLxcXKxIVIQwcDw0LPCoPIREnUCMBAwIBwEg/QF4bHBwbXkA/SEg/QF4bHBwbXkA/SFVKS28gISEgb0tKVVVKS28gISEgb0tKygcLBgsWCQgMBQICAgIEBAEDAgsdEhIoFhgxGDRPGQECAgMBAgECAwMJBQgUDBIrFxs2GgYMBgYLBhoBBBEoFwULBQQHBAIDAgcOBgcNBg0aDQoVCggOBQYHAgcPCBEoFRQxHiUBAgEBAwECCBELCRAHAwYDJiZnOCJEHgMFAgUPChAlFSICBQIHFAsLFQsVDAgPBggMBQoFBwICAi4IBAUCCQcOMyEjTSUcNBYZJg0KCAIDBgMKDQIBBQcHGRETLBk0ZC4uShYIDAQKCxMBAgAAAAoAZgAmA5oDWgAbADcARwBXAIkAmQCpANAA/QEXAAABNCcuAScmIyIHDgEHBhUUFx4BFxYzMjc+ATc2NxQHDgEHBiMiJy4BJyY1NDc+ATc2MzIXHgEXFiUzMhYdARQGKwEiJj0BNDYHIyIGHQEUFjsBMjY9ATQmFxUUBgcOASsBIgYHDgEHDgEHDgEdARQGBw4BKwEiJicuAT0BNDY3PgE7ATIWFx4BHQElMzIWHQEUBisBIiY9ATQ2JzQmKwEiBh0BFBY7ATI2NQEjIgYHDgEVFBYXHgE7ATI2Nz4BNz4BNz4BNTQmJy4BJy4BJy4BIyUOASMiJicuAScuAScuAT0BNDY3PgE3PgE3PgEzMhYXHgEXHgEXHgEdARQGBwMjIgYHDgEVFBYXHgE7ATI2Nz4BNTQmJy4BA1wcG15AP0hIP0BeGxwcG15AP0hIP0BeGxw+ISBvS0pVVUpLbyAhISBvS0pVVUpLbyAh/sgUCQ4OCRQJDg5K+AkNDQn4Cg0N5wMEAwgFRwIFAgIEAQICAQEBAwQDCAUSBQgEAwMDAwQIBYYECQMEBP7wIAkNDQkgCg0NMg0KFAkODgkUCg0BKw0GDAUEBQUEBQwGDQMGAwMFAwIEAQEBAQEBBAIDBQMDBgP+ywQMBwMGAwMGAgIEAQECAgEBBAICBgMDBgMDBwMDBQIDAwECAQUFew4HDAQFBQUFBAwHDgcMBQQFBQQFDAHASD9AXhscHBteQD9ISD9AXhscHBteQD9IVUpLbyAhISBvS0pVVUpLbyAhISBvS0qrDQr4CQ4OCfgKDXYNCRQKDQ0KFAkN6xQFCAMDBAEBAQICAQQCAgUCRgUIAwQDAwQDCAWIBQgDBAMDAwMIBAIXDQoUCQ4OCRQKDVkJDg4J+AoNDQoBcwUEBQwGBwwFBAUBAQIDAgMFAwMGBAMGAwMFAwIEAQEBLwUFAQIBAwMCBQMDBwMOBAYDAwUDAgQBAQEBAQEEAgMFAwMGBA4HDAT+/QUFBAwHBgwFBAUFBAUMBgcMBAUFAAAACQBmACYDmgNaADUAUQBqAHkAlwCnALcA0ADdAAABNCYnBgcOAQcGBy4BJy4BJz4BNz4BNx4BFyYnLgEnJiMiBw4BBwYVFBceARcWMzI3PgE3NjUzFAcOAQcGIyInLgEnJjU0Nz4BNzYzMhceARcWJTIWFx4BFw4BBw4BBy4BJy4BJz4BNz4BMxcuASMxIyIGBx4BFz4BNwU0JjUxPgE3PgE3HgEXHgEXDgEHDgEHJicuAScmJxceARceARc+ATcuAScOAQclDgEHHgEXPgE3PgE3LgEnAy4BJw4BBw4BBx4BFx4BFz4BNz4BNy4BJyceARcOAQcuASc+ATcDXBYTAQQEGRcWJiA/HQkSCQkQCENKEBUnExcgIEwsLDBIP0BeGxwcG15AP0hIP0BeGxw+ISBvS0pVVUpLbyAhISBvS0pVVUpLbyAh/mokRyMLFgsECQYXUT8/URcGCgMKFgskRyR5HjwfAR49HhM8Kys8Ev5YAQkRCQwbDRBLQwgQCQkSCR4+ISQWFhkFBQEtAQUFCSMfFCcTN0cUBQgFAfIURzcTJhQgIwkEBQIFCQRvIkEeHkEiChQKBw4IHEYqKUccCA4GChQJgRgyGhUyHR0zFRozGAHALFMlDh4fUzIzNhAlFQYOBwcPCEJ6JgUPCicfHywNDBwbXkA/SEg/QF4bHBwbXkA/SFVKS28gISEgb0tKVVVKS28gISEgb0tKmAYGAgQDCBULKmw2NmwqCxUIAwQCBgY1BQQEBSBQKSlQIBoHBwIFBwQFCgMmekIIDwcHDgYVJRA0MDFRHh8QCwseEyRcMwsXDTdpKAIEAggoaTcNFwszXCQTHgsCBAL+yxIrGBgrEgYKBQgSCCFBICBBIQgSCAUKBh4RIQ4YMBgYMBgOIREAAAMAZgAmA5oDWgAbADcAcAAAATQnLgEnJiMiBw4BBwYVFBceARcWMzI3PgE3NjcUBw4BBwYjIicuAScmNTQ3PgE3NjMyFx4BFxYlFhQHBiInJiIHBhQXFjI/ATI2MzYyFxYUBwYmJyY0NzYyFxYyNzY0Jy4BDwEiBgcGIicmNDc2MhcDXBwbXkA/SEg/QF4bHBwbXkA/SEg/QF4bHD4hIG9LSlVVSktvICEhIG9LSlVVSktvICH+SAkJChkJGEIXGBcYQRh6AQEBKXYqKSkqdioJCQkaCRhDFxgYF0IXegEBASp1KioqKXYqAcBIP0BeGxwcG15AP0hIP0BeGxwcG15AP0hVSktvICEhIG9LSlVVSktvICEhIG9LSgkJGQkJCRgYGEIYFxacAisrKXYqKgEpCRkKCQkYGBdDGBcBF5wCASkpKnYpKysAAAAABABmACYDmgNaABsALgBRAHgAAAEiBw4BBwYVFBceARcWMzI3PgE3NjU0Jy4BJyYTIiY1NDYzMhYVFAYHDgEHDgEjESIHDgEHBhUUFhcmJy4BJyY1NDc+ATc2MzIXHgEXFhcuASMFNDc+ATc2MzIXHgEXFhcmJy4BJyYjIgcOAQcGFRQWFyYnLgEnJjUCAFVKS28gISEgb0tKVVVKS28gISEgb0tKNjhOTzc3TwcGDR8SDR4QKSUlNxAQKyQqJCQ1Dw8TE0IsLDIsKCc/FhYIHFMx/h4bG10+Pkc9NzdYHx8NEx0cRikpK0E4OFQZGEQ5MCkoOhEQA1ohIG9LSlVVSktvICEhIG9LSlVVSktvICH9S044OE1OOA8eDhEfDQcGAU8QEDYlJSowUxwIFhY/KCcsMiwtQRMTDw81JCQpIis0Rz4+XRsbFBVHMTE5JR4eKwsMGBlUODlATIIpEiAgUzIyNgAEAGYAJgOaA1oAGwBWAHIAgQAAASIHDgEHBhUUFx4BFxYzMjc+ATc2NTQnLgEnJgcyFx4BFxYVFAYVIzU0JisBNTMyNjU0JisBNTQmIyIGHQEjIgYVFBY7ARUjIgYdASM0JjU0Nz4BNzYzASEiBiMuASczMjY3PgE9ATMVFBYXHgE7AQ4BBwcqASMhKgExLgEnIQ4BBwIAVUpLbyAhISBvS0pVVUpLbyAhISBvS0tURz8+XhsbAcQVD1N+DxUVD34UDw8VdA8VFQ90Sw4VvgEbG10/P0cBNP2eAgMCBgsEzggOBQcHngcFBQ8I1gQLBm0CAwL+fQEDEh8OAgsNIBEDWiEgb0tKVVVKS28gISEgb0tKVVVKS28gIUEbG14+P0cHDwd/DxRBFQ8PFQcPFBQPBxUPDxVBFA9/Bw4HRz8/XRsc/hABDBsNBwYEEAh5eQgOBAYIDhoMgQwcEREcDAAAAwBmAFMDmgMmACoAOQBIAAABIgYHDgEHFycBDgEVFBYXHgEXHgEzITI2Nz4BNz4BNTQmLwEBLgEnLgEjFTIWHQEUBiMiJj0BNDYzAzQ2MzEyFhUUBiMxIiY1AgAPHg4NFwgsLP7dBwkICAgWDg0eEAJGEB4NDhYICAgJBwH+3ggXDQ4eDxUeHhUVHh4VMx4VFh4eFhUeAyYHCAgVDRsa/hsOHhAPHw0OFwcICQkIBxcODR8PEB4OAQHlDRUICAfRHhWJFh4eFokVHv67FR4eFRYeHhYAAAAABABmAFMDmgMmACwAVABjAHIAAAE+ATMyFhceARcVAR4BFRQGBw4BBw4BKwEhIiYnLgEnLgE1NDY/AQEXJz4BNxcBDgEVFBYXHgEXHgEzITI2Nz4BNz4BNTQmJwEuAScuASMiBgcOAQcXMhYdARQGIyImPQE0NjMRIgYVFBYzMTI2NTQmIzEBxQ4eDw8eDg0XCAEjBwkICAgWDg0eEAH9uxAeDQ4WCAgICQcBASIsLAgXDSz+3gEBAQECAwICBAICRAIEAgIDAgEBAQH+3gIDAgIEAgIEAgIDAg8VHh4VFR4eFRUeHhUWHh4WAxcIBwcICBUNAf4bDh4QDx8NDhcHCAkJCAcXDg0fDxAeDgEB5BobDRUIYP4cAgQCAgUCAQQBAQEBAQEEAQIFAgIEAgHkAgMBAQICAQEDAmIeFYkWHh4WiRUe/u4eFRYeHhYVHgAAAwBmACYDmgNaABsAKQA3AAABIgcOAQcGFRQXHgEXFjMyNz4BNzY1NCcuAScmAzQ2MzEyFhUUBiMxIiYXMhYdARQGIyImPQE0NgIAVUpLbyAhISBvS0pVVUpLbyAhISBvS0qIHhUWHh4WFR4zFh8fFhYfHwNaISBvS0pVVUpLbyAhISBvS0pVVUpLbyAh/vQWHh4WFR4eRB8WjhcfHxeOFh8AAAACAGYAJwOZA1oADQA+AAABFAYrASImNTQ2OwEyFgMiBw4BBwYVFBceARcWFxYXHgEXFjMyNz4BNzY3Njc+ATc2NTQnLgEnJicmJy4BJyYCmR4VzBYeHhbMFR6ZVUtKbyAhCAgfFhYdHSIhSicoKSgoJ0oiIR0dFhYfCAgICB8WFh0dISJKJygBwBUeHhUVHh4BhSEgb0pLVSgoJ0oiIR0dFhYfCAgICB8WFh0dISJKJygoKSgnSiEiHR0WFh8ICAACAGYAJgOaA1oAMQBFAAATNDc+ATc2MzIXHgEXFhcWFx4BFxYVFAcOAQcGBwYHDgEHBiMiJy4BJyYnJicuAScmNSU+AScuAQ8BJyYGBwYWHwEWMj8BZiEgb0tKVSknKEohIh0cFxYfCAgICB8WFxwdIiFKKCcpKScoSiEiHRwXFh8ICAJZDQIMCyINxUsNIgsMAg1mDB8M4QHAVUpLbyAhCAgfFhccHSIhSignKSknKEohIh0cFxYfCAgICB8WFxwdIiFKKCcpLgwiDA0CDLREDAIMDSILXQsLzAAAAwBmACYDmgNaABsAKQA4AAABIgcOAQcGFRQXHgEXFjMyNz4BNzY1NCcuAScmBzIWHQEUBiMiJj0BNDYDNDYzMTIWFRQGIzEiJjUCAFVKS28gISEgb0tKVVVKS28gISEgb0tKVRYfHxYWHx8fHxYWICAWFh8DWiEgb0tKVVVKS28gISEgb0tKVVVKS28gIdYfF44WHx8Wjhcf/q4WHx8WFx8fFwAEAGYAJgOaA1oAGwA4AEYAVQAAASIHDgEHBhUUFx4BFxYzMjc+ATc2NTQnLgEnJgE0Nz4BNzYzMhceARcWFRQHDgEHBiMiJy4BJyY1JTIWHQEUBiMiJj0BNDYTIgYVFBYzMTI2NTQmIzECAD83N1IYGBgYUjc3Pz83N1IYGBgYUjc3/ichIG9LSlVVSktvICEhIG9LSlVVSktvICEBmhYfHxYWHx8WFh8fFhYgIBYC7xgYUjc3Pz83N1IYGBgYUjc3Pz83N1IYGP7RVUpLbyAhISBvS0pVVUpLbyAhISBvS0pVxB8XjhYfHxaOFx/+4x8WFx8fFxYfAAMAZgAmA5oDWgAbADgAWAAAASIHDgEHBhUUFx4BFxYzMjc+ATc2NTQnLgEnJgE0Nz4BNzYzMhceARcWFRQHDgEHBiMiJy4BJyY1IRQGKwEVFAYjIiY9ASMiJjU0NjsBNTQ2MzIWHQEzMhYCAD83N1IYGBgYUjc3Pz83N1IYGBgYUjc3/ichIG9LSlVVSktvICEhIG9LSlVVSktvICECZyAWYh8WFh9iFiAgFmIfFhYfYhYgAu8YGFI3Nz8/NzdSGBgYGFI3Nz8/NzdSGBj+0VVKS28gISEgb0tKVVVKS28gISEgb0tKVRYfYhYgIBZiHxYWH2IWICAWYh8AAAIAZgAmA5oDWgAbADwAAAEiBw4BBwYVFBceARcWMzI3PgE3NjU0Jy4BJyYTFAYrARUUBiMiJj0BIyImNTQ2OwE1NDYzMhYdATMyFhUCAFVKS28gISEgb0tKVVVKS28gISEgb0tKfh8WYh8WFiBhFx8fF2EgFhYfYhYfA1ohIG9LSlVVSktvICEhIG9LSlVVSktvICH+XxYfYhYfHxZiHxYWIGEXHx8XYSAWAAACAGYAJgOaA1oAGwA7AAABIgcOAQcGFRQXHgEXFjMyNz4BNzY1NCcuAScmExYUDwEXFhQHBiIvAQcGIicmND8BJyY0NzYyHwE3NjICAFVKS28gISEgb0tKVVVKS28gISEgb0tKQhAQRUUQEA8tD0VFECwQEBBFRRAQECwQRUUPLQNaISBvS0pVVUpLbyAhISBvS0pVVUpLbyAh/vAQLBBFRQ8tDxAQRUUQEA8tD0VFECwQEBBFRRAAAgBwADADmQNZADAAVQAAARYGBw4BFx4BFx4BFxY2Nz4BFx4BBw4BBw4BBw4BJy4BJy4BJyY2Nz4BNz4BNzYWFwcOAQcOAQcOARceARceARcWNjc+ATc+ATcOAScuAScuAScmNjcCDgcCCRgXAwMiHR1JKShOIQwfDg0PAgUrJCNfNzd0OjlmKSo4DQwHFBRFLi5tOg8cCI4PHQ4iNA4PBgoJKh8fTCorVykoRxoLEgcbOBw7bCoqMgQCBQcDPw4fDCFOKClJHR0iAwMXGAkCBwgcDzptLi5FFBQHDA04KilmOTp0NzdfIyQrBQIPDWkHEgsaRygpVysqTB8fKgkKBg8ONCIOHQ8HBQIEMioqbDscOBsABACaADADTwNaAB4AYwBvAHwAAAE+ATMyFhceARUUBgcOAQcOAQcuAScuAScuATU0NjcTMDY3BxYyNyceATEzOQE3MDY3PgE3PgE3PgE3Njc+ATc2NTQmJy4BIyIGBw4BFRQXHgEXFhceARceARceARceATMXOQEDNDYzMhYVFAYjIiY3IgYVFBYzMjY1NCYjAU8hVi4vViEhI0w1GjETAwUDAgUDEzIZNU0kIYYIFx8OIg4fGAcBAQIBAQUEBhILFTcdHB0dLg4PNTEwgEVFfzExNA4PLh0cHB03FgsSBgMFAgEBAQEJFxERGBgRERcoP1paP0BZWUACpSAkJCAhVi5DhDcbKxACBAICBAIQKxs3hEMuViH9iwskLwoKLyQLAQEBAQMDBA4IETEeHiQlVC8wMkV/MTA1NTAxf0UyMC9UJSQeHjERCA4EAwMBAQEBAdARFxcREBgYqVlAP1lZP0BZAAAEAGYANgOaAyYAKgAuADMAOAAAATEyFh8BNzYyFx4BFREUBg8BDgEjKgEjIiYvAQcGIicuATURNDY/AT4BMwE3EQcHJxEXESURNxEHAXsGCgT11AoYCgoMDAvoBAkFAgQDBAgD9dQKGAoKDAwL5wUMBgE2kZFYsrL+ZZGRAyYCA3p6BQYFFQv97AwVBoQDAwMCenoFBgYUDAIUCxUGhAMD/YdTAa9TAlr+TlkBsQL+UVMBr1MAAAAAAQB4AF4DmgMmACIAAAEOAQ8BJyYnJiIHBgcGBwYUFxYXARYyNwE+ATU0JicuASsBAqAsUh8DAyMsLFssLCMjERISESMBMg4oDgEyISUlISJXMAsDJgIkHwMDIxEREREjIywsWywsI/7ODg4BMiFYLzBXIiEkAAAAAgB4AF4DmgMmACIAPQAAAQ4BDwEnJicmIgcGBwYHBhQXFhcBFjI3AT4BNTQmJy4BKwEXMhYXHgEVBw4BBwkBJjQ3NjIfARYyPwE+ATMCoCxSHwMDIywsWywsIyMREhIRIwEyDigOATIhJSUhIlcwCwsdNRQUFgEBFhL+7/7vKioqdyokDigOJBQ1HAMmAiQfAwMjERERESMjLCxbLCwj/s4ODgEyIVgvMFciISRfFRUUNB0JGi8T/u8BESp3KSoqJA4OJBUVAAADAGYAlwOaAsAAEAAwADMAABM0NjMhMhYVERQGIyEiJjURBTU0JiMhIgYVERQWMyEyNj0BFx4BNz4BNRE0JicmBgcDJze+DQoBbQoNDQr+kwoNAfNBLv6TLkFBLgFtLkGjChkLCw0NCwsZChJycgJSCQ0NCf6zCQ0NCQFNUVEtQUEt/rMuQEAuUXUHAgYGFQwBTQwVBgUBCP7lUVEAAAAAAwBoACYDjgNaABEANgBtAAABLgErAhEzFjY3PgE3NS4BJwMRISIGBw4BBwM4ATEcARceARceARceATsBMhYdARQWFx4BFxMTMhYXHgEXHAEdARwBFQ4BBw4BKwEDDgEjIiYnLgE9ASMiJicuAScuAScuATcTMDQxPgE3PgEzAyMFDQYBMTIGDQUEBgICBgSp/pcFCAMEBAEyAQECAgIEAgMFA80UHAkJAwgEfZAYLRISFwQEFxISLRhChAUYDh86FhYYnA0aDAwVCAkMBAMCAjIDFREQKRYC8QUE/tIBBQQECgb2BQsD/rUBVAMDAwcF/roCBQMDBAICBAEBARwUkAwXCAQFAgEZAbQQEBAqGAIDAv0BBAEYKw8QEP7XDRAYFhY6H2EFBQYPCgoXDA0aDQFFARUmDg4PAAAAAAQAZgB4A5oDJgAmAE0AWgBnAAABIgYPASMiBgcOARURFBYXHgEzITI2Nz4BNRE0JicuASsBJy4BKwEHNzMXHgE7ATIWFx4BFREUBgcOASMhIiYnLgE1ETQ2Nz4BOwEyNjcXNDYzMhYVFAYjIiY1NyIGFRQWMzI2NTQmIwGcCxMGNm0WKQ8QEREQDykWAlYWKQ8QEREQDykWbTYGEwvIHjaYNgYTC4UFCAMDBAQDAwgF/aoFCAMDBAQDAwgFhQsTBik0JSU0NCUlNFlJaGhJSWhoSQMmCglQERAPKRb+kxYpDxARERAPKRYBbRYpDxARUAkKqFFRCQoEAwMIBf6TBQgDBAMDBAMIBQFtBQgDAwQKCdAlNDQlJTQ0JbFoSUloaElJaAAFAGYAeAOaAyYACwAXAEIAXQCCAAABNDYzMhYVFAYjIiY3IgYVFBYzMjY1NCYDIgYHDgEdARQWMzI2PQE0Njc+ATMhMhYXHgEdARQWMzI2PQE0JicuASMhBT4BFx4BFx4BHQEUBiMiJj0BNCYnLgEnLgE3AyYGBwYWFx4BFx4BFRQGBw4BBw4BFx4BNz4BNz4BNTQmJy4BJwFGMyQkMzMkJDNXSmhoSklpac4jQRkaGxsTExoODAwgEQEJESANDA0bExIbGxkZQiP+9wHFBCESHTESEhQbExMaCgkIGQ4SEwVNEyAFBBMSDhgJCQkJCQkYDhITBAUgExwyEhITExISMhwCdCQzMyQjMzPVaEpJaGhJSmj+cxsZGUEkQhMaGhNCEiAMDA0NDAwgEkITGhoTQiRBGRkbJhITBQcgGBc4HkITGhoTQg8bCwwQAwUhEgGuBBMSEiEEBBALDBsPDhwLCxAEBSASEhQFByEXGDgdHjgXGCAIAAAAAwCaACYDfQNaAAsAKABSAAABNDYzMhYVFAYjIiYTIgcOAQcGFRQXHgEXFjMyNz4BNzY1NCcuAScmIwMiBgcOAR0BFBYzMjY9ATQ2Nz4BMyEyFhceAR0BFBYzMjY9ATQmJy4BIwGdQC4uQUEuLkBuKyYnOBEQEBE4JyYrLCYmORARERA5JiYsoCpNHR0gHRQVHRAQECgWAUAWKQ8QER0UFR0gHh1NKgKILkFBLi5AQAEAERA5JicrKycmORARERA5JicrKycmORAR/h8fHh1NKlAVHR0VUBYpDxAQEBAPKRZQFR0dFVAqTR0eHwAFAG4AWQOVA1kAUQBeAHsAlgClAAABJgYHMQ4BBw4BDwEOARceARceATMyNjcXHgEfAh4BMzI2NzE2Ji8BLgEvATc+ARceAR8BMzIWMzI2Nz4BLwE+ATcxPgEnNS4BJy4BBycuAScBJz4BNxMuASMiBgcnNy4BBw4BBw4BBw4BFQcOARceATMyNjc+ATc+AScXJzoBFzIWFzIWFx4BFxYUBxQGFTEOAQcOAQcFJjY/AR8BBwYmJzEuAScCugsYCC9GISFLM2tLTBYKLyEWLhcJEgkJBRMMEgEGEAkJEAcNAQ4SBAcBCSg2UykqX0IBAQIFBAgRBgkGBDERJgwLBgcGGhQWLhIwAxIM/vIKTGpDcjhZKxw5IDDHCSIOChUJBQcDAQMCDgsIBRQLBAoEBCwYDgQJvQsBBAEEBwICAQEBAgEBAQECBAMCAwH9lAsoJ0QhFkUSJxESGAYDWQIHCTREGRgnFh8WikskPBMLDQICIBIeDREBBQcHBw0lDhEECwYfDAgGAwMUEgECBwcIGAuqBxoVEykWARUhCgsDAqoMEQP+piQjSkT+cA4MBASpWQ4GCwcOBQMEAQEBAQEHIA8KDAIDAhkRCiENRiYBAQICAQEDAwIEAQECAgIFAgEBAZ8oSQwTdE0UBQQKCSATAAAAAwBmACYDmgNaAA4AHQA5AAABPgEzMhceARcWFRQGBwEHAQ4BIyInLgEnJjU0Njc3IgcOAQcGFRQXHgEXFjMyNz4BNzY1NCcuAScmAUYnXzRBOTlWGBkgHf5JQwG3J180QTk5VhgZIB39VUpLbyAhISBvS0pVVUpLbyAhISBvS0oCvR0gGRhWOTlBNF8nAbdD/kkdIBkYVjk5QTRfJ+AhIG9LSlVVSktvICEhIG9LSlVVSktvICEAAAMAZgA3A4kDWgAjAEUAVAAAExQXHgEXFjMyNjcXFjI3NjQvAT4BNTQnLgEnJiMiBw4BBwYVIRQGBw4BBw4BBw4BIyInLgEnJjU0Nz4BNzYzMhceARcWFSUzMhYVFAYrASImNTQ2M2YeHWREQ009cC6FES8QERGGIiYdHWVDRExNQ0RkHR4CdSYhAgIBAQMBIlwzNi8uRhUUFBVGLi82NS8vRhQV/ojsFyEhF+wXISEXAedMRENlHR0mIYURERAvEIYucD1NQ0RkHR4eHWREQ00zXCIBAwEBAgIhJhUURi8vNTYvLkYVFBQVRi4vNjkhGBchIRcYIQAAAwBmADcDiQNaACMARQBmAAABMhceARcWFRQGBxcWFAcGIi8BDgEjIicuAScmNTQ3PgE3NjMTPgE1NCcuAScmIyIHDgEHBhUUFx4BFxYzMjY3PgE3PgE3AyIGHQEjIgYVFBY7ARUUFjMyNj0BMzI2NTQmKwE1NCYjAdlMRENlHR0mIoYRERAuEYYucD1NQ0RkHh0dHmREQ027ISYUFEYwLzU2Ly9GFRQUFUYvLzY0XCIBAgEBAwG7FyE+FyEhFz4hFxcgPxcgIBc/IBcDWh0eZERDTT1wLoYRLhAREYYiJh0dZUNETE1DRGQeHf3bIlw0Ni8vRhUUFBVGLy82NS8wRhQUJiEBAwEBAgEBYCEXPiEXFyA/FyAgFz8gFxchPhchAAAAAAIAZgBTA5oDJgAsAFQAAAE+ATMyFhceARcxAR4BFRQGBw4BBw4BBzEhLgEnLgEnLgE1NDY/AQEXJz4BNxcBDgEVFBYXHgEXHgEXIT4BNz4BNz4BNTQmJwEuAScuASMiBgcOAQcBxg0eDw8eDQ0WCAElBwkICAgVDg0eEP24EB4NDhUICAgJBwEBJCoqCBYNKf7dAQICAQEEAgIFAgJIAgUCAgQBAQICAf7dAgMCAwQDAwQDAgMCAxcIBwcIBxYN/hgNHhAPHg4NFggICAEBCAgIFg0OHg8QHg0BAecZGQ0WB13+GQIFAgMFAgIEAQEBAQEBAQEEAgIFAwIFAgHnAgQBAQEBAQEEAgAAAAAEAGYAJgOaA1oANgBGAFoAaAAAEzQ3PgE3NjMyFx4BFxYXPgEzMhYXJicuAScmIyIHDgEHBhUUFx4BFxYzMjY3NQ4BIyInLgEnJgUVMTU0NjMyFh0BFAYjIiYBNCYjIgYdARQWHwEWNjc2Ji8BNQE0NjMxMhYVFAYjMSIm0RgYUjc3Pzo0NFAaGgcKGxAQGwsGIyJuR0hQVUpLbyAhISBvS0pVR4E0KYRPPzc3UhgYAl4fFhYfHxYWH/78GxITGw4LkREjCQgMEHgBBB8WFiAgFhYfAcA/NzdSGBgVFUgwMTkICgoJT0VEZR4dISBvS0pVVUpLbyAhLimbPUoYGFI3N4JT4RYfHxaNFh8eAbMSGxsS2gwWBkgJDBERIwg8vv3WFh8fFhYfHwAAAAACAGYAJgOaA1oAGwA3AAAlIicuAScmNTQ3PgE3NjMyFx4BFxYVFAcOAQcGBzI3PgE3NjU0Jy4BJyYjIgcOAQcGFRQXHgEXFgIAQDg4UxgYGBhTODhAQDg4UxgYGBhTODhAVUpLbyAhISBvS0pVVUpLbyAhISBvS0qNGBhTODhAQDg4UxgYGBhTODhAQDg4UxgYZyEgb0tKVVVKS28gISEgb0tKVVVKS28gIQAAAQBmACYDmgNaADEAAAEiBw4BBwYVFBceARcWFxYXHgEXFjMyNz4BNzY3Njc+ATc2NTQnLgEnJicmJy4BJyYjAgBVSktvICEICB8WFxwdIiFKKCcpKScoSiEiHRwXFh8ICAgIHxYXHB0iIUooJykDWiEgb0tKVSknKEohIh0cFxYfCAgICB8WFxwdIiFKKCcpKScoSiEiHRwXFh8ICAAAAAQAZgCRA5oC8wAOAB0AKQBJAAATIgYVFBYzITI2NTQmIyEVIgYVFBYzITI2NTQmIyEHNDYzIQ4BByEiJjUlMhYdATMyFhUUBisBFRQGIyImPQEjIiY1NDY7ATU0NpUTHBwTAqkUGxsU/VcTHBwTAqkUGxsU/VcvHBMCFhckCv4vExwCuQ4UNw4UFA43FA4OFDcOFBQONxQC8xsUExsbExQbqhwTExwcExMc2RMcEjAcGxQWFA43FA4OEzgOExMOOBMODhQ3DhQAAgBmAH0DmgMeADYAcAAAAT4BFx4BFx4BFxYGBwYmJy4BJy4BJyYGBw4BBzAGMQczMhYVFAYrASImPQE0NjMyFh0BNz4BNxM0NjsBMhYXHgEdARQGIyImPQEHDgEHDgEnLgEnLgEnJjY3NhYXHgEXHgEXFjY3PgE3MDYxNyMiJjUBoCpYKitOICExDwcUFRYpCAohFhY1HR07HR0zFQEzORcgIBfBFyEhFxcgOB5LKsogF8EHDQYNESEXFyA4H0oqKlgqK04gITEPBxQVFikICiEWFjUdHTsdHTMVATA2FyADGQwDCgooHR1IKhUqBwgUFRwyExQbBwYBCQgeFQEtIBcXISEXwRcgIBc+MR8sDP50FyADAwcaEMEXISEXQTQfLAwMAwoJKB0dSSkWKQgIFBYcMRQUGwYHAggIHxUBLSAXAAAADQBmAIkDmgLzABAAIQAtADkARgBSAF4AawB4AIUAkgCfAK0AABMhMhYVERQGIyEiJjURNDYzFSIGFREUFjMhMjY1ETQmIyEXIgYVFBYzMjY1NCYzIgYVFBYzMjY1NCYzIgYVFBYzMjY1NCYjMyIGFRQWMzI2NTQmMyIGFRQWMzI2NTQmBSIGFRQWMzI2NTQmIzMiBhUUFjMyNjU0JiMzIgYVFBYzMjY1NCYjMyIGFRQWMzI2NTQmIzMiBhUUFjMyNjU0JiMFIgYVFBYzITI2NTQmI+cCMjVMTDX9zjVMTDURFxcRAjIRFxcR/c4oERcXEREXF2gRGBgREBgYaBEXFxERFxcReBAYGBARGBhoERcXEREXF/4NERcXEREXFxF5ERgYERAYGBB4ERcXEREXFxF4EBgYEBEYGBF5ERcXEREXFxH+gg4UFA4BGg4UFA4C80s1/pY1S0s1AWo1S1gYEP6WEBgYEAFqEBg8GBEQGBgQERgYERAYGBARGBgREBgYEBEYGBEQGBgQERgYERAYGBARGHkXEREXFxERFxcRERcXEREXFxERFxcRERcXEREXFxERFxcRERcXEREXphQPDhQUDg8UAAAABABmACYDmgNaACkAMgA8AEUAAAE0JiMiBh0BIyIGFRQWOwEVISIGFRQWMyEVIyIGFRQWOwEVFBYzMjY1ERMjFTMyNjU0JhchFSEyNjU0JiMBFTMyNjU0JiMCMx4VFR5nFR4eFWf+zRYeHhYBM2cVHh4VZx4VFR5nNDQVHh63/wABABYeHhb/AJoVHh4VAyYWHh4WZh4VFR5nHhUVHmceFRUeZhYeHhYCzP7NZh4VFR7NZh4VFR4BmmYeFRUeAAAAAwBmACcDmgNaACIAOgBIAAATIgYVERQWFwEeARceATMyNjc+ATcBJxc+ATU0JicBLgEjIQEUBgcBDgEjBiIjKgEnIiYnAREhAR4BFSUiBhUUFjMxMjY1NCYjoxkkCggBOQkWDAwaDQ0aDAwWCQEGKysSFRUS/scJFgz+lAJ+AgH++gECAQECAgECAgECAf7ZARcBKAEC/jgZIyMZGSMjGQNaJBn+lAwWCf7ICg4FBQUFBQUOCgEFKysTMRoaMRMBOQgK/lcDBAL++wECAQECAQEnARf+2QIFAvIjGRkjIxkZIwAAAwBmACYDmgNaABsANwBCAAABNCcuAScmIyIHDgEHBhUUFx4BFxYzMjc+ATc2JxQHDgEHBiMiJy4BJyY1NDc+ATc2MzIXHgEXFgM+ATU0JicuASMRA5ohIG9LSlVVSktvICEhIG9LSlVVSktvICFnGBhTODhAQDg4UxgYGBhTODhAQDg4UxgYaiguLigoZzoBwFVKS28gISEgb0tKVVVKS28gISEgb0tKVUA4OFMYGBgYUzg4QEA4OFMYGBgYUzg4/vcoZzo6aiUlMf7hAAAAAAMAZgDAA5oCwAANABwAKgAAATQ2MyEyFhUUBiMhIiYHNDYzITIWFRQGIyEiJjUFIgYVFBYzITI2NTQmIwEzHhUBmhUeHhX+ZhUezR4WAgAVHh4V/gAWHgEAFR4eFQIAFh4eFgKNFR4eFRUeHrgVHh4VFR4eFZoeFRUeHhUVHgAAAwBmACYDmgNaABsANwBIAAABNCcuAScmIyIHDgEHBhUUFx4BFxYzMjc+ATc2NxQHDgEHBiMiJy4BJyY1NDc+ATc2MzIXHgEXFiUzMhYdARQGKwEiJj0BNDYzAzMYGFM4OEBAODhTGBgYGFM4OEBAODhTGBhnISBvS0pVVUpLbyAhISBvS0pVVUpLbyAh/gDMFh4eFswWHh4WAcBAODhTGBgYGFM4OEBAODhTGBgYGFM4OEBVSktvICEhIG9LSlVVSktvICEhIG9LSkUeFswWHh4WzBYeAAAAAwBmACYDmgNaABwAKwA6AAATFBceARcWMzI3PgE3NjU0Jy4BJyYjIgcOAQcGFRcuATU0Nz4BNzYzMhYXARcBHgEVFAcOAQcGIyImJ2YhIG9LSlVVS0pwICAgIHBKS1VVSktvICGkGBsXGFA3Nj0vVCT+Y1ABnBkbGBdRNjY+LlUjAcBVSktvICEhIG9LSlVVS0pwICAgIHBKS1WmI1UuPjY2URcYGxj+Y1ABnSRULz02N1AYFxsYAAIAoQAmA34DWgANAEoAAAE0JiMiBhURFBYzMjY1JzY0JyYiBw4BBwYWFx4BFx4BMzI2Nz4BNz4BJy4BJyYiBwYUFx4BFxYGBw4BBw4BIyImJy4BJy4BNz4BNwJFHxYWICAWFh/yDw8QLBAnNAsLCxUVRy4uajg3ai4uRxUVCwsLNCcQLBAPDxwmCAcIDw8yISFMJyhMISEyDw8ICAcmHAMkFiAgFv6cFh8fFpkQLBAPDyhhNzZvMzNWHx4hIR4fVjMzbzY3YSgPDxAsEBxGJyZPJSQ+FhYXFxYWPSUlTyYnRhwAAAIA3wBHA3kC4QANABwAAAEmIgcBBhQXFjI3ATY0AyYiDwEGFBcWMj8BNjQnA3kSMhH9uxISETISAkUSEhIyEfgSEhIyEfgSEgLhEhL9uxEyEhISAkUSMv7EEhL4ETISEhL4ETISAAAAAQB6ADoDhgNGACAAAAE2NCcmIgcJASYiBwYUFwkBBhQXFjI3CQEWMjc2NCcJAQOGFBQUORT+2/7bFDkUFBQBJf7bFBQUORQBJQElFDkUFBT+2wElAuUUORQUFP7bASUUFBQ5FP7b/tsUORQUFAEl/tsUFBQ5FAElASUAAAMAZgAmA5oDWgAvAE4AUgAAEzMVFBYzITI2NTQmIyE1IRcRFAYHDgErARE0JiMhIgYVESMiJicuATURNDY3PgEzNyMiBgcOARURFBYXHgEzITI2Nz4BNRE0Ji8BLgEjIRMhFSHrGh8WAT0WHx8W/vgBGqcEBAQJBhofFv50Fh8aBgkEBAQEBAQJBk9PGzATEhUVEhMwGwIqGzATEhUICMYIEwr+mzUBIv7eAvCRFh8fFhUfXaf+YgYJBAQEAQgWHx8W/vgEBAQJBgIqBgkEBARqFRITMBv91hswExIVFRITMBsBtAoTCMYICP4K1AAAAAYBAAAmAwADWgAMABgAJQAxAD0ASQAAJRQGIyImNTQ2MzIWFQMiBhUUFjMyNjU0JgMiBhUUFjMyNjU0JiMFMjY1NCYjIgYVFBYXIgYVFBYzMjY1NCYDIgYVFBYzMjY1NCYBzTwrKjw8Kis8Zyo8PCorPDwrKjw8Kis8PCsBNCo8PCorPDwrKzw8Kyo8PCorPDwrKjw8jSo9PSoqPDwqAZk8Kio8PCoqPAE0PSoqPDwqKj3NPCoqPT0qKjxnPCoqPDwqKjz+zTwqKj09Kio8AAABAJoAWgNmAyYAHwAAARQGIyERFAYjIiY1ESEiJjU0NjMhETQ2MzIWFREhMhYDZh4V/wAeFRUe/wAVHh4VAQAeFRUeAQAVHgHAFR7/ABUeHhUBAB4VFR4BABUeHhX/AB4AAAAAAQCdAYgDYwH4AA4AABM0NjMhMhYVFAYjISImNZ0hFwJWFyEhF/2qFyEBwBchIRcXISEXAAMAZgAmA5oDWgAeADsAZAAAEzMyFhUUBisBFhceARcWFzU0NjMyFh0BPgE3AQ4BBwEXFjI3NjQnASYiBwYUHwEOARUUFx4BFxYzMjY3Nyc+ATcjJz4BOwEmJy4BJyYnFRQGByc1DgEHJz4BMzIXHgEXFhUUBgfJXhMcHBNeCBcXRS0tMhwUFBwjQRz+TxUbBgIqQA8pDw8P/UIOKg8PD0YoLSEgb0tKVUR8M39IBAcCREUGFw5eCBcXRS0tMg8MRQ4bDUkoWC9VSktvICEVEwHwHBQUHDItLUUXFwheExwcE14FGhMBuh1EJP6GQQ8PECoPAs0PDxAqD0g0f0dVSktvICErJZtJDRsORQwPMi0tRRcXCF4OFwZFRAIHBEgTFSEgb0tKVS9YKAAAAAIBAACOAwAC8gBPAJ8AAAE0Njc+ATc+AT0BNDY3PgE3PgE3NhYdARQGBw4BBw4BHQEUBgcOAQcVHgEXHgEdARQWFx4BFx4BHQEUBicuAScuAScuAT0BNCYnLgEnLgE1ITQ2Nz4BNz4BPQE0Njc+ATc+ATc2Fh0BFAYHDgEHDgEdARQGBw4BBxUeARceAR0BFBYXHgEXHgEdARQGJy4BJy4BJy4BPQE0JicuAScuATUBAB4TBAUDCwsICAkaEwscEBQcGBEFCAQDAwoJCh4WFh8JCgkEAwQJBg8XHBQQHAsTGwgICAsMAgYDEx4BAB4TBAUDCwsICAkaEwscEBQcGBEFCAQDAwoJCh4WFh8JCgkEAwQJBg8XHBQQHAsTGwgICAsMAgYDEx4BwBUeCAEDAggVDVYXIwwLEQYDBAIBHBQFERcFAgUEBAoGWxMeCgoNAwQEDQoKHBJdBgsDBAUCBRYQCBMcAQIEBAURDAskF1QNFQgCAwEJHhUVHggBAwIIFQ1WFyMMCxEGAwQCARwUBREXBQIFBAQKBlsTHgoKDQMEBA0KChwSXQYLAwQFAgUWEAgTHAECBAQFEQwLJBdUDRUIAgMBCR4VAAYAZgAmA5oDWgAQACEAMgBDAFEAXwAAEzQ2MyEyFh0BFAYjISImPQE3IgYdARQWMyEyNj0BNCYjIQM0NjMhMhYdARQGIyEiJj0BNyIGHQEUFjMhMjY9ATQmIyE3NDYzMTIWFRQGIzEiJhMiBhUUFjMxMjY1NCYjzQwIAj4IDAwI/cIIDBQzSEgzAj4zSEgz/cIUDAgCPggMDAj9wggMFDNISDMCPjNISDP9whUeFRUeHhUVHjMVHh4VFR4eFQLfCAwMCJAIDAwIkHtIM5AySEgykDNI/dcIDAwIkAgMDAiQekgykDNISDOQMkjsFR4eFRUeHv6aHhUVHh4VFR4AAAAEAGYAJgOaA1oAEAAhAF0AkwAAEzQ2MyEyFhURFAYjISImNRE3IgYVERQWMyEyNjURNCYjIRMuATUXHgEzMjY/AT4BNTQmLwEyFhceARceARcWBgcGFh8BHgEVFAYHDgEjIiYvAS4BBw4BJy4BJy4BJycOARceARceARcWNjcXHgEzMjY3PgE1NCYvAT4BJy4BJy4BJyYGBw4BBwYWHwEHJy4BBw4BB88QCwIsCxAQC/3UCxAbNk5ONgIsNk5ONv3UXgEBNgcUCgoTBycHCAgHNgYLBhEfDQwQAwMEBwQDB6QDBAQDAwgEBQgDpAcRCBAjEREfDA0QAywKBwUFGBITLhoVKRSYCx0QDx4LCwwMC5gGAwQEGRITLhoZNBgGCQECBQVWH1YFDgcHCwMC1gsQEAv91AsQEAsCLIRONv3UNk5ONgIsNk7+sQUMBjYHCAgHJggTCgoTCDYBAQMRDAwfEREjEAgRB6QDCAUECAMDBAQDpAcDBAcEAwMQDA0fEVsYNBoZLxITGAUDAgeYCwwMCwsdEBAdC5gTKhUaLhMSGAUFBwoDCwcHDgVWH1YFBAEBCQYABABmACYDmgNaABAAIQCAAJQAABM0NjMhMhYVERQGIyEiJjURNyIGFREUFjMhMjY1ETQmIyETLgE1Fx4BMzI2PwE+ATU0Ji8BMhYXHgEXHgEXFgYHBhYfAT4BNyc+AScuAScuAScmBgcOAQcGFh8BBycuAQcOAQcOARceARceARcWNjcXPgE3Jy4BBw4BJy4BJy4BJwUWFA8BBiIvASY0NzYyHwE3NjIXzxALAiwLEBAL/dQLEBs2Tk42Aiw2Tk42/dReAQE2BxQKChMHJwcICAc2BgsGER8NDBADAwQHBAMHBQoaDgIGAwQEGRITLhoZNBgGCQECBQVWH1YFDgcHCwMKBwUFGBITLhoVKRQOAwoIBwcRCBAjEREfDA0QAwGxBwhpCBUHMAgHCBUIHlgHFQgC1gsQEAv91AsQEAsCLIRONv3UNk5ONgIsNk7+sQUMBjYHCAgHJggTCgoTCDYBAQMRDAwfEREjEAgRBwUKEAUCEyoVGi4TEhgFBQcKAwsHBw4FVh9WBQQBAQkGGDQaGS8SExgFAwIHDhAeDQgHAwQHBAMDEAwNHxFoBxYHZggILggVBwgHHVUHCAAABABmACYDmgNaABAAIQB5AIYAABM0NjMhMhYVERQGIyEiJjURNyIGFREUFjMhMjY1ETQmIyEBBhQVFxYUDwEOAS8BDgEPARQGKwEiJjUnLgEnBwYmLwEmND8BLgE1NDY3NDY1Jy4BPwE+AR8BPgE3PgE/ATQ2OwEyFgcXHgEXNzYWHwEWBg8BFhQVFAYVJRQWMzI2NTQmIyIGFckSDQIwDRISDf3QDRIfNkxMNgIwNkxMNv3QAdkBPAQCNAIKBEEKFwsLCQRoBgcLDBYKQQYIAjQCBDcCAQEBATcEAwI0BAkGPgMEAwgRCgoJBGkDCQIKDBcKQQYIAjQCAQQ2AgH+4jYlJjY2JiU2AtgNEhIN/dANEhINAjCCTDb90DZMTDYCMDZM/lIDBgIqAgoEWwQDAhoIDAZEBAcHBEQGDAgaAgICXAQHBC0GDAgEBwQDBQMqBAkCXAQDAhoCAwEGCwNHAwcHBkQGDAgaAgMCWwQIBCwGDAgECAMPJTc3JSU2NiUABABmABsDmQNaAI8A2ADlAPIAAAE+ATsBMhYXHgEXHgEdARQWFRceARc3MzYWHwMeAQcOAQ8CHAEVHAExFAYVFx4BFxYGBxUHDgEHBiIvAQ4BDwEOAQcOASsBIiYvAS4BJwcjBiYvAy4BNz4BPwImNDU8ATU0NjUvAS4BJy4BNT4BPwI+ATc2FhczFz4BPwEwNDE1NjQ1PgE3PgE3Fw8BDgEHDgEPAScHFxUUBhUwBjEUBhUUFhUXBxc3Fx4BHwIzPwE+AT8BFzcnNTQ2NzQwNTY0NTwBLwE3JwcnLgEvAjA0MSMXIgYVFBYzMjY1NCYjBzQ2MzIWFRQGIyImNQGVBg8KlAYKBRcQAQEBAQgGDgZHARYkDAROAQMFAQIKCAE7AT0ODAEBBARLBhQJChgMRAcNBwsBEgYGFQ2UFSkCCwcNB0cBFiQMBE4BAwUCAQsHAjsBATsCBwkDAgIBAwVMBQQPCgwWCgFEBg0HCgEBBQYFDAU2DxsIEAsECAUVWzFOAgEBAQtUMGEVChsSFQ9lDxURGwsVXzFSAQEBAQpTMGAWChsRFg9hMyIyMiIhMjIhsGhISGhoSEhoA1IDBQMBCSIJBQkCAQMDATMEBwQcCAsMBIgBBxMMDBMHAjAECAMBAQQIAyoJGgkLEwkBggwOAwQFHAUHBEYRFgQFCR4bRgQHBR0HCgwEiQEGFAsMEwcCMAQIAwEBAQQIBC0CBxAIBAsHBQ8IhAUECwQEAQQcBAgERAECAQMCBA4IBgoDVWgJAgoIAgYDDiZVOxcHDAQBBQYCDQgCHkRUJxEIDwkKYGAKCQ8IESZVORkGDQMBAQQGAwwIAh9DVCcRCQ4JC2IB8TIhIjIyIiEyU0hoaEhIaGhIAAAAAgCeACoDgANWAB4AMQAAAR4BDwEhMhYXFgYHAQ4BJy4BPwEhIiYnJjY3AT4BFwEzMhYXHgEPATcjIiYnLgE/AQcCRw8QAh0BDA8YBgYDCv6YCiAQDxACHf70DhkGBgQJAWgLIA/+7toLEwcHBwIPudsKFAcHBgEPuANWBx0Q6BANDR0L/lAMCAYHHRDoEA0NHQsBsAwIBv5TCAgIFQp53ggICBUKed4AAgDfAGsDFwMqAAQAFAAAAQMbAQMnNjIXExYUBwMGIicDJjQ3Afu9vby8WiBzIMMSEsMgcyDCEhIC5f7l/uYBGgEbRTAw/twbQRv+3DAwASQbQRsABABmACYDmgNaAAkAEQAYACgAABMhMhYdASE1NDYXESMiJjURMxMRIREUBiMBERQWMyEyNjURNCYjISIG6AIwDRL9khJ7bg0SjWMBfhIN/U5MNgIwNkxMNv3QNkwC9xINbm4NEvD+ghINAV/+ggF+/qENEgJP/dA2TEw2AjA2TEwAAAAAAwCaACYDggNaADwARwBTAAABMhYfAR4BFx4BFx4BFx4BFREUBgcOAQ8BDgEHDgEjIiYnLgEvAS4BJy4BNRE0Njc+ATc+ATc+AT8BPgEzEzc+ATc+AT0BBxEDNycuASMiBgcVBxcCDhAfDfwLEggCAwIBAgEGBggICBcN/AkTCwUKBgYLBAsTCvsOFggICAYGAQIBAQQCBxML+w4fEDHVAwQBAgHgMd7TAgYDAwYC094DWgkIjwYRCgMEAwIFAgwbDv7hEB8ODRcIjwYHAgIDAwICBwaPCBcNDh8QAR8OGwwCBQIDBAILEQaPCAn9S3oBBAMCBgP0gf8AAVWBeQECAgEBeIEAAAAABABmACYDmgNaABwASABjAHUAABMhMhYXHgEXISIGBw4BFREuAScuATURNDY3PgEzBR4BFx4BFx4BFREUBiMhIiYnLgEnLgEnLgEnLgE1ETQ2Nz4BMyEyFhceARcHISIGBw4BFREUFhceARcRNDYzIS4BJy4BKwEXISIGFREUFjMhMjY1ETQmKwHfAVsHDAUEBAH++BgtERESBQoEBQUFBQUMBwHTFyoQEBIBMERHMv6lMUUCFyoQEBIBFykQERMTEREsGAFbGCwREBIBK/7MBw0EBQUFBQQJBkYyAQkBBQQEDQcmdP7LDhQUDgFbDhQUDiYDAwUFBAoFEhERLRj++AEEBAUMBwFbBwwFBQUdARIQECoXAkUx/qUyR0QwARIQECoXARIQESwYAVsYLBERExMRECkXVwUFBA0H/qYHDQQEBQEBCTJGBgkEBQVzFA7+pQ4UFA4BWw4UAAAAAgBoACoDhwNaAE4AWwAAATQ2NTQmJzc+AS8BLgEPAS4BLwE2JisBIgYVBw4BBycmBg8BBhYfARQGFRQWFwcOAR8BHgE/AR4BHwEUFjsBMjY1Nz4BNxcWNj8BNiYvAQUiJjU0NjMyFhUUBiMDJAUCA1YHAQNSAw0JZhAkEhADDgakBg4QEyESYgoNBlIDBQZWBAEDVgYBA1IDDApmDyQTEAsJpAYPEBMjEGYGEANSAwEGX/7ROlVVOjtVVTsBlwkUDAwUCUYGDAaQAwQDKQwTCmoJDAsGbgcWDCkDBQePAw8HQQkUDAwUCUYGDAaQAwQDKQwTCmoGCwsGagoTDCkDBQePBg8EQWZVOjpVVTo6VQACAGYAJgOaA1oAHQBPAAABNTQmIyIGHQEjETM+ATMyFhczNTMyNjU0JisBNSMTIgYjOAExIzQmIyIGFSMwIjEiJiMuATURNDY7ATQ2MzIWFTMyFh0BMhYVFAYjFRQGBwHiGRESGMEKHXlLS3geCmYSGBgSZsHNAwYDW1Q8PFVaAQMFAyY1PCtaVTw8VFsqPDxVVTw0JgJjZhIYGBJm/ipAUFBAwRgSERnB/cQBPFVVPAEFOSgB1io8PFVVPDwqW1Q8PFVaKDkFAAMAmgAmA0kDWgAdACsANAAAEyIGFREUFjMhMjc+ATc2NTQmJz4BNTQnLgEnJiMhEyEwMjEzMhYVFAYjITUlITUhMhYVFAbSFyEhFwGOMCorPxITOy8cIRISQCoqMf6fOAEpASwxR0cx/qoBKv7WASkyR0cDWiEY/T0XIRITPyorMD5mIB9RLjAqKz8SE/4uRzIyRvFw8UcxMkcAAAIAZgAmA5oDWgAyAEMAAAEHJTIWFx4BFREzMhYVFAYrARUUBiMiJj0BISImJy4BNTkBEwciJic0NjM/ATQ2Mx4BFQcDFBYXHgEzIRE0JicuASMFAXkBAQkYLBAREmsXICAXayAWFyD+9BgsEBESAmwXIAEgF24BIBcXHwICAgEBBAIBDAIBAQQC/vYDImwCEhEQLBj+9CAXFiBrFyAgF2sSERAsGAEJAR8XFyABbhcgASAX2f72AgQBAQIBDAIEAQECAgACAGYAJgONA0oAGwBGAAABIiY1EQcGIicmND8BNjIfARYUBwYiLwERFAYjJTQmIyIGHQEUFhceATMhMjY3PgE9ATQmIyIGHQEUBgcOASMhIiYnLgE9AQH5FR9qDysPEBDDDysPwxAQDysPah8W/tUeFhUfFBITMBkCIxkwExIUHxUWHgQEBAkF/d0FCQQEBAEQHBQBaGoPDw8rD8MQEMMPKw8PD2r+mBQcNBYeHhacGTATEhQUEhMwGZwWHh4WnAUJBAQEBAQECQWcAAAFAGYAWgOaAyYAEAAZACEAJgAqAAATIgYVERQWMyEyNjURNCYjIRU0NjMRIiY1EQEUBiMRMhYVJREjETM7AREjzSs8PCsCZis8PCv9mh4VFR4CZh4VFR7+mmdnZmdnAyY8Kv4AKjw8KgIAKjyZFR7+AB4VAZr+ZhUeAgAeFTP+AAIA/gAAAAAAAwBmAGADlALzABQAMgBTAAA3LgE1ETQ2Nz4BMyEHBhQfASEiJicnFBYXHgEzITI2NzYmLwE3PgEnLgEjISIGBw4BFREBFhQPARcWFAcGIi8BBwYiJyY0PwEnJjQ3NjIfATc2MhfSBAUFBAULBgIgkAkJkP3gBgsFbBQSEy8aAoAOGAYGAgizswgCBgYYDv2AGi8TEhQByxAQRUUQEBAsEEVFDy0PEBBFRRAQDy0PRUUQLBDMBAwGAZAGCwQFBMoNHw3KBQQWGjASEhQPDAwcC/z7CxwMDQ4UEhIwGf5wAVkQLBBFRRAsEA8PRUUPDxAsEEVFECwQDw9FRQ8PAAAAAAMAZgA0A5oDJgA4AEgAWQAAATIWFx4BFz4BNz4BOwEyFhURFAYjISIGBw4BBxUUBiMqASMqASMiJj0BLgEnLgEjISImNRE0NjsBFy4BJy4BKwERMzIWFxE0NhM+ATsBESMiBgcOAQceARURAXAmRhsCBQICBQIbRibgERkZEf77DhoKAwUCGREBAwEBAwERGQIFAwoaDv77ERkZEeBlBA0IDygVttsQHg4CXA4eENu2FSgPCA0EAgIDJh0bAgUCAgUCGx0YEv3SEhgLCgMHAyQSGBgSJAMHAwoLGBICLhIYmgsUCA8R/iQGBgF8ChL+aAYGAdwRDwgUCwkSCv6EAAABAGYARQOaAyYAQAAAATMyNj0BNCYrASIGHQEjNTQmKwEiBh0BFBY7ATI2PQEzERQWOwEVFBY7ATI2PQE0JisBIgYdASMiJjURMxUUFjMCzXsiMDEheyIw9TEhfCExMSF7IjBSSDMpMCJ7IjAxIXsiMCkRGFIwIgHfMCKjIy8wIigoIy8wIqMiMDAiKf7gMkgpIjAwIqQiMDAiKRgQASApIjAAAAEAzQAmAzMDWgBWAAABIgYdASMiBh0BIzU0JisBIgYdARQWOwEyNj0BMxUUFjsBFRQWOwEyNj0BNCYrASIGHQEjNTMVFBY7ATI2PQE0JisBIgYdASM1MxUUFjsBMjY9ATQmKwECsyAtUhgjPy0gMyAtLSAzIC0/IxhSLSAzIC0tIDMgLVJSLSAzIC0tIDMgLVJSLSAzIC0tIDMDWi0gGCMZ2xAgLS0gXCAtLSAQ2xkjGCAtLSBcIC0tIAjbECAtLSBcIC0tIBDbCCAtLSBcIC0AAAAABABmAGADlALzABQAMgBAAE4AADcuATURNDY3PgEzIQcGFB8BISImJycUFhceATMhMjY3NiYvATc+AScuASMhIgYHDgEVEQEyFh0BFAYjIiY9ATQ2AzQ2OwEyFhUUBisBIibSBAUFBAULBgIgkAkJkP3gBgsFbBQSEy8aAoAOGAYGAgizswgCBgYYDv2AGi8TEhQBTxcfHxcWHx8fHxYBFh8fFgEWH8wEDAYBkAYLBAUEyg0fDcoFBBYaMBISFA8MDBwL/PsLHAwNDhQSEjAZ/nABkR8WjxYfHxaPFh/+rhYfHxYWICAAAAQAZgBEA5oDWgAIABEAIgAzAAATNDYzITIWFSEHITQmIyEiBhUXIgYVERQWMyEyNjURNCYjIQc0NjMhMhYVERQGIyEiJjUR/hsTAagTG/38PQJ+GxP93hMbCgQGBgQCagQGBgT9lmU7KgJqKjs7Kv2WKjsDJRYfHxZpFh4eFpIGBP6JBAYGBAF3BAYKKjs7Kv6JKjs7KgF3AAAAAAUAZgAmA5oDWgAEABQAagBuAHIAABMhESERARE0JiMhIgYVERQWMyEyNgEzNSMiJjU0NjsBNTQ2MzIWHQEzNTQ2MzIWHQEzMhYVFAYrARUzMhYVFAYrARUzMhYVFAYrARUUBiMiJj0BIxUUBiMiJj0BIyImNTQ2OwE1IyImNTQ2BTUjFRMjFTPNAmb9mgLNQCf9midAQCcCZidA/YCAgAsPDwuADwoLD2YPCwoPgAsPDwuAgAsPDwuAgAsPDwuADwoLD2YPCwoPgAsPDwuAgAsPDwEkZmZmZgLA/c0CM/3NAmYnQEAn/ZonQEABWmYPCwsPGQsPDwsZGQsPDwsZDwsLD2YPCwoPZw8KCw8ZCw8PCxkZCw8PCxkPCwoPZw8KCw+aZ2cBAGYAAgBmADUDiwNLAE4AbgAAEyYiBwYUHwEOAQ8BDgEVHgEXHgEzMjY/AjY0JyYiDwEOASMiJicuATU0Nj8BPgE3PgEzFy4BJy4BBw4BFx4BFx4BFxY2NxcWMjc2NCcBAQcnNz4BNS4BJy4BIyIGDwEnNz4BMzIWFx4BFRYGDwHNDykPDw+7EiANYRwfASAdHUwpKkweATYPDw8pDzYQJxYVKA8PERAPXwgUCwkSCU0KEgYNKRERBg0NIhQUKxcRIxH4DioPDw/9QgI9L0gvDxABEA8PKBUWJxAxSDMdTSkqTB0dIAEfHAEDSw8PECoPvwgWDmMeTiorTR4eIR8dATgPKg8PDzcPEBEQDykVFikPYggNBAQDTgYPCREGDA0qERMeCwsNAgEDBf0PDxAqDwLN/oAvSDAPKRYVKQ8QERAPMkkzHR8hHh5NKypOHgEAAAAAAwBmAFoDmgMmACEAQwBfAAATPgE7ARceATMhMhYXHgEVERQGBw4BIyEiJicuATURNDY3NyIGBw4BFREUFhceATMhMjY3PgE1ETQmJy4BIyEnLgErAQE2Mh8BFhQPAQYiJyY0PwEjIiY1NDY7AScmNDfNAwkFnDoHFQwBRgUJAwQEBAQDCQX9vAUJAwQEBAQRGCwQERMTERAsGAJEGCwQERMTERAsGP7TOgcVDLUBCQwjDWoNDWoNIwwNDSFuEhgYEm4hDQ0CwAQDVwoLBAQDCQX+kAUKAwQDAwQDCgUB3AUKA2YSEREsGP4kGCwRERISEREsGAFwGCwRERJXCgv+6wwMawwjDWoNDQwjDSIZERIZIgwjDQAAAAMAZgAmA5oDWgAbACwAPQAAEz4BMyEyFhceARURFAYHDgEjISImJy4BNRE0NgEzMjY3PgE1ETQmJy4BKwERAyMiBgcOARURFBYXHgE7ARGMEy8aAjAaLxMSFBQSEy8a/dAaLxMSFBQBuOYGCwUEBQUEBQsG5mTmBgsFBAUFBAULBuYDNBIUFBITLxr90BovExIUFBITLxoCMBov/WgFBAULBgIwBgsFBAX9kgJuBQQFCwb90AYLBQQFAm4ACACaACYDPQNaAB0AOQA8AFUAcACGAJsA0QAAEz4BOwEyFh8BHgEVERQGBw4BIyEiJicuATURNDY3FyIGBw4BFREUFhceATMhMjY3PgE1ESMiJj0BIwUXIwMiJicuATU0Njc+ATMyFhceARUUBgcOASM1MjY3PgE3PgE1NCYnLgEjIgYHDgEVFBYXHgEnMhYXHgEXHgEVFAYHDgEHDgErATUzFTI2Nz4BNz4BNTQmJy4BJy4BKwEVBR4BMzI2NzUOASMiJicuAScuATU0JjU0Njc+ATc+ATMyFhc3LgEjIgYHDgEHDgEVFBYXHgEXvREtGPwKEgf8BwgTEREtGP5QGC0RERISEVYECQMDAwMDAwkEAbAFCAMDBMwSGdABJ2FhSBQcCQgJCQgJHBQUHAgJCQkICRwUBQgCAwUBAQECAwMLBwcLAwMDAwIDC6QQGQgIDAMEAwIDAwsJCBoRODgHCwMEBAEBAQEBAQUDBAoHCgEtCBUOCxoNDBUJBwkDAwQBAQIBAgEBBQQECgcHFAwBDxsNDBMHBwoEAwMDAwILBwM2ERMIB/wHEgr+dBgtERETExERLRgCQBgtET8EAwMIBf3ABQgDAwQEAwMIBQFfGhHNP2L+ZwoLCyEXGCILCgsLCgsiFxchCwsLJwMCAwcGBQ4KDRMGBgYGBgYTDgwSBgcGiAMDAwwJCBwSERoJCQ0FBQSshAIDAwkFBRAJCAwEBQYCAQJcIgUEAwMlAgEBAgEGBAUNCgIHBAgNBQQHAgICAQIkBAMDBAQNCgocEhAZCgkOBQAIAJoAJgM9A1oAHQA5ADwATgBbAG0AeQCBAAATPgE7ATIWHwEeARURFAYHDgEjISImJy4BNRE0NjcXIgYHDgEVERQWFx4BMyEyNjc+ATURIyImPQEjBRcjBTMyFhceARUUBgcOASsBFSM1FzI2NTQmJy4BKwEVMzczMhYXHgEVFAYHDgErARUjNRcyNjU0JicuASsBFTczFTM1MzUjvREtGPwKEgf8BwgTEREtGP5QGC0RERISEVYECQMDAwMDAwkEAbAFCAMDBMwSGdABJ2Fh/uhAEBgICQgICQgYEBIuPwoKAwICCAUREVdAEBgICQgICQgYEBIuPwoKAwICCAURUiouKIADNhETCAf8BxIK/nQYLRERExMRES0YAkAYLRE/BAMDCAX9wAUIAwMEBAMDCAUBXxoRzT9i6ggICBcQDxgJCAgtrFkNDQcJAwMCMlkICAgXEA8YCQgILaxZDQ0HCQMDAjIxhIQoAAAABwCaACYDPQNaAB0AOQA8AEgATABeAGoAABM+ATsBMhYfAR4BFREUBgcOASMhIiYnLgE1ETQ2NxciBgcOARURFBYXHgEzITI2Nz4BNREjIiY9ASMFFyMBNzUjNTMVBxUzFSM3MxUjNyMVMzUzMjY3PgE1NCYnLgEjFxQGKwE1MzIWFx4BvREtGPwKEgf8BwgTEREtGP5QGC0RERISEVYECQMDAwMDAwkEAbAFCAMDBMwSGdABJ2Fh/wA7O3M7O3OOLi6QQC4SEBgJCAgICAkYEBMKCRISBQcCAwIDNhETCAf8BxIK/nQYLRERExMRES0YAkAYLRE/BAMDCAX9wAUIAwMEBAMDCAUBXxoRzT9i/o5dAygkXAQorKysrC0ICAkYDxAXCAgIPw0NMgIDAwkAAAYAmgAmAz0DWgAdADkAPACFAJIAmAAAEz4BOwEyFh8BHgEVERQGBw4BIyEiJicuATURNDY3FyIGBw4BFREUFhceATMhMjY3PgE1ESMiJj0BIwUXIwMeATMyNjc+ATc+ATU0JicuAScuAScuAScuAScuATU0NjMyFhc3LgEnJiIjIgYHDgEVFBYXHgEXHgEXHgEXHgEVFAYjIiYnBxcvATMXNzMHFyMnByM3FxUjNTMVvREtGPwKEgf8BwgTEREtGP5QGC0RERISEVYECQMDAwMDAwkEAbAFCAMDBMwSGdABJ2FhAQ4aCwgQBwcMBAQEAgICBwQFDQgCBwYFCAMDAgoLCRkRBA4TBQYKBg4XCAgIBgYGFQ4BBAMFBgIDAgoKCRoRBQnuLzIYGS8vLzMYGC8v2WQtAzYREwgH/AcSCv50GC0RERMTEREtGAJAGC0RPwQDAwgF/cAFCAMDBAQDAwgFAV8aEc0/Yv5uBAQEAwMKBgYQCQcLBQUHBAMHAwEDAgIDAgEDAgYGAgIjAwMBAQcGBxUNCg8HBgsFAQEBAgMBAgQCBwcCAyMCTVs4OFhUMzNRKSishAAACACaACYDPQNaAB0AOQA8AE4AWwBxAIcAkgAAEz4BOwEyFh8BHgEVERQGBw4BIyEiJicuATURNDY3FyIGBw4BFREUFhceATMhMjY3PgE1ESMiJj0BIwUXIwUzMhYXHgEVFAYHDgErARUjNRcyNjU0JicuASsBFTM3MhYXHgEXHgEVFAYHDgEHDgErATUzBzI2Nz4BNz4BNTQmJy4BJy4BKwEVMzc1MzUjFTM1MzUjvREtGPwKEgf8BwgTEREtGP5QGC0RERISEVYECQMDAwMDAwkEAbAFCAMDBMwSGdABJ2Fh/t1AEBgICQgICQgYEBIuPwoKAwICCAUREY8QGQgIDAMEAwIDAwsJCBoRODgBCAsDAwUBAQEBAQEFBAMKCAkJmUVzLjc3AzYREwgH/AcSCv50GC0RERMTEREtGAJAGC0RPwQDAwgF/cAFCAMDBAQDAwgFAV8aEc0/YuoICAgXEA8YCQgILaxZDQ0HCQMDAjJZAwMDDAkIHBIRGgkJDQUFBKyEAwIDCQUFEAkIDAQFBgIBAlw1JyisNicAAAUAmgAmAz0DWgAdADkAPABQAGQAABM+ATsBMhYfAR4BFREUBgcOASMhIiYnLgE1ETQ2NxciBgcOARURFBYXHgEzITI2Nz4BNREjIiY9ASMFFyMHFhQPARcWFAcGIi8BJjQ/ATYyFzMGFB8BBwYUFxYyPwE2NC8BJiIHvREtGPwKEgf8BwgTEREtGP5QGC0RERISEVYECQMDAwMDAwkEAbAFCAMDBMwSGdABJ2FhdQgIVFQICAcVCGYICGYIFQcpCAhUVAgIBxYHZwcHZwcWBwM2ERMIB/wHEgr+dBgtERETExERLRgCQBgtET8EAwMIBf3ABQgDAwQEAwMIBQFfGhHNP2KdCBUIVFQIFQgHB2cHFgdnBwcIFQhUVAgVCAcHZwcWB2cHBwAABADNACYDMwNaABMAJAA0AFQAAAERFAYjISImNRE0NjMVNxc1MzIWNSEiBhURFBYzITI2NRE0JiMDMhYXHgEdASM1NDY3PgEzBxUjIgYdARQWOwEyNj0BNCYrATU0JicuASMiBgcOARUCzR4V/swVHh4VZ2ZnFR7+Zio8PCoBmio8PCrGChEHBwdgBwcHEglWCBMbGxO8ExsbEwcODAwgEREgDAwNAsD+ABUeHhUCABUe5jMz5h6FPCv9mis8PCsCZis8/nMIBgcSCSMjCRIHBggwIxsTXhMbGxNeExsjESAMDA0NDAwgEQAAAAACAM0AJgMzA1oAFAAmAAABIxUnBzUiBhURFBYzITI2NRE0JiMnMzIWFREUBiMhIiY1ETQ2MyECmmdmZxUeHhUBNBUeHhVnmio8PCr+Zio8PCoBAALz5jMz5h4V/gAVHh4VAgAVHmc8K/2aKzw8KwJmKzwAAAwAzQAmAzMDWgAGAA8AJgAvADMANwA7AEQASABNAFIAVgAAATMVIzUzFTMnNxcVIxUjNSc1IxUzFSM1IzUjFSMVIzU0NjMhFwcnARQGKwE1MzUzJzMVIwc1MxUhNTMVIyImPQEzFTMVAzMVIxEzFSM1BTMVIzUlMxUjAiYnc0zUUjBbTXNNJiZMTSdMTS0gATNaMFEBDS0gTExNTU1N5nP+83TAIC1NJnNNTU1NAhlNTf3nTU0CO1KkUlczYVIpUuE+UlJSUlIpKSIwYTNW/VwiMFIppHukUlJSUjEhUlJSAUh7AR97eyl7e817AAAAAAUAmgAmAz0DWgAdADkAPABRAGUAABM+ATsBMhYfAR4BFREUBgcOASMhIiYnLgE1ETQ2NxciBgcOARURFBYXHgEzITI2Nz4BNREjIiY9ASMFFyMHIgYVFBYXHgEzMjY3PgE1NCYnLgEXFgYPAQYiLwEuATc+AR8BNzYyF70RLRj8ChIH/AcIExERLRj+UBgtERESEhFWBAkDAwMDAwMJBAGwBQgDAwTMEhnQASdhYVQ1SxQSEi8ZGi8SEhMTEhIvMgUBBVgEDQQoBQEFBA0FHU4FDQQDNhETCAf8BxIK/nQYLRERExMRES0YAkAYLRE/BAMDCAX9wAUIAwMEBAMDCAUBXxoRzT9ilks1GTASEhMTEhIwGRkwEhITVQUNBVAEBCUEDQUFAQUaRgQFAAEAdADtA5oCswAbAAABNiYnJgYPAQYUHwEeATc+AS8BITI2NTQmIyE3AWYPAxIRLg+eDg6eDy4REgMPTAJIFyEhF/2xUwJkEi4PDwQRuRApD7kRBA8PLhFaIBcXIGIAAAEBEwA5AscDRwATAAABJiIHAQYUFwEWMjc2NCcJATY0JwLHEzUT/qcTEwFZEzUTExP+1QErExMDRxMT/qcTNhP+pxMTEzYTASsBKxM2EwAAAQB5AQYDhwK7ABIAAAE2NCcBJiIHAQYUFxYyNwkBFjIDhxMT/qcTNhP+pxMTEzYTASsBKxM2AQYTNhMBWRIS/qcTNhMTEwEr/tUTAAEAeQD5A4cCrQASAAABFhQHAQYiJwEmNDc2MhcJATYyA4cTE/6nEzYT/qcTExM2EwErASsTNgKtEzUT/qcTEwFZEzUTExP+1QErEwACAVkAJwLMA1oAHAAoAAABMhYdAR4BFRQGBxUUBiMiJj0BLgE1NDY3NTQ2MxEiBhUUFjMyNjU0JgITFyE4SUk4IRcYIThJSTghGB4rKx4eKioDWiEXsRJhPj5gErEXISEXsRJgPj5hErEXIf6vKx4eKioeHisAAAAEAGgANAOMA1kAJQA8AFIAVwAAEzoBFwUeAR8BNhYfARYUDwEGIi8BLgE3Jy4BJwMmNjc+ATM2MhcTJxMXNyclFz4BMzIWFRQGIyImNTQ2NxcOARUUFjMyNjU0JiMiBgcwIjEwFDEFBxc3J5kBBAECEAwTAikKFAhtDg7/DSYNbQgGAckNEwN/AwYJBg4IAgQD1YhT3JQs/qmJChcMMUVFMTFGBQRaBAQQDAsQEAsGCgMBATO7Lb8tA1kBfwMTDckBBghtDSYN/w4ObQgUCikCEwwCEAsXCQYHAQH+uIn+qSyU3FOIBAVGMTFFRTEMFwoaAwoGCxAQCwwQBAQBfLotvy0AAAoAZgAmA5oDWgANABkANQBEAFMAYgBwAH8AjgCdAAABMhYdARQGIyImPQE0NhMiBhUUFjMyNjU0JgU0Nz4BNzYzMhceARcWFRQHDgEHBiMiJy4BJyYXNCYjIgYdARQWMzI2PQEBNjIfARYUBwYiLwEmNDcBJiIHBhQfARYyNzY0LwElNDY7ATIWFRQGKwEiJiUiBhUUFjsBMjY1NCYrAQUWFA8BBiInJjQ/ATYyFwE2NCcmIg8BBhQXFjI/AQIAEhoaEhIaGhIzR0czM0dH/vsQETkmJiwsJiY5ERAQETkmJiwsJiY5ERD+GhISGhoSEhr+sg0lDDAMDA0lDDANDQIUDCUNDAwwDCUNDQ0w/XQaEkMSGhoSQxIaAsUSGhoSQxIaGhJD/iEMDDAMJQ0NDTAMJQ0B1g0NDSUMMAwMDSUMMANaGhJDEhoaEkMSGv7gRzMzR0czM0d6LCYmOREQEBE5JiYsLCYmOREQEBE5Jib/EhoaEkMSGhoSQwJNDQ0wDCUNDAwwDCUN/ioMDA0lDDANDQ0lDDC0EhoaEhIaGj4aEhIaGhISGuANJQwwDQ0NJQwwDAwBmAwlDQ0NMAwlDQwMMAAAAgBmAREDsgKNAAsAKAAAATIWFRQGIyImNTQ2BTMeATMyNjczMjY1NCYrAS4BIyIGByMiBhUUFjMCDCAtLSAgLS3+s7gSY0BAYxK5FyEhF7kSY0BAYxK4GCEhGAIcLSAgLS0gIC2FOkxMOiEXFyE6TEw6IRcXIQAAAwCaABUDlgNOAB4ARgBPAAABNjIXMQUeARUxERQGBw4BIzEhIiYnLgE1MRE0NjcxJQURFBYXHgEzMTM8ATUxETQ2MzEzMhYVMREcARUxMzI2Nz4BNTERJRMjHQIzPQIB9Q8nDwFGCgwUEhIwGf4FGTASEhMLCgFp/vIDAgIGA1khF9kXIVkDBgICA/7zNGlpA04MDP4IFw3+chovEhIUFBISLxoBjg0XCIrS/o4DBgIDAgIDAgEqGCEhGP7WAgMCAgMCBgMBctL+pfIEAwME8gAAAAACAGYAJgOaA1oABAAVAAABESERISUiBhURFBYzITI2NRE0JiMhAzP9mgJm/ZorPDwrAmYrPDwr/ZoC8/2aAmZnPCv9mis8PCsCZis8AAAAAAQAZgAmA5oDWgAwADwAYwBnAAATFSMiBgcOAR0BFBYXHgE7ARUUFjMhMjY9ATMyNjc+AT0BNCYnLgErATU0JiMhIgYVEzA0MTgBMTUhFSE1JyMiJicuAT0BNDY3PgEzITIWFx4BHQEUBgcOASsBNTQmIyEiBh0BARUhNfcYGC0QERMTERAtGBgcFAGyFBwYGC0QERMTERAtGBgcFP5OFBxgAVL+rmAYBQkEAwQEAwQJBQJCBQkEAwQEAwQJBRgcFP5OFBwBsv6uAyrOEhERLBi1GCwRERJhFBwcFGESEREsGLUYLBEREs4UHBwU/bwBYcJgMQMEAwkFtQUJBAMEBAMECQW1BQkDBANhExwcE2EB456eAAIAeQC1A4cC4AATACYAACUWMjc2NC8BNzY0JyYiDwEGFB8BASYiBwYUHwEHBhQXFjI/ATY0JwFiEjUTExO7uxMTEzUS6RMT6QE8EjUTExO7uxMTEzUS6RMTtRISEzUTu7sTNRITE+gTNRLpAisTExI1E7u7EzUTEhLpEjUTAAAABAByADgDjgNIABYAGgAuAEIAAAE2MhcFHgEVFAYHBQYiJyUuATU0NjclBxc3JwE+ARcFJTYWFxYGBwUGIiclLgE3NyYGBwYWFwUWMjclPgEnLgEHBSUB5wwaDAFWDhERDv6qDBoM/qoOEREOAVa+19fX/ngLLBUBPAE8FSwLCg8U/qoMGgz+qhQPCkwVLAsKDxQBVgwaDAFWFA8KCywV/sT+xANIBgarBxsQEBwHqgYGqgccEBAbB6vdbGxr/lkUDwqengoPFBUtCqsGBqsKLRXDCw8VFSwKqwYGqwosFRUPC56eAAAAAAMAZgAmA5oDWgAbADgAWAAAASIHDgEHBhUUFx4BFxYzMjc+ATc2NTQnLgEnJgE0Nz4BNzYzMhceARcWFRQHDgEHBiMiJy4BJyY1JRYUDwEXFhQHBiIvAQcGIicmND8BJyY0NzYyHwE3NjICAD83N1IYGBgYUjc3Pz83N1IYGBgYUjc3/ichIG9LSlVVSktvICEhIG9LSlVVSktvICECKw8PRUUPDxAsEEVFECwQDw9FRQ8PECwQRUUQLALvGBhSNzc/Pzc3UhgYGBhSNzc/Pzc3UhgY/tFVSktvICEhIG9LSlVVSktvICEhIG9LSlWRECwQRUUQLBAPD0VFDw8QLBBFRRAsEA8PRUUPAAAJAGYAJgOaA1oADAAYACUAMgA+AEsAWABkAHAAABMUFjMyNjU0JiMiBhUBFBYzMjY1NCYjIgYFFBYzMjY1NCYjIgYVERQWMzI2NTQmIyIGFSEUFjMyNjU0JiMiBgEiBhUUFjMyNjU0JiMFFBYzMjY1NCYjIgYVARQWMzI2NTQmIyIGERQWMzI2NTQmIyIGZjwrKjw8Kis8ATQ8Kio8PCoqPP7MPCsqPDwqKzw8Kyo8PCorPAE0PCoqPDwqKjwBmSo8PCorPDwr/mc8Kio8PCoqPAEzPCorPDwrKjw8Kis8PCsqPALzKjw8Kis8PCv9mis8PCsqPDwqKzw8Kyo8PCoBMyo8PCoqPDwqKjw8Kio8PAFwPCsqPDwqKzxnKjw8Kis8PCv+zSo8PCoqPDz+oys8PCsqPDwAAAAEAGYAdwOaAyYAGgAfACQAMwAAExUUFjsBERQWMyEyNjURMzI2PQE0JiMhIgYVFyERIREnIRUhNRczMhYVFAYrASImNTQ2M2YcFBIcFAJQFBwSFBwcFP0sFByhAfL+DkICdv2K+YQUGxsUhBQbGxQC96UTHP6DExwcEwF9HBOlFBsbFNT+swFNpEVFyRwTFBwcFBMcAAAAAAEA2AEBAygCjQAVAAATAR4BFx4BMzI2Nz4BNwE2JiMhIgYX2AEGAwgEBQkFBQkFBAgDAQYTGB399B0YEwJD/s4EBgICAgICAgYEATIVNTUVAAAAAAEBMwCYAr8C6AAVAAAlAT4BNz4BNTQmJy4BJwEmBhURFBY3AX0BMgQGAgICAgICBgT+zhU1NRWYAQYDCAQFCQUFCQUECAMBBhMYHf30HRgTAAAAAAEA2ADzAygCfwAVAAAJAS4BJy4BIyIGBw4BBwEGFjMhMjYnAyj++gMIBAUJBQUJBQQIA/76ExgdAgwdGBMBPQEyBAYCAgICAgIGBP7OFTU1FQAAAAEAZgAmA2MDWgBfAAABIgYHAQ4BFRQWFx4BMzI2NwE2MhcWFAcBDgEjIiYnLgE1NDY3AT4BMzIWFx4BFRQGBwEOASMiJicuATU0NjcBNjIXFhQHATgBMQ4BFRQWFx4BMzI2NwE+ATU0JicuASMCehIjDf68FxoaFxc9ICE9FwFEDiYODQ3+vCRfNDNfJCQoKCQBRBpFJSZFGhodHRr+vBErFxcrERASEhABKw4nDQ4O/tUDBAQDAwkFBQkDAUQNDw8NDSMTAv0PDf68Fz0hID0XFxoaFwFEDQ0OJw3+vCQoKCQkXzM0XyQBRBodHRobRSUlRRv+vRESEhEQKxcYKxABKw4ODiYO/tUDCQUECQQDBAQDAUQOIhMTIw0NDwAAAAMAmgAVA00DWgAKAC8AVAAAATUzFTAUMTAUMRUXDgErASImJyMiBgcOARURFBYXHgEzITI2Nz4BNRE0JicuASsBNTMyFhceARURFAYHDgEjISImJy4BNRE0Njc+ATsBPgE7ATIWFwGbsW4HMiHZITMGEwMGAgIDAwICBgMBsgQGAgIDAwICBgQSEhovEhMTExMSLxr+ThkwEhITExISMBkTBjMh2SEyBwLJIA8BAQ8oHyoqHwMCAgYD/gUDBgIDAgIDAgYDAfsDBgICA3ATEhMvGf4FGi8SEhQUEhIvGgH7GS8TEhMfKiofAAAAAwCaACYDhQNaACIAPwBKAAABNCYjIgYdASM1NCYjIgYdASMiBhURFBYzITI2NRE0JisBNRchNTQ2OwEVFBYzMjY9ATMVFBYzMjY9ATMyFh0BBSERFAYjISImNREC0h4VFh63HxUVHjgzSEgzAfUzSEgzOEz94wsJOB4VFR+3HhYVHjgIDP3jAh0MCP4LCQsDJhUfHxUUFBUfHxUUSDP+CzNJSTIB9jNIFOtcCAwUFR8fFRQUFR8fFRQMCFxn/s4JDAwIATMAAAACAHQA1wOMArIAGwA3AAABNDY3Izc2NCcmIg8BBhQfARYyNzY0LwEzLgE1MzQmJzMnJjQ3NjIfARYUDwEGIicmND8BIz4BNQHdBQXdeg4ODigOzA4OzA4oDg4OeuMHCUYFBd16Dg4OKA7MDg7MDigODg564wcJAcoLFgl6DigODg7MDicOzA4ODigOeQwbDwsWCXoOKA4ODswOJw7MDg4OKA55DBsPAAABARMAOQLHA0cAEwAAATYyFwEWFAcBBiInJjQ3CQEmNDcBExM1EwFZExP+pxM1ExMTASv+1RMTA0cTE/6nEzYT/qcTExM2EwErASsTNhMAAAMAZgAmA5oDWgAbADcARgAAEzQ3PgE3NjMyFx4BFxYVFAcOAQcGIyInLgEnJgEiBw4BBwYVFBceARcWMzI3PgE3NjU0Jy4BJyYDIgYVFBY7ATI2NTQmKwHRGBhSNzc/Pzc3UhgYGBhSNzc/Pzc3UhgYAS9VSktvICEhIG9LSlVVSktvICEhIG9LSrsWHh4WzBYeHhbMAcA/NzdSGBgYGFI3Nz8/NzdSGBgYGFI3NwHZISBvS0pVVUpLbyAhISBvS0pVVUpLbyAh/pkeFRUeHhUVHgAAAwBmACYDmgNaABsAKQA4AAABMhceARcWFRQHDgEHBiMiJy4BJyY1NDc+ATc2EzQmIyIGHQEUFjMyNjUnNCYjIgYdARQWMzI2PQECAFVLSm8gISEgb0pLVVVLSm8gISEgb0pL7x4VFR4eFRUezR4VFh4eFhUeA1ohIG9KS1VVS0pvICEhIG9KS1VVS0pvICH+zRUeHhXOFR4eFc0WHh4WzBYeHhbMAAAAAwBmACYDmgNaABAAGgAlAAATIgYVERQWMyEyNjURNCYjIRU0NjsBESMiJjUhFAYrAREzMhYVEc0rPDwrAmYrPDwr/ZoPCufnCg8CZg8K5+cKDwNaPCv9mis8PCsCZis8gAoP/ZoPCgoPAmYPCv3MAAIAaAApA5oDWgAtAFsAAAErASIGBwYHDgEHBgcXHgEfAQ8BBhY/ARceATM2Nz4BNzY3PgE9ASYnLgEnJicHMyMWFx4BFxYXFRQGBwYHDgEHBiMGJi8BLgEPATc2JicuATc0Nz4BNzY3PgEzAisDFC1ZKDIoJzgPDwEBAQ4MBUYBBysc0QsiSSU3NDVaJSUYFRUFHh5iQUFKFxIBODAxSRYXAxAPExsbRCcnKSJCHgUIEQiGLQMBBQ8QAQsLKh4dJR5CIgNaFRUYJSVaNTQ3ECFBHgvRBRwnCUYFDg4BDw84KCcyKFktFEtCQWMeHgVjAxcWSTEwOBEiQh4lHR4qCwsBEA8CAwEDLYYKFAgeQiIpJydEGxsTDxAAAAAABgBmAHgDmgMmAA0AJAAzAEsAZAByAAATMhYdARQGIyImPQE0NgMVFBYzMjY9ATMyNjU0JisBIgYVFBYzJTQmIyIGFREUFjMyNjURAzIWHQEzMhYVFAYrASImNTQ2OwE1NDYzATMyFhUUBisBFRQGIyImPQEjIiY1NDY7AREyFhURFAYjIiY1ETQ29hIaGhISGhoaGhISGjgSGhoSyBIaGhIBmhoSEhoaEhIaLBIaOBIaGhLIEhoaEjgaEgEKZBIaGhI4GhISGjgSGhoSZBIaGhISGhoDJhkS6RIaGhLpEhn+O70SGhoSvRoSEhoaEhIabhIaGhL+1RIaGhIBKwFXGRJ7GhISGhoSEhp7Ehn+UBoSEhp6EhoaEnoaEhIaAbAZEv7UEhoaEgEsEhkAAwCBACYDmgNaADAAYgCbAAABNjc+ATc2MzIXHgEXFhUUBgcXHgEdARQGKwEuAS8BBw4BDwEOASMiJy4BJyY1NDY3BTQnLgEnJiMiBw4BBwYHDgEVFBceARcWMzI2Nz4BNz4BMzIWHwEnJjY/ATQ2NTc+ATUFJgYPAQYWHwEPAQYWFx4BMzcyNj8BFx4BMzI2Nz4BJy4BBw4BIyImLwEmBg8BNzYmLwEuATc2JicBCAweH1Y2NTxEPTxbGhobGhgBASMZBQUJA14GBw4ICRcwE0U7PFkZGgQDAjQTEkErLDErJyY+FhYIAgMSEkAqKzEMJBEJFQcIEAgJEQYiCgQFBgQBAxMT/Y4RJQkGIQYnARABAQsLCRQKBgQJBFMHGjQZKU8jEQoKCiURGDcdFCoVBgsZCyQJAgcIBRsCGgkLEQJbNy8vQxQTGhlXOjtCLlgnVwIEAwUZIwECAiEDAgUCAwYIGhlYOztDESERQi8pKT4SEg4OMCEhJwwXDC8qKj8SEgYFAwYDAwMDAwwiDhgMBgEBAQUbPiEeCgsRCkOVQAJWCA4bCgcHAQICIQIJChYUCiUREQoKDg8JCAIEAQUOLwwTCwktZy0RJgkAAAYAZgAmA5oDWgAyAE0AaAB0AIAAjAAAASIHDgEHBhUUFx4BFxYXFhceARcWMzI3PgE3Njc2Nz4BNzY1NCcuAScmJyYnLgEnJiMxFTIXHgEXFhUUBgcuASMiBgcuATU0Nz4BNzYzFyIGDwIOAQcGFhcWNjc2Jic/AjYmJy4BIwciBhUUFjMyNjU0JgciBhUUFjMyNjU0JiEiBhUUFjMyNjU0JgIAVUpLbyAhCAgfFhccHSIhSignKSknKEohIh0cFxYfCAgICB8WFxwdIiFKKCcpRDw7WRoaOzQrcT09bi40OxoaWTs8RFIMFAU1BBYiCA0bIB8/DAgGDgQ1AQYODwQIBaQRGBgRERgYjBEYGBERGBgBiREYGBERGBgDWiEgb0tKVSknKEohIh0cFxYfCAgICB8WFxwdIiFKKCcpKScoSiEiHRwXFh8ICFIaGlk7PERKfi4oKiooLn5KRDw7WRoaTg4MhQkEGxUfPwwNGyAULBEKhAEQHwYCAQQYEREYGBERGHsYEREYGBERGBgRERgYEREYAAAAAAYAmgAmA4YDWgAYAD8AYACAAIYAjAAAAR4BFx4BMzI2Nz4BNy4BJy4BIyIGBw4BBzc+ATMyFhceARceARURFAYHDgEHDgEjIiYnLgEnLgE1ETQ2Nz4BNwMVFBYVHgEXHgEzMjY3PgE3PgE9AQ4BBw4BIyImJy4BJyU1DgEHDgEjIiYnLgEnFRQWFR4BFx4BMzI2Nz4BNz4BFzgBIzIwITAyMTAiARcHFg8laj4+aiUPFgcHFg8laj4+aiUPFgcHMH1FRX0wGCwSEB4dERIrGDF9RUV9MBgsEhEdHhERLBgQAgcYEyZpPz9qJRMYBwEBAwgEMX1FRX0wBAgEAgQECAQwfUVFfTAECAQCBxgTJmk/P2olExgHAQEDAQH99gEBArYECgUNDw8NBQoEBQoFDBAQDAUKBYIQEhIQCBYNDise/hQeKw4NFggQEhIQCBYNDiseAeweKw4NFgj+DHMBAQEFDAcMEBAMBwwFAQEBcwEDAhARERACAwGDcwEDAhARERACAwFzAQEBBQwHDA8PDAcMBQEB8wAAAAYAZgAUA34DWgA6AD4AYwBvAIwAoAAAAT4BMyEyFh8BMhYVHgEXHAExERQGBw4BKwEiJjU0NjsBMjY3PgE1ESEVFAYjIiY9ATA0MTQ2Nz4BMTcFFyE3FzQmIyIGFRQWFx4BMzI2Nz4BNTQmIyIGFRQGBw4BIyImJy4BNQciBhUUFjMyNjU0Jgc0Nz4BNzYzMhceARcWFRQHDgEHBiMiJy4BJyY1NzQmIyIGHQEUFh8BFjY3NiYvATUBPQYSCgGQChIGZAEBAwMBEQ8QKBbJERkZEckFCQMEA/3+GRIRGQMDAQFkAZ0k/lMkWBkSEhkbGRlAIyNBGRgbGRIRGQ4NDCISEiENDQ2jM0lJMzNJSfcQDzUkJCgpIyQ1DxAQDzUkIykoJCQ1DxDeDwsKDwsJPAoSAgMMCigDSQgJCQiGAgEECwUBAf4tFSgQDxEZEhEZBAMECQQBqJcRGRkRwgEGCwQBAoZFMDDgEhkZEiNAGRkaGhkZQCMSGRkSEiENDA4ODA0hEtFINDNJSTM0SHwpJCM1EA8PEDUjJCkoJCM2Dw8PDzYjJChFCw8PC08JDgINAgsKCxICCToAAgBmACYDjQNaABsARgAAATIWFRE3NjIXFhQPAQYiLwEmNDc2Mh8BETQ2MwE0JiMiBh0BFBYXHgEzITI2Nz4BPQE0JiMiBh0BFAYHDgEjISImJy4BPQEB+RYfag8rDxAQww8rD8MQEA8rD2ofFf7VHhYVHxQSEzAZAiMZMBMSFB8VFh4EBAQJBf3dBQkEBAQDWhwU/phqEBAPKw/DEBDDDysPEBBqAWgUHP3qFh4eFpwZMBMSFBQSEzAZnBYeHhacBQkEBAQEBAQJBZwAAQB0ACYDmgNMAFoAAAEmIg8BBhQXFjI/ARUjNzY0JyYiDwEGFB8BFjI3NjQvATMVJyYiBwYUHwEeATMyNj8BNjQnJiIPATUzBwYUFxYyPwE+ATU0Ji8BJiIHBhQfASM1FxYyNzY0LwECIg4oDmwODg4nDhvHGw4ODicObQ4ObQ4nDg4OG8cbDicODg5sBxIJCRIHbA4ODicOG8cbDg4OJw5tBggIBm0OJw4ODhvHGw4nDg4ObANMDg5tDicODg4bxxsOJw4ODmwOKA5sDg4OJw4bxxsODg4nDm0GCAgGbQ4nDg4OG8cbDicODg5sBxIJCRIHbA4ODicOG8cbDg4OJw5tAAADAGYAJgOaA1oAOABJAFoAABM+ATMhMhYXHgEdARQWMzI2PQE0JicuASMhIgYHDgEVERQWFx4BOwEyNjU0JisBIiYnLgE1ETQ2NxM0NjMhMhYVERQGIyEiJjURNyIGFREUFjMhMjY1ETQmIyHNAwkFAUYFCQQDBBwUExwSEREsGP66GCwQERMTERAsGCUTHBwTJQUJAwQEBAT2DgsBRgoPDwr+ugsOGTJGRjIBRjFHRzH+ugLzBAQEBAMJBSUTHBwTJRgsEBETExEQLBj+uhgsERESHBMUHAQDBAkFAUYFCQP+8QsODgv+ugoPDwoBRnhGMv66MUdHMQFGMkYAAAAAAgBmACYDiwM4ACoARgAAATI2NTQmKwEiBgcOARURFBYXHgE7ATI2NTQmKwEiJicuATURNDY3PgE7AQM0NjMhJyY0NzYyHwEWFA8BBiInJjQ/ASEiJjUBfRUeHhWYGS8SERQUERIvGZgVHh4VmAUJBAMEBAMECQWYHRsTAV9oDw8PKg++Dw++DyoPDw9o/qETGwLSHhUVHhQSES8Z/ewZLxIRFB4VFR4EAwQJBQIUBQkEAwT+3RUeZw8qDw8Pvg8qD74PDw8qD2ceFQAAAgEAACYDHgNaABkAMwAAATQ2NzYWHwE3PgEXHgEPAQ4BIyImLwEuATU3FjY/ARceATc+AS8BLgEjIgYPAQ4BFRQWFwEABgUMHwzS0wohCwsBC+4GDggIDgXvBQULDB8M0tMKIQsLAQvuBg4ICA4F7wUFBgUBRAgOBgsBC9vbCwELCyAM9wYGBgb3Bg4H3AsBC9vbCwELCyAM9wYGBgb3Bg4HBw8GAAAAAwBmAEcDjANMADoAPgBmAAABFhQPARcWFA8BDgEjIiYvAQceARceARUUBgcOAQcOAQcOASMiJicuAScxLgE1PgE3PgE3MhYXATYyFw8BFzcFLgEjIgYHDgEVFBYXHgEXHgEzMjY3PgE3PgE3PgE1NCYnLgEnNDAjA2cODiZLDg5/BxIJChEHS1UHDAUJCgkKCRsSESkWFzAYGTAWFykRIiQBJSMiWjEkRh8BPw4nDmo7KTv+oRU4HR43FRUYFhUKGQ4OHQ8PHQ4OGQsKEQYFBgYGBRALAQNMDigOJ0sOKA5/BggIBktUChYLFzAYGTAXFikREhsJCQoKCgkcESNbMDFaIiMlARQUAT8ODq87KTvKFRYXFRY3HR43FgsQBgYGBgYFEQsKGQ4OHQ8PHg4NGAoBAAAGAJoAJgM9A1oAHQAxADwAPwBLAFcAABM+ATsBMhYfAR4BFREUBgcOASMhIiYnLgE1ETQ2NxciBgcOARURJTYyHwE1IyImPQEjAScFITI2Nz4BPQEDFyMHMjY1NCYjIgYVFBYnNDYzMhYVFAYjIia9ES0Y/AoSB/wHCBMRES0Y/lAYLREREhIRVgQJAwMDAUEPJg9YzBIZ0AHHev7yAXEFCAMDBKBhYboLDw8LCw8PQi0gIC0tICAtAzYREwgH/AcSCv50GC0RERMTEREtGAJAGC0RPwQDAwgF/d/2CwtDjRoRzf4EXc8EAwMIBVsBvWLJDwoLDw8LCg8ZIC0tIB8tLQAAAAYAmgAmAz0DWgAdADkAPABKAFgAZgAAEz4BOwEyFh8BHgEVERQGBw4BIyEiJicuATURNDY3FyIGBw4BFREUFhceATMhMjY3PgE1ESMiJj0BIwUXIwciBhUUFjMhMjY1NCYjBTQ2MyEyFhUUBiMhIiYTIgYVFBY7ATI2NTQmI70RLRj8ChIH/AcIExERLRj+UBgtERESEhFWBAkDAwMDAwMJBAGwBQgDAwTMEhnQASdhYdQVHh4VAQAWHh4W/s0eFQEAFh4eFv8AFR4zFR4eFTQVHh4VAzYREwgH/AcSCv50GC0RERMTEREtGAJAGC0RPwQDAwgF/cAFCAMDBAQDAwgFAV8aEc0/YpYeFRUeHhUVHs0VHh4VFR4eAXweFhUeHhUWHgAGAJoAJgM9A1oAHQA5ADwAZwB1AIMAABM+ATsBMhYfAR4BFREUBgcOASMhIiYnLgE1ETQ2NxciBgcOARURFBYXHgEzITI2Nz4BNREjIiY9ASMFFyMHIgYHDgEHFycHDgEVFBYXHgEXHgE7ATI2Nz4BNz4BNTQmJzEnLgEnLgEjFzQmIyIGHQEUFjMyNjUHNDY7ATIWFRQGKwEiJr0RLRj8ChIH/AcIExERLRj+UBgtERESEhFWBAkDAwMDAwMJBAGwBQgDAwTMEhnQASdhYVQFDAUFCAMQEG0DAwMDAwgFBQsG2wUMBQUIAwMDAwNtAwgGBQsGFAwICAsLCAgMJwsIAQgLCwgBCAsDNhETCAf8BxIK/nQYLRERExMRES0YAkAYLRE/BAMDCAX9wAUIAwMEBAMDCAUBXxoRzT9ilgMDAwgFCgq2BQsGBgsGBQgDAwMDAwMIBQYLBgYLBbYFCAMDA2IIDAwIMwgLCwg0CAwMCAgLCwADAJoAJgM9A1oAHQA5ADwAAAEiBgcOARURFBYXHgEzITI2Nz4BNRE0Ji8BLgErAQc+ATsBFRQWOwERFAYHDgEjISImJy4BNRE0NjcFJxUBExgtERESEhERLRgBsBgtERETCAf8BxIK/BADCQTQGRLMBAMDCAX+UAQJAwMDAwMBmGEDWhMRES0Y/cAYLRERExMRES0YAYwKEgf8BwhqAwTNERr+oQUIAwMEBAMDCAUCQAUIA5piYgAAAgBrAEEDlQMmABsAKAAAEz4BMyEyFhcWBgcBERQGBw4BLwEuAT0BAS4BNxcTHgEdARc1NDY3EyFrBhcOAtQOFwYGBAn+6gwLChkLkQwO/uoJBAaS3wYFMgUG3/36AwsMDw8MDRwK/rf+3AwWBgcBBkgGFw7bAUkKHA1E/vgGEAnPGOcJEAYBCAAAAAACAGYAWgOUAu0AFAAxAAA3FBYXHgEzIScmND8BISIGBw4BFREHLgE1ETQ2Nz4BMyEyFhcWBg8BFx4BBw4BIyEiJskFBAULBgIgkAkJkP3gBgsFBAU9EhQUEhMvGgKADhgGBgIIs7MIAgYGGA79gBov2wYLBAUEyQ0gDcoFBAQMBv5wWxIvGgGQGjASEhQPDAwcDPv7CxwNDA4TAAACAGYAWgOaAyYAIQBDAAATIgYHDgEVERQWFx4BMyEyNjc+ATURNCYnLgEjISImLwEjJz4BOwEyFh8BITIWFx4BFREUBgcOASMhIiYnLgE1ETQ2N94FCQMEBAQEAwkFAkQFCQMEBAQEAwkF/roMFQc6nFQQLBi1DBUHOgEtGCwQERMTERAsGP28GCwQERMTEQLHAwQDCgX+JAUKAwQDAwQDCgUBcAUJAwQECwpXPBESCwpXEhERLBj+kBgsERESEhERLBgB3BgsEQAAAAALAGYAWgOaAyIAEAAUAB4AKABQAFQAXgBoAHEAdQB/AAABMhYVERQGIyEiJjURNDYzIQMjFTM3IxUzMjY1NCYjKwEiBhUUFhc7ARM2Fx4BFxYfATMyFh8BFAYrATUzMjY1NCYrASImJy4BBw4BByM+ATcDIxUzNyMVMzI2NTQmIysBIgYVFBYfATMTIxUzMjY1NCYrARUzJyMiBhUUFhc7AQH1Kjw8Kv7YKzw8KwEoZVxcZzMzFR4eFfY0FR4aEwY0pjEuLlAfIBICBkxtAwFvTlRUKz09KyUOFwQSfkocMxRrHmQ+F1xcZzMzFR4eFfY0FR4aEwY09jMzFR4efFxcjzQVHhoTBjQCWjwr/s0qPDwqATMrPP6ZZmZmHhUVHh4VFB0CApUJCQgtIiMsBWlLCU5uVD0rKz0SDkhSDQUZEzNHCv5rZ2dnHhYVHh4VFB0CAQEAZh4VFR5mZh4VEx0DAAAAAAIAZgAmA5oDWgAbADcAAAE0NjsBMhYdARQGIyImPQEHBiInJjQ/ASMiJjUDFhQPATMyFhUUBisBIiY9ATQ2MzIWHQE3NjIXAjwiF+sYIiIYFyKwES8RERGwYRciYhERsGEXIiIX6xgiIhgXIrARLxEDIBgiIhjrFyIiF2GwERERLxGwIhf+ehEvEbAiFxgiIhjrFyIiF2GwEREAAAIAdgA2A4oDSgAbADcAAAEWFA8BMzIWFRQGKwEiJj0BNDYzMhYdATc2MhcBIgYVFBY7AQcGFBcWMj8BFRQWMzI2PQE0JisBA4oQEL5yFh4eFu4WHh4WFR6+DysP/TgWHh4Wcr4QEA8rD74eFRYeHhbuA0oPKw++HhUWHh4W7hYeHhZyvhAQ/loeFhUevg8rDxAQvnIWHh4W7hYeAAgAZgAmA5oDWgAQABUAJgAqADoAPgBPAFQAABMiBhURFBYzITI2NRE0JiMhEzUzFSMBIgYVERQWMyEyNjURNCYjIRM1MxUFNDYzITIWFREUBiMhIiY1NxUzNSUiBhURFBYzITI2NRE0JiMhEzUzFSOaFR8fFQEWFh4eFv7qM7CwAYMWHh4WARYVHx8V/uozsP7pHhYBFhUfHxX+6hYeZ7D9ZxUfHxUBFhYeHhb+6jOwsANaHxX+6hYeHhYBFhUf/umwsAEXHxX+6hYeHhYBFhUf/umwsNMWHh4W/uoVHx8V47CwZx4W/uoVHx8VARYWHv7psLAAAAAABQBmAIMDmgMmACQANwBIAFcAZQAAATIWFx4BHwEeAR0BFAYHDgEjISImJy4BPQE0Nj8BPgE3PgEzIRMnLgEnLgEjISIGBw4BBycXByEFFRQWFx4BMyEyNjc+AT0BIRcUFjMxMjY1NCYjMSIGFTcxMhYVFAYjMSImNTQ2AqsRIQ4PFwd8AwMTEREtGP3AGC0RERMDA3wHFw8OIREBVm1YAgQDAgYE/qoEBgIDBAIsLFgCMP2xBAMDCAUCQAUIAwME/ZItHRUVHR0VFR3CFR0dFRUdHQMmCQkJGQ/3BQwG2BgtERETExERLRjYBgwF9w8ZCQkJ/uCxAwQCAgEBAgIEAxYWsWOmBQgDAwQEAwMIBaZeFR0dFRQdHRQxHRQVHR0VFB0AAAUAZgAmA5oDWgAcADkAggCKAJkAABM0Nz4BNzYzMhceARcWFRQHDgEHBiMiJy4BJyY1ASIHDgEHBhUUFx4BFxYzMjc+ATc2NTQnLgEnJiMTJgYHDgEHDgEnLgE3PgE3PgEXHgEXHgEVMRQGBw4BBw4BByIGBysBOQEwJicXBiYnJjY3OQEyNjM+ATc+ATc+ATUxNCYnLgEnBzEXLgEnLgEHNDYzMTIWFRQGIzEiJjXFGRlVOjlBQTk6VRkZGRlVOjlBQTk6VRkZATtVSktvICEhIG9LSlVVSktvICEhIG9LSlUHChYJCQ4EBiQSExEHCSMYGDYcGzASERM1Fg0XCQQIAgICAQEBAwsOEyMGBhETAQEBAgUDBhAIEg8HBwcTCxkPBgYBAQEeHBQUHBwUFBwBwEE5OlUZGRkZVTo5QUE5OlUZGRkZVTo5QQGaISBvS0pVVUpLbyAhISBvS0pVVUpLbyAh/usCBAYFEQoTEQcGJBIaKw4OCgUEHBUVNBwuPA8IDAQCAwEBAQsgKwcSExIkBgEBAgEDCAUNFQgLFQgICwJ8LRESBAQCvhQbGxQUHBwUAAACAGYAOgOQAyMASABbAAABNhYXHgEXHgEHDgEHDgEHBiYnLgE3PgEXHgE3PgE3PgE3NiYnLgEnLgEHDgEPATMyFhUUBisBIiY9ATQ2MzIWHQE3MDY3PgE3FzQmIyIGHQEUFh8BFjY3NiYvAQHvPHg1NlIZGQwODT8vLnI8PXYyFAoNDi8UI1EqKk4gICwJCQgRETklJVIqKUseQkgYIiIY0xgiIhgYIj8BASttPD8bExMaDQyRESQICQwReAMjCBYdHlk4OHk7PGgnJy0EAx8iDi8UFAkNFxYCAiAbG0gpKVMnJj4UFBAGBiUdSSIYGCIiGNMYIiIYRUQBASs2CeMTGhoTxw0WBkkIDBERIwk8AAMAZgCDA5oDJgAqAEcAYgAAATIWFx4BHwEeARU4ATEVFAYHDgEjISImJy4BPQE4ATE0Nj8BPgE3PgEzIRMnLgEnLgEjISIGBw4BBycXBzMyFh8BMzc+ATsBBRUUFhceATMhMjY3PgE9ASMHDgErASImLwEjAqsRIQ4PFwd8AwMTEREtGP3AGC0RERMDA3wHFw8OIREBVm1YAgQDAgYE/qoEBgIDBAIsLFiIDBYHOVw5BxYMiP2xBAMDCAUCQAUIAwMEjDoHFgyQDBYHOowDJgkJCRkP9wUMBtgYLRERExMRES0Y2AYMBfcPGQkJCf7gsQMEAgIBAQICBAMWFrELC1ZWCwtjpgUIAwMEBAMDCAWmVgoMDApWAAACAGYAJgOaA1oAQQCDAAABIgYHFQcOARcWMj8BPgEzHgEXHgEXFAYPAQ4BBw4BJy4BJy4BJy4BBw4BFx4BFx4BFxY2Nz4BPwE+ATUuAScuAScHJgYHDgEPAQ4BFR4BFx4BFzI2NzU3NjQnJiIPAQ4BIy4BJy4BJzQ2PwE+ATc+ARceARceARceATc+AScuAScuAScCtC1VIT4PAQ8QKg8+Ei8ZGS8SEhMBExFsChcNDRsODhoMDRUIDSoREQYNDyUWFjAZGDIXFyoSbR8iASMgIFQu7BgyFxcqEm0fIgEjICBULi1VIT4PDw8rDz0SLxkZLxISEwETEWwKFw0NGw4OGgwNFQgNKhERBg0PJRYWMBkDWiIfAT4PKg8QDz4REwETEhIvGRkvEmwKDwUFAwEBBwcHEgsRBg0NKhEUIQsMDgICBwkIGxJtIVQuLVQhICMB+wIHCQgbEm0hVC4tVCEgIwEiHwE+DysPDw8+ERMBExISLxkZLxJsCg8FBQMBAQcHBxILEQYNDSoRFCELDA4CAAAAAAYAZgCvA5oC8wAOAB0ALAA6AEkAVwAAEyIGFRQWMzEyNjU0JiMxMyIGFRQWMyEyNjU0JiMhFSIGFRQWMyEyNjU0JiMhAzQ2MyEyFhUUBiMhIiYDNDYzMTIWFRQGIzEiJjUXIgYVFBYzMTI2NTQmI5oVHx8VFh4eFscVHx8VAgUVHx8V/fsVHx8VAgUVHx8V/fs0HxUCBRUfHxX9+xUfxx8VFh4eFhUfNBUfHxUWHh4WAvMeFRYeHhYVHh4VFh4eFhUe7x4VFR8fFRUe/t4WHh4WFR4eAQQVHh4VFR8fFbseFhUeHhUWHgADAJoAJgOFA1oADwAuAE4AAAEOAR0BMzU0JicuASMiBgcDIyIGHQEUFjMhMjY9ATQmKwE4ASM4ATEhMCIxOAExJzU0Njc+ATMyFhceAR0BMzIWHQEUBiMhIiY9ATQ2OwEBtRIT/xMSEi8aGS8SWUcJCwsJAfUIDAwIRwH+mwEzIyAhVS0uVSAhIxQzSEgz/gszSEgzFALNEi8ZXFwZLxISFBQS/uMLCfoJDAwJ+gkLZ1wuVSAhIyMhIFUuXEgz+jNJSTP6M0gAAAMAZgCBA5oDJgATACIAJgAAEz4BMyEyFhURFAYjISImNREwNDUXERQWMyEyNjURBQYiJyUlIQUlZgFJNAI4NEpKNP3INEptCgcCOAcK/vIOIg7+8gJJ/cgBHAEcAqszSEk0/lY0Sko0AakCAWv+vwcKCgcBQbwKCrx5xsYAAAAAAwBmAI0DmgLzAA4AHQAsAAATNDYzITIWFRQGIyEiJjURNDYzITIWFRQGIyEiJjUXIgYVFBYzITI2NTQmIyFmHhYCzBYeHhb9NBYeHhYCzBYeHhb9NBYeNBYeHhYCzBYeHhb9NALAFR4eFRUeHhX/ABUeHhUVHh4VzR4VFR4eFRUeAAAABwBmACoDqwMmACEAMwA9AEcAUQBkAH0AAAEhMhYVERQGKwEVMzIWFRQGIyEiJjU0NjsBNSMiJjURNDYBITI2NRE0JiMhIgYVERQWMyEDBxceATc+AS8BFwcXNz4BJy4BBwcOAR8BNycuAQcnIgYXHgEXFjY3NiYnLgEnNCYjJyYGFQYWFx4BFxY2NzYmJy4BJy4BNzYmIwEFAgdCXV1Cy1gYISEY/t8YICAYWMtCXV0BRgEDExsbE/35ExsbEwEEGiYmBhUICAEGJnN/K34LAggJHAoRBwIGJiYmBhUIkwgMAQEhLQkOAgIJCBsUAQ0JQQkNAgsTEkQ1CQ0BAQsJKzMODgkBAQwIAyZdQf7SQl0gIRcYISEYFyEgXUIBLkFd/gYbEwEuExsbE/7SExsBYSAsCAIHBhUHLSJqM2sIHAoLAgl5BxUHLSAsCAIGGw0JE0ELAgkJCA8CBiYMCQsdAQsJFj8fHy8FAQsICQ0BBCUXFzMRCQ0AAAIAZgA7A5oDJgAXADoAABMRFBYzITgBMTgBMSEyNjURNCYjISIGFQEjIiY1ETQ2MyEyFhURFAYrARUzMhYVFAYjISImNTQ2OwE1yQ4JASABIAkODgn9wAkOAQXuMkhIMgJAMkhIMu5eFR0dFf7gFR0dFV4Crf6YCg0NCgFoCQ0NCf4eRzMBaDJHRzL+mDNHLR0UFR0dFRQdLQAAAAMAnAAmA4MDWgAxAEUAagAAASIGBw4BFRQGBw4BBw4BBzgBIw4BFx4BMyEyNjc2JicwIjEuAScuAScuATU0JicuASMTFBYXIT4BNTQ2Nz4BMzIWFx4BFQMuAQcOARceARceATMyNjc+ATc2JicmBgcOAQcOASMiJicuAScCEDZiJSYpHhAJDwUDBAEBDgsFBRwSAoESHAUFCw4BAQQDBQ8IER4pJSZiNaAgFv5UFSAZFhc7ICA6FxcYsAsrExMLCwgXDg8fERAgDg4XCAwMExMrCwEDAgMEAgMEAgIEAQNaKSYlYjZXbx4PFAUDBAEKIRERFRURESEKAQQDBRQPHm9XNmIlJin+9FyDLCyDXCA7FxYZGRYXOyD+TBMMCwwqEw8XCAgJCQgIFw8TKgwLDBMCAwECAQECAQMCAAACAGYAJgOaA1oAHQBWAAABMhYdARQGIyImPQEBBiInJjQ3ASMiJjU0NjsBOAEFIgYHDgEVERQWFx4BMyEyNjc+AT0BNDYzMhYdARQGBw4BIyEiJicuATURNDY3PgE7ATIWFRQGKwEDZBYgIBYWH/6oECwQEBABWGwWICAW7f2HBQoDBAQEBAMKBQGzBQoDBAQfFhcfFBMTMBv+TRoxExIVFRITMRrtFx8fF+0DWiAW7RYgIBZs/qgQEBAsEAFYHxYWIOIEBAMKBf5NBQoDBAQEBAMKBe0XHx8X7RoxExIVFRITMRoBsxswExMUHxcWHwADAZoAJgJmA1oACwAXACMAAAEyNjU0JiMiBhUUFhMyNjU0JiMiBhUUFhcUBiMiJjU0NjMyFgIAKjw8Kio8PCoqPDwqKjw8kDwqKjw8Kio8Ao08Kis8PCsqPP7NPCoqPDwqKjzNKzw8Kyo8PAACAGYAmgOaAuYAGQAzAAABMhYVFAYjIiYnIQ4BIyImNTQ2MzIWFyE+ARMyFhUUBiMiJichDgEjIiY1NDYzMhYXIT4BAyouQkIuJTkL/n4LOSUuQkIuJTkLAYILOSUuQkIuJTkL/n4LOSUuQkIuJTkLAYILOQF2QC4uQCkgIClALi5AKSAgKQFwQC4uQCkgIClALi5AKSAgKQAAAAADAGYAJgOaA1oAHAA4AEwAABM0Nz4BNzYzMhceARcWFRQHDgEHBiMiJy4BJyY1ASIHDgEHBhUUFx4BFxYzMjc+ATc2NTQnLgEnJgc0JiMiBh0BFBYfARY2NzYmLwE1wRkZVzo6QkI6OlcZGRkZVzo6QkI6OlcZGQE/VUpLbyAhISBvS0pVVUpLbyAhISBvS0onGxMTGg0MkREkCAkMEXgBwEI6OlcZGRkZVzo6QkI6OlcZGRkZVzo6QgGaISBvS0pVVUpLbyAhISBvS0pVVUpLbyAhwBMbGxPaDRYGSQgMEREjCTy+AAAAAwBmACYDmgNaABsANwBEAAATNDc+ATc2MzIXHgEXFhUUBw4BBwYjIicuAScmASIHDgEHBhUUFx4BFxYzMjc+ATc2NTQnLgEnJgMmBh0BFBY/ATY0LwHRGBhSNzc/Pzc3UhgYGBhSNzc/Pzc3UhgYAS9VSktvICEhIG9LSlVVSktvICEhIG9LSpUMGhoMwA0NwAHAPzc3UhgYGBhSNzc/Pzc3UhgYGBhSNzcB2SEgb0tKVVVKS28gISEgb0tKVVVKS28gIf7rBw4P5w4PCHMHHQd0AAACAGYAJgN4A0oANQBBAAABBhQfASEiBgcOARUUFhceATsBMjY1NCYrASImJy4BNTQ2Nz4BMyEHBhQXFjI/ATY0LwEmIgcTIiY1NDYzMhYVFAYCexAQVv7QIGgyNE1KNzNxKagWHx8WqB1QJCExMiIjSBEBMFYQEA8sELIQELIQLA9tFx8fFxYfHwNKECwQVhwkJH5fXn8lIxwgFhYfFBgXUUJCUBgZE1cQLBAPD7IQLBCyEBD83CAWFh8fFhYgAAABAKAALQNDA0sAUgAAASYiBwYUHwEqASMiBgcOAQcOARceARceARcWNjc+ATc+ATU0JiMiBhUUBgcOAQcOAScuAScuAScmNjc+ATc+ATM6ATMHBhQXFjI/AT4BNTQmLwECEQ4pDw4ONgUJBTJhKipAExQKCgowIyRZMjFlLi9OHBweHRUUHRUUFDciIUcjIz8aGSIHBwcODi0eHkQkCREHRA4ODykOkgcHBweSA0sPDw4pDzYdHBxOLy5lMjFZJCQvCgoKExRAKipgMxQdHRQkRB4eLQ4OBwcHIhkZQCMjRyEhOBQUFEQOKQ8ODpIHEgoJEweRAAAAAAUAOQAGA8cDcwArAC8AMwA7AEAAABMuAT8BPgE3JT4BMzIWFwUeAR8BFgYPARUUBgcFDgEjIiYnJS4BPQEGIicxAREtAQEFESUBNQcGIicVJSclJwUXShEJCUIECwYBVwYMBwcNBQFbBgoDQAkJECwNCv6lBQ0HBwwG/qYLDQkYCgG2AQb++v7NAQf++QJm2wsXCgEH4gEUGf7sGQHqCSMQcgYKAsEEBAQEwgQKB24QIwkZ2gwVBsIEBAQEwgYVDPMGBgEr/tqTk/38lAEmlP7ajX8GBqKUcJ8snywAAAAABgBmAFoDmgLzABAAQQBSAGAAbgB8AAATIgYdARQWMyEyNj0BNCYjIQc0NjMhMhYdARQGKwEVMhYVITIWFRQGIyEUBisBIiY1ISImNTQ2MyE0NjM1IyImPQEBMzIWHQEUBisBIiY9ATQ2MwMiBhUUFjMxMjY1NCYjFzQ2OwEyFhUUBisBIiY3IgYVFBYzMTI2NTQmI+EIDAwIAj4IDAwI/cJ7SDMCPjNISDPsFR4BABYeHhb/AB4VZhUe/wAWHh4WAQAeFewzSAGANAoPDwo0Cg8PCrMVHh4VFh4eFlceFQEVHh4VARUevhYeHhYVHh4VAo0MCY8JDAwJjwkMFTNISDOPM0hIHhUeFRUeFR4eFR4VFR4VHkhIM4/+ew8KNAoPDwo0Cg8BcR4VFR4eFRUeMxUeHhUVHh5IHhUVHh4VFR4AAAAAAQB/AD8DgQNBADsAABM3FwYWFxUOARUUFjMyNjU0Jic1Fw4BFRQWMzI2NTQmIyIGByc2JicuAQcnNzYyFwEWFAcBBiInASY0N3/tRQcVGBIXMCIiMBcSVQIBMCIiMDAiBgoFaQgaHQ0bDEYgGEQYAUcZGf65GEQY/rkZGQH67UYaMw7jCyUXIjAwIhclC8dWBAoGIjAwIiIwAQJpHTcMBQIDRSAZGf65GEQY/rkZGQFHGEQYAAAAAAIAZgA1A4sDWgAhAEUAABMUFx4BFxYzMjY3PgE3PgE3PgE1NCcuAScmIyIHDgEHBhUBDgEjIicuAScmNTQ3PgE3NjMyFx4BFxYVFAYHFxYUBwYiLwHJFhVJMjE4NmEkAQIBAQIBIykWFUkyMTg4MTJJFRYB7y9yP01DQ2UdHR0dZUNDTU1DQ2QeHSgkjQ8PDikPjQHoODEySRUWKSMBAgEBAgEkYTY4MTJJFRYWFUkyMTj+2iQoHR5kQ0NNTUNDZR0dHR1lQ0NNP3IvjQ8pDg8PjQAAAQBmAU8DmgIxACcAAAEyFhUUBiMiJicjDgEjIiYnIw4BIyImNTQ2MzIWFzM+ATMyFhczPgEDKi5CQi4lOQtYCzokJDoLWAs5JS5CQi4lOQtYCzokJDoLWAs5AjFCLy9CKyAgKysgICtCLy9CKyAgKysgICsAAAAAAQEtACYC8wNMABsAAAEWNjc2Ji8BJiIPAQ4BFx4BPwERFBYzMjY1ERcCpBIuDw8EEbkQKQ+5EQQPDy4RWiAXFyBiAloPAxIRLg+eDg6eDy4REgMPTP24FyEhFwJPUwAAAQEtADQC8wNaABsAAAEmBgcGFh8BFjI/AT4BJy4BDwERNCYjIgYVEScBexEuDw8EEbkPKRC5EQQPDy4SWSAXFyFhASYPAxIRLg+eDg6eDy4REgMPTAJIFyEhF/2xUwAAAQBpAE8DlwNaACgAAAEyFh8CHgEXFgYPARcWBgcOAS8BBwYmJy4BPwEnLgE3PgE/Aj4BMwIADhgGZN8OFgQFBwqiJgMLCwwcDcfHDRwMCwsDJqIKBwUEFg7fZAYYDgNaDw3KIQISDQ4bCp3eDhsICAIGaWkGAggIGw7enQobDg0SAiHKDQ8AAAIAaQBPA5cDWgAoAEIAAAEyFh8CHgEXFgYPARcWBgcOAS8BBwYmJy4BPwEnLgE3PgE/Aj4BMxUHDgEPARceAQ8BNzYyHwEnJjY/AScuAS8BAgAOGAZk3w4WBAUHCqImAwsLDBwNx8cNHAwLCwMmogoHBQQWDt9kBhgOQwUUDJZtCAgCGoYLGAuGGgIICG2WDBQFQwNaDw3KIQISDQ4bCp3eDhsICAIGaWkGAggIGw7enQobDg0SAiHKDQ+ihwsPARZqCBcMlUYGBkaVDBcIahYBDwuHAAAAAAIAZgAmA5oDWgA8AFkAABMzMhYVFAYrARYXHgEXFhc1NDYzMhYdATY3PgE3NjcjIiY1NDY7ASYnLgEnJicVFAYjIiY9AQYHDgEHBgcHNDc+ATc2MzIXHgEXFhUUBw4BBwYjIicuAScmNcleExwcE14IFxdFLS0yHBQUHDItLUUXFwheExwcE14IFxdFLS0yHBQUHDItLUUXFwhjISBvS0pVVUpLbyAhISBvS0pVVUpLbyAhAfAcFBQcMi0tRRcXCF4THBwTXggXF0UtLTIcFBQcMi0tRRcXCF4THBwTXggXF0UtLTIwVUpLbyAhISBvS0pVVUpLbyAhISBvS0pVAABeAI8ACwNxA2QAPgBNAFAAXgBsAHkAhQCZAJwAoACkAKcAsAC5AL4AwwDIANEA2QDeAOcA7wD0APkBAQEFAQkBDQEVAR4BIgErATQBPAFAAUgBUQFVAVkBYgFmAWoBcgF7AX8BhwGPAZMBnAGgAakBsgG2Ab4BxwHQAdUB3QHlAekB7QHxAfUB/QIFAgkCEQIZAh0CJQItAjECNQI9AkUCSQJNAlUCXQJmAm8CdwJ/AocCjwKYApwCpAKoArECugK+AsICywAAEz4BMyEeARceAR8BHgEXHgEXFBYdAS4BIyIGIzUjIiY9ASMiBgcOARURFBYXHgEzIRQWFyEiJicuATURNDY3ATIWMw4BByMiJjU0NjMhAxcjByIGFRQWMyEyNjU0JiMlIgYVFBY7ATI2NTQmIwEiBhUUFjMyNjU0JiMHNDYzMhYVFAYjIiY3FgYPAQYiLwEmNDc2Mh8BNzYyFwE1MRc1MRUXBzE3FwcxEwcyNjc+ATUjJyMUFhceATMnNTM0JiMnMzQmIxMzNCYjFxUyNjc+AScHNxc+AScuASMHFTI2NxMVMjY3NiYnByc3LgEHDgEVFyMUFjMTBxYyNwEiBgcXPgEzJSEVITUxFTE3IxUzNy4BIxUyFhc3LgEnBx4BFzcXJwcXNy4BJwceARc3Fy4BJwceARU3FzwBJwcUFhUXNSMVBzIWFzcuASMHOgEzNSoBBxcnFTM1BzM1IycUFjM1IiY1IzUVMzUHMzUjBz4BMzUiBgcXNDY3Jw4BFTMZASMRFy4BNSMUFhc3IiYnBx4BMyUhFSEXLgE1IxQWFzcFITUhJx4BMzUiJicHJxQWFzcuATUjGQEzETcOARUzNDY3ASYiIxU6ATM3Bz4BNycOAQcXBzM1IxUnFBYzNSImNTciBhUzNDYzJSEVIRMnBxcHMzUjJxUzNQE0NjM1IgYVFyImNSMUFjMlIRUhNxQGIxUyNjUnMhYVMzQmIwUhNSEnNDYzNSIGFRciJjUjFBYzNyMVMzcjFTM3FAYjFTI2NScyFhUzNCYjBzM1IwczNSMBNDYzNSIGFRciJjUjFBYzNxQGIxUyNjUjJzIWFTM0JiMVNSIGFTM0NjMXNCYjFTIWFQcyNjUjFAYjJxQWMzUiJjU3PgEnBxYUBxcHNycHBxYyNycGIicnFzcnJwYWFzcmNDcnNyYGBxc2Mhc3FycHFzcHFzc3LgEHFzYyFze4DiYUARIFCAQCAwHNAgMBAQEBAQwaDQUIBKsOFO8HDAUFBQUFBQwHAQAGBv70FCYODw8PDwGdAgMBFCAM1w4UFA4BESJYWO8OFBQOAREOFBQO/u8OFBQORQ4UFA4BRC9DQy8vQkIvmlpAP1paP0Ba4wQBBFUEDAUmBQQEDQUcSgUMBf77AREFBdkJDQMDBAICAgpECwICAQQDAQoGBM0KBgQRCgYEDAIFAQEBAQlPBgIDAQEEA0IDBQFnBAUBAQECCFgHAgYDAwMKCgYEgwcDCAP+QxYqEA8NIhIBEf7vAREBAQEXBQwGAwYDEgEEAgsBAgEOzc0OzRcCBAMOAQIBEwMBAQETAQEUAQEUARQUKQwZCwYNGw4QBAgEBQkEAgwVtaurLBoSCg4UFPnv7xEDCQUJEAYHBAMOBwYUFBsDBBQGBx8FCQMOBhAJAQD/AAEAFQUGFAYGE/7rAQz+9FAQKhYSIg0PIRIPDw0OFRUMDxIVDg0BngIEAgECAQQ5Cx8TDBQiDBHg19csGhIKDhgSGhQOCgER/u8BET5ZDlhRWFgKFP7vDgoSGiwKDhQaEgER/u8BERgOChMaLQoOFRoT/u8BEf7vGA4KEhosCg4UGhIiIiIjIyMXDgkSGiwJDhUaEiMjIyIiIgEiPCszSXwrPBVJM2c8KzNJFWcrPBVJM0RgFFQ8pGBEO1SPRGAVVDukYEQ8VN4IAQcPAQENVFQNVRQHFAcOAQQCNCcNJhAHAQgOAgIQJQgVCBABBAIOHBwOHEpKDkoWBxUIDgEFAQ8DPA4QAQIDAQIBzQIFAgIDAgIEAvYDBAHOFA6qBQUEDQf93gcMBQUFEiIQDw8OJhQCIhUlD/4eAQ0iFRQODxQBi1irFA4OFBQODhSJFA4PFBQPDhT+tUIvL0NDLy9CcUBaWkBAWlpnBQwFTAQEIgUMBQUEGUMEBQKECgoKCgYICNoF/wAKAQECBAIGAgQCAQEKzgQGwgUG/Y8EBk4LAwICBQID7ggBBgMDBU4KAwIBfQoDAwMGAgdYBwMBAQIFA1gEBv4RCAMDAtgREA8NDhUVFRUVFQ4DBBUCAQsCAwERAQIBD83ND8wCBAUDDgIDAgkIAgQCCQECAQULAgYDBQIDAfb29gQDAxQEAxUVARTYzs4LFRgTGhUOCqqqqgoVHAMEFQcGIAUJAw8HEAn93gIi/d4RBAgFCRAGBwQDDgcGFBQ3DyEREyQRBw4VDA8SFQ4ND1AWKhAPDSISAiL93gIiUBApFxMhDf4vARUUUxQgDREOJBYKBRUVLBIaFQ4JLRoTCg4VFQFFWA5YAxROWFj+2woOFBoSGA4KEhoUFCwKDhQaEhgOChIaFBRdCQ4VGhIYDgoTGhUVFRUtCg4VGhMXDgkSGhUVFRX+Ois8FUkzZzwrM0l8KzwVSTNnPCszSRU9YEQ7VI9EYBVUO6RgRDtUj0RgFVQ7CgcVCA4BBQEPTU0PTQ8HBw8BARQjDyMVCBUHDwEFAQ4CBwEIDgIBDxoaDxpTRA9EDQgBBw8BAg4AAAAABABmACYDmgNaAAQACAAUADEAAAEXByM1ATcXBzcHJzc2Mh8BFhQHMQMnNycHJzcnByc3JwcnNycHJzcnByc3JwcnNwEHATWrz6sBuj6qPcFTq1QNJg1qDg6WRDYpNjdgKWA3Nyk2N18oYDc3KTc2XylfRaQCkKQBoKvPqwG6Pqs9wVSrUw4Oag0mDf2ERTcoNjZgKWA3Nyk3N18pYDc2Kjc3XylfRKT9cKQAAAIAdgAmA4gDSgA1AEEAAAEWFA8BITIWFx4BFRQGBw4BKwEiJjU0NjsBMjY3PgE1NCYnLgEjIRcWFAcGIi8BJjQ/ATYyFwMyNjU0JiMiBhUUFgF0Dw9XATAgaDI0TUo2NHApqBcfHxeoHFEjIjAyISRIEf7QVw8PECwQshAQshAsEG0WHx8WFiAgA0oQLBBWHCQkfl9efyUjHCAWFh8UGBdRQkJQGBkTVxAsEA8PshAsELIQEPzcIBYWHx8WFiAAAAIAmgAmA4UDWgA1AFIAAAE0Njc+ATMyFx4BFxYXMRYGBw4BBwYmJy4BIyIGBzEHDgEdASEyFh0BFAYjISImPQE0NjsBNQciBgcOAR0BFBYXHgEzITI2Nz4BPQE0JicuASMhASoiIx9ULSglJTwVFggCBQUFEAkSJAQKSC8bMBEBExQBgTNGRjP+BjNFRTMYGAYIAwMDAwMDCAYB+gYIAwMEBAMDCAb+BgJ1LVMgIiMODjAiISkJEwgIDAIDFBYvOxQUAREvG2BGM/0zRkYz/TNGYMEEAwIJBv0GCQIDBAQDAgkG/QYJAgMEAAAAAgBmACYDcQNaAI4A6wAAARQGBw4BBxUUBgcOASMiJicuAT0BLgEnLgEnLgEnLgE1NDY3PgEzMhYXHgEXHgEXHgEzMjY3PgE1NCYnLgEnLgEnLgEnLgEnLgE1NDY3PgE3NTQ2Nz4BMzIWFx4BHQEeARceARUUBgcOASMiJicuAScuAScuASMiBgcOARUUFhceARceARceARceARceARUFMhYXHgEVFAYHDgErASImJy4BPQE0JicuASciJicuATU0Njc+ATc+ATc+AT0BNDY3PgE7ATIWFx4BFRQGBw4BKwEiBgcOAR0BFAYHDgEHHgEXHgEdARQWFx4BOwECGhcXFj0mBgYGDwkJDwYGBhctFhYmEAUHAwICBQUFDAcEBwMECgUTJRISJhQcKg4PDwgICBQNDCIWHzEUEyEODg0XGBg9JwYFBg8JCg8GBQYpRx4KCQUFBQwHBAcEAwkFESAPDyMUGSkPDw8JCAkVDQ0kFh4wExMgDQ0OAS8JDgYGBQUGBg4JPRclDQ0MBgYFFQ8JDwUFBQUFBQ8JDxUFBgYMDQ0lFz0JDgYGBQUGBg4JGggNBQQECgkKFg0NFgoJCgQEBQ0IGgFbIDcXFhwGMwoPBQcGBgcFDwoxAgoICBQNAwkEBQsGCQ8GBwYBAgEFAwwSBgYFCgsLHhQMEwcICwQFCgYHEAgIGBARLBwhOBcXHQYzCg8FBgcHBgUPCjIGHRkHEwwJDwYHBgEBAQUEDBEGBgYLDAseFA0WCQgNBAUKBQgPCAcYEA8rG+gFBQUOCQoOBQUFDQ0OJBeeEBgHCAgCBgUGDggJDgUGBQEBCAgHGBCeFyUNDQ0FBQUOCgkOBQUFBAUEDQqcEx8MDA8DAw8MDR4TnAkOBAQFAAMAZgA4A5QDJgAkAF0AagAAATIWFREUBiMhIiY9ASMiJj0BNDY7ATUjIiY9ATQ2OwE1NDYzIQcmIg8BLgEjIgYHJyYiBwYUHwEOARUUFhcHBhQXFjI/AR4BMzI2NxcWMjc2NC8BPgE1NCYnNzY0JwUyFhUUBiMiJjU0NjMDUxsmJhv9lRwmLgcLCwcuLgcLCwcuJhwCaxMKHQtHH0wrKkwgRwodCgsLRxgbGxhHCwsKHQpHIEwqK0wfRwsdCgsLRxgaGhhHCwv+8UBaWkA/Wlo/AyYmG/2VGycnG1gKCJgICkELB5gIClobJmgKCkcYGhoYRwoKCh0LRx9NKipNH0cKHQsKCkcXGxsXRwoKCx0KRx9NKipNH0cLHQp1WkA/Wlo/QFoAAAAABQBpADcDkgNOADMAdgCBAKsAuQAAEyYiBwYUHwEOAQcGFBc3DgE5AhUyFBceARceARceARcWFx4BFxY7AT4BNxcWMjc2NCcBBT4BMzEyFhceARceARcOAQcGFhcWNjc+ATc2NCcHPgE5ASc0JjUuAScuAScuAScmJy4BJyYjMwc1MSIGBw4BFx4BNwUjKgEjKgEjOgEzBS4BJz4BNxcOAQcOARUGFhceARceARceATMyNjc+ATcXDgEjIiYnLgEnFzQmJxcuAScuAScuASe1DicODg6BKUYbBQUqIAoBAQECAgMKBwwmGRkfIEwsLDIBMmAriw4nDg4O/SwBDg4eDkl1KxYgCwMFAgwaDw0EDw8nDRYmEAYFKh8LAQEBAwEECQcNJRkZHyBMLCwzAQEUKBQTFAQFIRMBoRMKCQMCBQMgEAP9bwIFAhY3IEIBAgEGBgEGBQYQCwoZDQ4dDw4dDgIEATccPR9IdSsWIAz4AQElAQQBBQkDBAYCA04ODg4nDoIlWTIKFwsWEAYBAgEBBQMGEAoUMxsaGhoqDQ0BGxqLDg4OJw4C1LoDA0YuFywRBAgDFCUSDycNDAMPGjkeChcLFQ8GAQEBAQEFAwYRCRQzGxoaGioNDS8vBAUEIhMTFQXREAQIAyVCHUICBAIOHQ4PHQ4NGQoLEAYFBQYGAQIBNg4PRi4XLBEGAgMBJQEBAQIFBAQIBQAEAGsAhQOVAvMAJACVAKEArgAAEx4BFx4BMzI2Nz4BNz4BNy4BJy4BJy4BIyIGBw4BBw4BBx4BFyUwBgc3FhQHJx4BOQEjFRQGFQ4BBw4BBw4BBwYHDgEHBiMiJy4BJyYnLgEnLgEnLgEnNCY9ASM5ATA2NwcmNDcXLgE5AjM1MDY1PgE3PgE3PgE3Njc+ATc2MzIXHgEXFhceARceARceARcUFjEXOQEFNDYzMhYVFAYjIiY3IgYVFBYzMjY1NCYj1gshFSx1SEh1LBUhCwMFAgIFAwshFSx1SEh1LBUhCwMFAgIFAwK/CyArBQUrIAsBAQEDAgMKBg0mGRkfH0wsLTIyLSxMHx8ZGSYNBgoDAgMBAQELICsFBSsgCwEBAQMCAwoGDSYZGR8fTCwtMjItLEwfHxkZJg0GCgMCAwEBAf44HhUVHh4VFR4zPVVVPT1VVT0BrREsFy5GRi4XLBEECAMEBwURLBcuRkYuFywRBQcEAwgEJQYQFgoXChUQBQEBAQECBAMGEQoTMxsaGhspDQ4ODSkbGhobMxMKEQYDBAIBAQEBBRAVChcKFhAGAQIBAQUDBhAKFDMbGhoaKg0NDQ0qGhoaGzMUChAGAwUBAQIBFhYeHhYVHh6oVj08VlY8PVYAAwBrAEMDmAMxAC0AVwCDAAAlDgEnJicuATc2Nz4BNxcOAQcGFhcWNjc+ATc1PwE+ARceAQcOAScuAScHDgEHAR4BBw4BJy4BJzceARcWNjc2JicmBg8BJyMuATc+ARceAQcOAQcXPgEXJSY2NzYWFxYGByc+AScuAQcOARceAR8BBx4BFxYGBwYmJyY2Nz4BFzcuAScBwC2cQCETFAwIBxcbUCoDHTQSHxEqLGkfCgwC6QMQPxwcERARPxwNEgSqAxENATBQYgoKfU8vShc0EDIfN1UHBkQ2ESAPI2wJIS0BATEhIC4BAQoITxMqFv50HzpISZIgEgYVNA4DDRVjMDEnFggdEhCAAQIBDxIdHT4QDxIdDBsNYA8YCJNCHC0XISBKJiUhKCoCPAMdGi1sHh8VLQ4fECsBBR0SERBAHR0SEQcWDgEVKRQBLQp9T09iCgYyJR8ZIAQHQjQ1VQYCBAUTyQIwISEsAQIvIQ4ZCpQGBQNzSpUfHz1LK1omHho8HTMqFBVmMhUgCwnSAgQCHT8QEBQeHj8QBgQDnw0iFAACAGYAJgOVA1UAPQBzAAABDgEHDgEHDgEHBhYXFgYHAQ4BFRQWFx4BMzI2NwE+ARceATc+ATc+ATc+ATcHDgEjIiYnIycuATU0NjcxNyc2FhceARcWBg8BFzc+ARceARceAQcOAQcOAQcGJicHDgEjIiYnLgE1NDY/AS4BNz4BNz4BNwJ9BgwGGzATExkFBQcLBgUL/voEBQUEBAwGBgsEAQYLHg8YNhobMBMTGQUBAQFODR8SESAMATwNDQ0NTSopVCcLDwICBwmGK4YJFwwMFAURCwgHKB4dSyohQh/vEy8aGjASExQUE+4JBAYHKB0eSyoC9gEBAQUZExMwGxo2GA8eC/76BAsGBgwEBAUFBAEGCwUGCwcFBRkTEzAbBgwGTQ0NDQ09DCAREh8NTl8ICxEFEw0MFwmGK4YJBwICDwwmVCkqSx4dKAcGBAnuExQUExIwGhovE+8fQiEqSx0eKAcAAAMAZgAmA5oDWgAuADoARgAAATIWFRQGBw4BBw4BBw4BIyImNTQ2NzERNDYzMhYVMREeARc+ATc+ATcuATU0NjMBIgYVFBYzMjY1NCYBIgYVFBYzMjY1NCYC8EZkSjcENzQ1eEgOWzxGZEQ0HRUUHSY5DjZYKCgkAzA8Y0b+IB0qKh0dKSkBwx0pKR0dKioDWmRGPFsOSHg1NDcEN0pkRjlZEAG2FR0dFf5KCzYkAyQoKFg2ElY2RmT9vCkdHSoqHR0pAeEqHR0pKR0dKgAAAAADAGYAJgOZA1cAHgAiACYAAAE2FhceARUWFAcUBgcxAw4BByImJzEDJS4BNT4BNzElBxcTJwUXNwNcDBoKBgcBAQEB/wQXDg4YBYv+yAwPARENAnrtVpdA/lDD7QNXBAUKBQ4IAwYDAwQC/SkNEQEPDAE4iwUYDg4XBCftwwGwQJdW7QAKAHQANAOMA0wAGgAvAD4AQwBPAFsAZwB2AIMAjwAAARceAQcBBiYvAS4BPwEnJjY/AT4BHwE3NhYXExcWBg8BDgEvATcXFjI/ATY0LwE3BQ8BBhQfAxYyPwInNwcXNycXFhQHBiInJjQ3NjInFhQHBiInJjQ3NjIXFhQHBiInJjQ3NjIBDwIGFB8CNy8BJiIHIQ8BFzc+AS8CLgEHBxYUBwYiJyY0NzYyAs67EAEO/e8PKw+7EAEOhoYOARC7ECoPhYUPKhA4hg4BELsPKw+FOGIHFgdyBwdiOP43bQMEBANyAwcQBwNsld66lrqWCggIBxYICAgIFkQICAcWCAgICBadCAgHFggICAgW/t0EcgMEBANilmIDBxAGAVcDWpVbBgIFA3IHEgh4CAgHFggICAgWA0m7DysP/fAPARC7ECoPhYUPKw+7EAEOhoYOARD+d4UPKhC7EAEOhjhiBwdyCBUHYjgubAMHEAYEcgMEBANtld+6lruV1ggWCAgICBYIB0QIFggICAgWCAcHCBYICAgIFggHAQYDcgQGEAcDYpZiAwQEA1qWWgcSCANyBgIFwwcWCAgICBYHCAAFAGYAOwOaAyYAJQApADgARQBaAAABMhYXHgEVMRUzMhYVMREUBiMxISImNTERNDYzMTM1NDY3PgEzMRcjETMBKwEOARUxERceATMxMxEhIxEzMjY1MRE0JiMxJysBDgEHDgEVMRUzNScuAScuASMxAkgYLRERE14ySEgy/cAySEgyXhMRES0Yp76+/t9eBAgLAQENCF4B4l5eCQ4OCdiQBAQGAgMEvgEBAwIDCQQDJhIRES0YF0cy/pgzR0czAWgyRxcYLREREvP+awGVAQ0I/pgECAsBlf5rDQoBaAkNkAEDAgMJBBcXBAQFAwMDAAAFAGYAJgOaA1oAQABEAEgATABRAAAlMzIWFx4BFSEVIRQGBw4BKwEiJicuATUhNSE0Njc+ATsBNSMiJicuATURNDY3PgEzITIWFx4BFREUBgcOASsBFREzNSMjFTM1BxUzNQcVMzUjAikpCA8GBgYBH/7hBgYGDwikCA8GBgb+4QEfBgYGDwgpewgPBgYGBgYGDwgBSAgPBgYGBgYGDwh7KSmkUlJSUlJSygYGBg8IUggPBgUHBwUGDwhSCA8GBgZSBgYGDwgB7AgPBgUHBwUGDwj+FAgPBgYGUgHsUlJSpFJSpFJSAAAABwCaACYDZgNaABAAIQAyAEMAVABjAHIAABMiBh0BFBYzITI2PQE0JiMhBzQ2MyEyFh0BFAYjISImPQETIgYdARQWMyEyNj0BNCYjIQc0NjMhMhYdARQGIyEiJj0BETQ2MyEyFh0BFAYjISImPQEXIgYVFBYzMTI2NTQmIzEzIgYVFBY7ATI2NTQmKwHqBQgIBQIrBggIBv3VUC8hAisiLy8i/dUhL1AFCAgFAisGCAgG/dVQLyECKyIvLyL91SEvLyECKyIvLyL91SEvghEYGBERGBgRdxAYGBABERgYEQEDFwgGXgYHBwZeBggOITAwIV4hMDAhXv3ZBwZeBggIBl4GBw0hLy8hXiEwMCFeARohLy8hXiEwMCFeBhgRERgYEREYGBERGBgRERgABwCaACYDZgNaAA8AIAAwAGEAbwB9AI0AAAEiBh0BFBYzITI2PQE0JiMFNDYzITIWHQEUBiMhIiY9ARMiBh0BFBYzITI2PQE0JiMFNDYzITIWHQEUBisBFTIWFTMyFhUUBisBFAYrASImNSMiJjU0NjsBNDYzNSMiJj0BEyIGFRQWMzEyNjU0JiMDNDYzMTIWFRQGIzEiJhcjIgYdARQWOwEyNj0BNCYBOwYICAYBigYICAb+ITIjAYojMjIj/nYjMlUGCAgGAYoGCAgG/iEyIwGKIzIyI5IVHs0VHh4VzR4VZhUezRUeHhXNHhWSIzKGDhUVDg8UFA8jFQ4PFBQPDhXRNAoPDwo0Cg8PAxMIBmIGCQkGYgYIDiMyMiNiIzIyI2L+5wkGYgYICAZiBgkPIzIyI2IjMjMeFR4VFR4WHh4WHhUVHhUeMzIjYgEaFQ4PFBQPDhX+tQ8UFA8OFRXeDwszCg8PCjMLDwAAAAcAZgBzA5oDIgAnADcASABZAGoAeACGAAABDgEHMz4BNzYWFx4BOwEyFhUUBisBFTMyNjUnLgErAScmJy4BJyYHByIGHQEUFjMhMjY9ATQmIwU0NjMhMhYdARQGIyEiJj0BFyIGHQEUFjMhMjY9ATQmIyEHNDYzITIWHQEUBiMhIiY9ATciBhUUFjMxMjY1NCYjAzQ2MzEyFhUUBiMxIiYBpz5kHmsUMxxKfhIEFw4lKz09K1RUTm8BA21MBgISIB9QLi4x9gUHBwUBXwUICAX+ViwfAV8fLCwf/qEfLEsFBwcFAV8FCAgF/qFLLB8BXx8sLB/+oR8sdw0SEg0NExMNHxINDRMTDQ0SAyIKRzMTGQUNUkgOEj0rKz1Ubk4JS2kFLCMiLQgJCfEIBVkGBwcGWQUIDSAsLCBZIC0tIFn/BwZZBQgIBVkGBw0gLS0gWSAsLCBZ/xIODRISDQ4S/tUNEhINDhISAAgAZgA7A5oDJgAQADMAQQBYAGcAfgCWAKQAABMhMhYVERQGIyEiJjURNDYzETMVIyIGFRQWMyEyNjU0JisBNTMyNjURNCYjISIGFREUFjM3MzIWFRQGKwEiJjU0NgUyNjU0JisBNTQmIyIGHQEUFjMyNj0BJxQWOwEyNjU0JisBIgYVJzM1NDYzMhYdARQGIyImPQEjIiY1NDY3NDYzMhYdATMyFhUUBisBFRQGIyImPQEHMzIWFRQGKwEiJjU0NuACQAkODgn9wAkODgnuXhUdHRUBIBUdHRVe7jJISDL9wDJISDKfZAkMDAlkCQwMAQsJDAwJUAwICQwMCQgMRgwJgQkMDAmBCQxsMwwICQwMCQgMMwkMDK8MCAkMMwkMDAkzDAkIDKaBCAwMCIEJDAwCww0J/pgKDQ0KAWgJDf4ILR0UFR0dFRQdLUczAWgyR0cy/pgzR+AMCQgMDAgJDCkMCAkMEAgMDAhJCAwMCBB1CAwMCAkMDAkVDwkMDAlICQwMCRAMCAkMcAgMDAgQDAgJDBAIDAwISRAMCAkMDAkIDAAAAAIAmgAmA0ADWgBaAHcAAAEiBgcOAQcOAQcOAQciFCMVMSMwFhcnDgEVERQWMzI2PQE+ATMyFh8BMR4BMzI2Nz4BNz4BNzI2NzAyNTM1MTAmJxc+ATURNCYnJgYHFQ4BBw4BIyImLwEuASMDET4BMzIWHwEeATMyNjcRDgEjIiYvAS4BIyIGBwFgLUAXCxEGAwUCAQEBAQEBCx4pCAghGBghDCkfHjghAyBQMCxBFgsRBgMFAgECAQEBCh4oCAkTEQ8hDAIGBgosIh83IgMgTzBUDCkfHjghAyBQMBgqEQspHx83IgMgTzAZKRIDWg0JBQkEAgQBAQEBAQELHikIFgv9YxgiIhjVBAcRDgENGQ0IBQkEAgQCAgEBAQoeKAgVCwGnER0HBgULAQEDAgUJEg0BDRr+UQEwBAgSDQENGQQD/tAECBIOAQwaBAQABQBoACcDgANaAAkAEgAcADMAWAAAATYWFxYGBwEnASUXFgYHBiYvAQEuAQcOAR8BNyclNhYXHgEXHgEHDgEnJicuAScmJyY2Nyc2JicmBgcGFx4BFxYXFhceARcWFxY2NzYmJyYnLgEnJicuATcC8BxGFxcHG/65bgFH/tlgEQUUFDURYQG6ETUUFQQRYGJg/ikWIQIBNUUWFwUFJRY7JygvCgoBAR0WdwIdFhYiAQMDAhAPDxcYIiJZNzhFFiIDAhwWOCwsRBkZEiUXAwMDFwYbHEYX/u2DARNXcxQ1EREEFXL+uRUEERE1FHNTck8CHhYfZBAFJhUWFwUNHx9JJCUYFiEBExYiAQIdFh0kJE4pKScoJCQ5FBMHAxwWFiMCBg8PLBscHT6CLQAACgBnACcDbANaAAkAEwAdADAASQBSAFwAZQB4AJEAAAE2FhcWBg8BJzcnFxYGBwYmLwE3Fy4BBw4BHwE3JyU2FhceARceAQcOAScuAScmNjMnNiYnJgYHBhYXHgEXFjY3NiYnLgEnLgE3BTYWFxYGDwEnNxcWBgcGJi8BNxcuAQcOAR8BNyU2FhUeARceAQcOAScuAScmNjcnNiYnJgYHBhYXHgEXFjY3NiYnLgEnLgE3AdsQKA0NAxC8P7yqOAkCDAweCjc4xQkfCwwDCjc5OP7zDBMBAR4nDQ0DAhYMRDEBARENRQERDA0TAQIQGxxkTw0TAgEQDUBMFBYNAgJ2DykNDQQPvD8SNwoDCwweCjc4xQoeDAsDCjc4/rsNEwEeKAwOAwMVDUQwAgERDUQBEQ0MEwEDERsbZU8MFAEBEAxATBUVDQIDKgwDDw8oDJlJmTBACx4JCgMLQC7kDAIJCh0MPy4/LAERDBE4CQIVDAwNAw9eGwwTCwwSAQEQDCFaLCxEBwIQDAwTAgY0ISJIGvANAw8PKAyZSclACx4JCgMLQC7kCwMJCh0MPy5rAREMETgJAhUMDA0CEF4bDBIBCwwSAQEQDCFaLCxEBwIQDAwTAgY0ISJIGgAAAAAGAGYAOwOaAyYAEAAzAIwA5ADxAP0AABMhMhYVERQGIyEiJjURNDYzETMVIyIGFRQWMyEyNjU0JisBNTMyNjURNCYjISIGFREUFjMBJgYVByYiByoBIycmIg8BIgYfARQGBw4BBzEOARUHIgYVFxQWMxceARcHBhYfARYyNTcyFjcXFjI/AT4BLwEyNjUyNjc+ATU3MjY1JzAmLwEuASc3NiYvASc2JisBIgYVBw4BBw4BIycmBg8BBhYfARwBFQYUFRwBFwcGFBUXHgE/AR4BHwEUFjsBMjY1Nz4BNxcWNj8BNjQvATwBNTY0NTwBJzc+AS8BLgEPAS4BLwEXPgEXHgEHDgEnLgE3JzQ2MzIWFRQGIyIm4AJACQ4OCf3ACQ4OCe5eFR0dFQEgFR0dFV7uMkhIMv3AMkhIMgG4AQQOAwcDAQIBDQIDAR0BAQEJAQEBAQEBAhYCAgECAhcBBQIHAQECHQEEDgQJBA4BAwEdAQIBCwEBAQEBAQIXAQIBAgIWAgQDCAEBAR7JAQQCMwIEBQUIBAECAR8DBAIZAQICGgEBGgIaAQMDIAULBQUEAzICBAUGCwUfAgUBGQECHQEBGgIBARoBAwMgBAsGBZQGFwoKBwYFFwoKBwXhGhERGhoRERoCww0J/pgKDQ0KAWgJDf4ILR0UFR0dFRQdLUczAWgyR0cy/pgzRwFEAQEBEgEBEQIBEQMCFAEBAQECAQIEAgQCAiEBAgMEBwQUAQMBEAEBEgEBEQIBEQECAhUCAQICAgMCBAMBIgIBAwMHBBQCAwEQcQMEBAEiAQUDAQIMAQIBLAEFARQCAgIBBAIDBgMVAgQCKwEBAQwEBgIhAgMDAiECBgQMAQECLAEFARQBAwECAwIEBgMVAgMCLAEBAQwDBgMgtAoGBgUXCgkGBQYWCj8RGBgRERgYAAAAAwBmACYDmgNaACgASQBWAAATNDYzMhceARcWFxYXHgEXFhUUBiMiJjU0Jy4BJyYnJicuAScmIyImNRE0NjMyFx4BFxYXFhceARcWFRQGIyImNTQmJy4BIyImNRciBhUUFjMyNjU0JiNmKR1LSEmHPT01NSkpOA4PKR0dKQwMLiEhKysyMm07Oz0dKSkdLSwsUSUlICAZGCIJCCkdHSkvLCxzPh0pcS9CQi8uQkIuAxQdKQ8OOCkpNTU9PYdJSEsdKSkdPTs7bTIyKyshIS4MDCkd/tYdKQgJIhgZICAlJVEsLC0dKSkdPnMsLC8pHeNCLi9CQi8uQgADAGYAJgOaA1oAgQC6AM4AAAExMhYXHgEXHAExHgEXPgE1NDYzMhYVFAYHFhQdATMyFhUUBisBFRQGBx4BFx4BFRQGIyImNTQmJy4BJw4BBysBLgEnDgEHDgEVFAYjIiY1NDY3PgE3LgE9ASMiJjU0NjsBNTQ2NS4BNTQ2MzIWFRQWFz4BNzwBNSY0NT4BNz4BMzETMDQxNTQmJy4BJzAiNS4BIyIGBw4BBw4BHQEUFhcwFBUeARcRNDYzMhYVET4BNzY0Mz4BPQE0MDUDLgEnLgEjMSIGBw4BBz4BMzIWFwIAJUQaGhwBDBcJAwIaExMbESgBXhMbGxNeCAgNFgkODhsTExoJBwIGBCVrPgEBPmslBAYCBwkaExMbDg4JFg0ICF4TGxsTXgEoERsTExoDAwkWDQEBHBoaRCWzGRUECAUBFjojIjoWBQkFFRkKChI7JBsTExskOxEBAQkKXAQKBg0jExMjDQYLAxUsFhYsFQNaHRoaRCQBAQkUDA4jFRMbGxMvZCkCBAJDGhMTGwoXLRUMGw8YNh8TGxsTFR4MBAkELDUBATUsBAkEDB4VExsbEx82GA8bDBUtFwobExMaQwMFAyhhMBMbGxMXJA4LFQgBAQEBAQEkRBoaHf4uAW8jLA0DBAMBCQsMCwIGAw4sH6gWKBIBASEwCgGNExsbE/5zCjAhAQESKRU2AQEBPggPBg0PDw0HDwgEBQQEAAAAAgBoAIYDmgLvACcASAAAAQYHDgEHBhcWFx4BFxYzITI3PgE3NjUnJicuAScmKwEnJicuAScmBwUeATsBMhYVFAYjISInLgEnJicmNz4BNzY3NhceARcWFwFpPDEyRRESBgUaGlQ2NjwBKSsnJzkREQECERE5JiYqBwMUIyRZNTQ2AQUEGhAqMEVFMP7XKiUmOhISBAMMDDAiIykpKCdCGBkKAu8KHx9ZODg8PDQ0TRYVEBE6JicsCSskJTcQEAUyJycyCQoJ/Q8URTAxRA8PNSQkKionJj4WFQcHCQgrICEpAAAAAwBmAVoDmgImAAsAFwAkAAABFBYzMjY1NCYjIgYFFBYzMjY1NCYjIgYHIiY1NDYzMhYVFAYjAs08Kis8PCsqPP7NPCoqPDwqKjzNKzw8Kyo8PCoBwCo8PCoqPDwqKjw8Kio8PJA8Kio8PCoqPAAAAAQAZgAmA5oDWgAOAB0AMwBJAAATNDYzITIWFRQGIyEiJjURNDYzITIWFRQGIyEiJjUBJy4BJy4BIyIGBw4BDwEGFjMhMjYnBRceARceATMyNjc+AT8BNiYjISIGF2YeFgLMFh4eFv00Fh4eFgLMFh4eFv00Fh4CLoMCAwMCBQICBQIDBAGDCg0OAQYODQr+2IMCAwMCBQICBQIDBAGDCg0O/voODQoDJhYeHhYVHh4V/TQVHh4VFh4eFgGmngIDAQEBAQEBAwKeCxsbC4CeAgMBAQEBAQEDAp4LGxsLAAAAAwBmACYDmgNaABUAJAA6AAABFx4BFx4BMzI2Nz4BPwE2JiMhIgYXAzQ2MyEyFhUUBiMhIiY1BRcWBiMhIiY/AT4BNz4BMzIWFx4BFwE7rgIGAgMHAwMHAwIGAq8MEBP+ohMQDdUeFgLMFh4eFv00Fh4Bsa4NEBP+ohMQDK8CBQMDBwMDBwMCBgIDKMwCBAIBAQEBAgQCzA8jIw/+mBUeHhUVHh4VnMwPIyMPzAIEAgEBAQECBAIAAAIAcwBJA4wDWABGAFoAAAE2Nz4BFxYXFjY3NiYnJicmBgcGBwYHDgEXFhcWFx4BFxY3Njc+ATc2PQE0JiMiBh0BFAcOAQcGBwYnLgEnJicmJyY2NzY3JTY0JyYiBwEnJiIHBhQfARYyNwEBCyEpKlwwMC0SJAgIDhI7Pz95NzYrKhcYCBAPJCMyMnQ/Pz8+NDRKFRQbFBMbEBA4JygwLzAxWCYmGxsMDAYSEiACgQ4ODiYO/qVHDiYODg5oDScOAXwClCUZGRQEBBUHDRISJAgaBgYcICAyMTs7fD0+NjcnJysDAhITJCVjPDxBIBQbGxQgMi0uTBscDg8CAiEeHiopLy9eLS0mUw4mDg4O/qVHDQ0OJw1oDg4BfAAAAgBmACYDmgNaADoASAAANyYnLgEnJjU0Nz4BNzY3NDY1Njc+ATc2MzIXHgEXFhcUMDMWFx4BFxYVFAcOAQcGIyInLgEnJic0MCM3HgEzMjc+ATc2NTQmJ90bFhYfCAkJCB4WFhsCHCEhSSgpKiooKEkhIRwBGxcWHwgJISBvS0pVKikoSSEhHAFKKXBAQDg4UxgYMCqfHCEhSSgoKiooJ0khIBwBAQEbFxYfCAkJCB8WFhsBHCEhSSgpKlVKS28gIQkIHxYXGwFIKjAYGFM4OEBAcCkAAAAABQCSACIDVwMuAD8ASgBWAFsAZwAAATIWFzEXHgEXHgEXHgEXHgEVERQGBw4BBzEHDgEHDgEjIiYnLgEvAS4BJy4BNRE0Njc+ATc+ATc+ATcxNz4BMwEHFTc+ATc+AT0BIRUUFhceARcxFzUnNwcXNyc3IgYHMQcXNycuASMB9Q8dDu8KEgcCAwIBAgEGBQcICBUN7wkTCgQLBQYKBAoTCe8NFgcICAYGAQIBAQQBCBIK7w0eDwEE1csCBAECAf34AQECBALL1XJC1D3PkgMFAynOOsoCBQMDLggIiAYRCQIFAgIFAgwZDf7uDx0NDRYIiAUHAgICAgICBwWICBYNDR0PARINGQwCBQICBQIJEQaICAj+23zzdAIDAwIGAunpAgYCAwMCdPN8diV7JHxQAQIXfSJzAQEAAwBzADMDjQNNADgARwBmAAATNjIXMQEWMDkBFxYUBwYiJzEnDgEHBiInOQEnMCYxLgEnLgEnLgEnJicuAScmNTE1NDY3MScmNDcXFRQWFx4BFx4BFz4BNwE3BR4BHQEUBgcOAScuATc+AT0BJwcGJicmNj8BNjIXcw0kDQIoAbMNDQ0kDZQlVC4JFQoBAgIFAwYQChQyGxoaGyoNDgEBWQ0Nr0YwFy0SBQkEIj8c/qXtAQoNEAYGBiAREhEGBATeWhEhBgcQEWkHEAcDTQ0N/dgBsw0kDQ0NkyQ9GAUEAQEBAwEECQYNJBcXHB1FKCgt6QMHA1kNJA3toDxqKhQgCwQFAhMwHAFb1mQFFw3pFCgTEhEGBSASDRsNylQiBg8RESEGKAICAAADAJoAKwM8A1cAQQBHAF4AAAE2MhcFHgEdARQHDgEHBgcOAQcOAQcOAQcOASMxIxUxMCYnDgE5ATUxIzAmJy4BJy4BJy4BJyYnLgEnJj0BNDY3JRMHFjI3JzU+ATc+ATc+AT0BJwcVFBYXHgEXHgEXAdoIEQkBIQ4RDw4uHR0cHTcWChIHAwUCAQEBAQUQEAYBAgEBBgMGEgsVNx0dHB0uDw4RDgEhERYLFgoVBAoGEzEZNE3y8kw1GTETBgoEA1cDA20FGQ/9MSssSx8gGBonDQcKBAICAQEBAQsgIAsBAQEBAgIECgcNJxoYIB9LLCsx/Q8ZBW38/ysFBSs3AgYEDCIXLXRB3Ftb3EF0LRciDAQGAgADAJoAaANmA1oABAAYACwAAAEhEQUlASEiBhURFBYXBRYyNyU+ATURNCYDPgEnLgEPAScmBgcGFh8BFjI/AQEAAgD/AP8AAgD+ACo8EBABAB1SHQEAEBA8aw0CDAsiDcVLDSILDAINZgwfDOEC8/6AwMAB5zwr/oAVJw7BGxvBDicVAYArPP7sCyIMDQIMtEQMAgwNIgtdCwvNAAACAHUAfQOTAyAAUgBmAAABDgEVHAEVJyYiBwYUHwEeATMyNj8BNjQnJiIPATwBNTQ2Nz4BNz4BFx4BFx4BFxYGBw4BBw4BIyIGFRQWMzI2Nz4BNz4BJy4BJy4BJyYGBw4BBwU0JiMiBh0BFBYfARY2NzYmLwE1ASocHTYPKQ4PD5EHEwkKEgeSDg4PKQ5EFBQUOCEhRyMjQBkZIgcHBw4OLR4eRCQUHR0UM2AqKkAUEwoKCi8kJFkxMmUuL04cAUIaExMaDQyBECQICQwRaAKPKmEyBQkFNg4ODykOkgcHBweSDikPDg5EBxEJJEQeHi0ODgcHByIZGj8jI0chIjcUFBUdFBUdHhwcTi8uZTEyWSQjMAoKChQTQCoeExsbE9kNFQY4CAwRECQIK70AAAAAAgBmACYDmgNKACIAWAAAASYGFTEUFhcWFx4BFxYVFAYHBhYXMRY2Nz4BNTQnLgEnJicDIiYnLgE1NDc+ATc2Nz4BNTE0JgcGBw4BBwYVFBceARcWFx4BFx4BMzI2NzYmJzEmBgcOASMCbRspHxYqIyQzDg8DAgUQFBg1BwYHFxdQNzdBbTlpKSgsDw4zJCMqFh8pG0E3N1EWFwgIHxYXHB1DJSZPKFOSNxQKGBQvESZfNQNKCCUcFyQIDxoaRysqMA0aDBctDA4RHBgyGkdAQGcmJRL9VyspKGk5MCorRxoaDwgkFxwlCBIlJWhAQEcoKCdKIiEdHSwQDxA+NRQ1DgwIDyAkAAAABwBmACYDmgNMABQAJAAoACwATABYAGUAAAEyFhcdARQGDwEhIiYvATU0NjczISEyFh0BFAYrASImPQE0NjMFIRUhJSMVMwM2FhcxFxYUBzEHDgEnLgE3MTchIiY1NDYzMSEnJjY3BTIWFRQGIyImNTQ2IzIWFRQGIyImNTQ2MwIAKDsDNycI/s0pOgMBNygIATMBMys8PCszKjw8Kv8A/s0BMwEzMzOTES4Png4Ong8uERIDD1P+4BUeHhUBIVQPAxL+kxUeHhUVHh6EFR4eFRYeHhYBJjcnCDMpOgMBNygIMyg7AzwqMys8PCszKjxmMzMzAr8PAxK5DykQuBIDDw8tEmEeFRUeYhItD7AeFRUeHhUVHh4VFR4eFRUeAAAAEABmACYDmgNaAA0AGwAqADkARwBWAGQAcwCBAI8AnQCsALAAwADEANQAAAEyFh0BFAYjIiY9ATQ2MzIWHQEUBiMiJj0BNDYzMhYdARQGIyImPQE0NjMBNDY7ATIWFRQGKwEiJjUhNDY7ATIWFRQGKwEiJgU0NjsBMhYVFAYrASImNSE0NjsBMhYVFAYrASImBTQ2OwEyFhUUBisBIiY1ITQ2OwEyFhUUBisBIiYFMhYdARQGIyImPQE0NjMyFh0BFAYjIiY9ATQ2MzIWHQEUBiMiJj0BNDYzExEhETUiBhURFBYzITI2NRE0JiMHFSM1NSIGHQEUFjsBMjY9ATQmIwGDDxQUDw4VFYsPFBQPDxQUjA4VFQ4PFBQP/ekVD3wPFBQPfA8VAnEUD3wPFRUPfA8U/Y8VD3wPFBQPfA8VAnEUD3wPFRUPfA8U/Y8VD3wPFBQPfA8VAnEUD3wPFRUPfA8U/qwPFBQPDhUViw8UFA8PFBSMDhUVDg8UFA8+/oonNzcnAXYnNzcnjF4nNjYnXic2NicDWhUPfA8UFA98DxUVD3wPFBQPfA8VFQ98DxQUD3wPFf7jDhUVDg8UFA8OFRUODxQUbg8UFA8PFBQPDxQUDw8UFG4PFBQPDhUVDg8UFA8OFRVMFA98DxUVD3wPFBQPfA8VFQ98DxQUD3wPFRUPfA8UAZL+igF2Xjcn/oonNzcnAXYnN+peXl02J14nNjYnXic2AAAAAwBmACYDmgNaAAwAOQBFAAABIgYVFBYzMjY1NCYjBzQ2MzIWFRQGBx4BFx4BFz4BMzIWFRQGIyImJy4BJy4BJxUUBiMiJjURLgE1ASIGFRQWMzI2NTQmAREcJyccHCgoHKtlRkdkQTMHLCQjWTIRWDlGZWVGOloQRX8xBQgEHhYVHjREAokcKCgcHCcnAvInHBwoKBwcJ0NGZWVGOVgRMlkjJCwHM0FkR0ZlRTUIPDIECQTNFR8fFQGyEFk6/mYoHBwnJxwcKAAEAGYAHwOiA1cALgBYAGUAcQAAASYiBwUOAR0BFBceARcWFx4BFx4BFx4BFzUuAScuAT0BNxcVMjYzMhYXNTQmJyUTIgYHDgEdARQWMzI2PQE0Njc+ATsBMhYXHgEdARQWMzI2PQE0JicuASMDIgYVFBYzMjY1NCYjBzQ2MzIWFRQGIyImAcgIEgj+3w4RDw8uHB0cHTcWChIHAQMBEisWNEzx8gIFAhgrExEO/t+IHDMTFBUXEBAWCggJFwzIDBcICQkXEBAWFRMUMxtkOlFROjlRUTk+JBoZJCQZGiQDVwMDbQUZD/0xKyxLHyAYGicNBwoEAQEBbwwfFC10QdxbW0MBDAp5DxkFbf2rFRQTMxwyEBYWEDINFgkICgoICRYNMhAWFhAyHDMTFBUBLFE6OVFROTpRixokJBoZJCQAAAQAZwAmA5UDVQBRAHYAlQDSAAABMS4BJy4BJyYGBw4BBw4BByYGBw4BBwYWFx4BFx4BFx4BNzE3HAEVMRUeAR8BHgEXMwcxBhYXHgEXHgEXHgEzMjYzPgE3PgEnPgE3PgE3PgEnAw4BBwYmJy4BJy4BNTQ2Nz4BNz4BFx4BFx4BFx4BFRQGBw4BByciBgcOAQcGFhceARceATc+ATc+AScuAScuAScuASMBPgEXMhYXHgEHDgEHDgEHDgErASImJy4BJy4BJy4BNTQ2Nz4BNzE+ATcyFhceARceAQcUBg8BBhY3PgE3A5UBBQQECQUpe0dIgS0PGwwfNRdPOwYBAQECBQQDCQUFCwV2AQkIOgcUCgQMAQECAQUDAwgEBAoFAQQCJY8iCgkBEB8PLlEdHBUKxAscEBAfDw8YCQkJCQkJGA8PHxAQHAsIDAQEBAQEBAwITAgQBwYJAgECBAQNCAcRCAkNBQUEAQEHBgQIBAUJBf67BAsFBgoDBAMBAhANBSo6ESERAQMGAgMFAgIDAQEBAwMIGAYNIRMECAQEBgICAwECAxYLIBIIEgkDOQUJBAMGAQoVHB1RLg8eEQEICiOPJAYKBQUJBAQGAgIBAQ0BAQECChQIOQgJAXYFCQUFCAMEBgICAgEGOlAWNh8MGw8tgEdGfCv+wAsQAwMDBgcUDQ0fEBAeDQ4UBgYDAwMPCwgRCgoVCgsVCQoSB3wFBgUPCAgRBwgLAwQBAwIKCAcQCAkPBgQFAgIB/lgDAgEGBQQLBhMhDQUZCQIDAQEBAwIDBAMDBgMRIRE6KgUNEAMBAgIGAwQIBAUIAyYTHgwGDAYAAAABAAAAAAAAYznj118PPPUACwQAAAAAAN0DIYcAAAAA3QMhhwAAAAADxwNzAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAPHAAEAAAAAAAAAAAAAAAAAAADYBAAAAAAAAAAAAAAAAgAAAAQAAGYEAACaBAAAZgQAAGYEAABmBAAAZgQAAGYEAABmBAAAZgQAAGYEAABmBAAAZgQAAGYEAABmBAAAZgQAAGYEAABmBAAAZgQAAGYEAABwBAAAmgQAAGYEAAB4BAAAeAQAAGYEAABoBAAAZgQAAGYEAACaBAAAbgQAAGYEAABmBAAAZgQAAGYEAABmBAAAZgQAAGYEAABmBAAAZgQAAGYEAABmBAAAZgQAAGYEAABmBAAAZgQAAGYEAAChBAAA3wQAAHoEAABmBAABAAQAAJoEAACdBAAAZgQAAQAEAABmBAAAZgQAAGYEAABmBAAAZgQAAJ4EAADfBAAAZgQAAJoEAABmBAAAaAQAAGYEAACaBAAAZgQAAGYEAABmBAAAZgQAAGYEAABmBAAAzQQAAGYEAABmBAAAZgQAAGYEAABmBAAAZgQAAJoEAACaBAAAmgQAAJoEAACaBAAAmgQAAM0EAADNBAAAzQQAAJoEAAB0BAABEwQAAHkEAAB5BAABWQQAAGgEAABmBAAAZgQAAJoEAABmBAAAZgQAAHkEAAByBAAAZgQAAGYEAABmBAAA2AQAATMEAADYBAAAZgQAAJoEAACaBAAAdAQAARMEAABmBAAAZgQAAGYEAABoBAAAZgQAAIEEAABmBAAAmgQAAGYEAABmBAAAdAQAAGYEAABmBAABAAQAAGYEAACaBAAAmgQAAJoEAACaBAAAawQAAGYEAABmBAAAZgQAAGYEAAB2BAAAZgQAAGYEAABmBAAAZgQAAGYEAABmBAAAZgQAAJoEAABmBAAAZgQAAGYEAABmBAAAnAQAAGYEAAGaBAAAZgQAAGYEAABmBAAAZgQAAKAEAAA5BAAAZgQAAH8EAABmBAAAZgQAAS0EAAEtBAAAaQQAAGkEAABmBAAAjwQAAGYEAAB2BAAAmgQAAGYEAABmBAAAaQQAAGsEAABrBAAAZgQAAGYEAABmBAAAdAQAAGYEAABmBAAAmgQAAJoEAABmBAAAZgQAAJoEAABoBAAAZwQAAGYEAABmBAAAZgQAAGgEAABmBAAAZgQAAGYEAABzBAAAZgQAAJIEAABzBAAAmgQAAJoEAAB1BAAAZgQAAGYEAABmBAAAZgQAAGYEAABnAAAAAAAKABQAHgC4AVAC0ARkBegHOgfgCJIJQgmuClYKqAsIC3YLyAxEDMINGA10Df4OsA8MD0gPrA/8EJoRLBHoEl4TVhOyFC4UwBVGFdwWMhaCFuYXiBhsGMwZPhmmGeYaUhquGyAbVBuSHAocchykHL4dVB44HrgfkiBwITAieiLOIvgjOiO+JGwk9CVYJaYmCCZuJrInMieyKAQobijiKTApxCpsKvgrViyALTYtzi6qL3gwDDCCMLwxNDHKMfoyIjJIMm4yqjMsNA40SjS0NNw1ZjWmNho2oDc8N4g3sjfcOAY4ljkMOXA5xDnsOlY6qjriO3A8BjzsPbg+hD9gP8ZASEDIQS5BgkIcQp5DMEPqREZEjETaRUBF8kZARo5HCkecSHZI/kmKSlRKyEssS2xLrkxqTLhNVk3OTgROUk7GTzBPkFAMUHxRHlF6UeRSIFJQUoBSxFMwU7BXulgQWHBY5loyWsZb0lzEXZReRl6uXvBfzmBGYLphUGIGYrpjjGQyZMhltmcUZ5BooGkSaUppumoWaqRrEGusbEBsym0YbbBuNG7Eb9hwPHDcchYAAAABAAAA2ALMAF4AAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEAAwAAAAEAAAAAAAIABwA8AAEAAAAAAAMAAwAqAAEAAAAAAAQAAwBRAAEAAAAAAAUACwAJAAEAAAAAAAYAAwAzAAEAAAAAAAoAGgBaAAMAAQQJAAEABgADAAMAAQQJAAIADgBDAAMAAQQJAAMABgAtAAMAAQQJAAQABgBUAAMAAQQJAAUAFgAUAAMAAQQJAAYABgA2AAMAAQQJAAoANAB0ZG90AGQAbwB0VmVyc2lvbiAyLjAAVgBlAHIAcwBpAG8AbgAgADIALgAwZG90AGQAbwB0ZG90AGQAbwB0UmVndWxhcgBSAGUAZwB1AGwAYQByZG90AGQAbwB0Rm9udCBnZW5lcmF0ZWQgYnkgSWNvTW9vbi4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==";
|
|
2657
336
|
|
|
2658
|
-
var _templateObject$
|
|
2659
|
-
var GlobalFonts = createGlobalStyle(_templateObject$
|
|
337
|
+
var _templateObject$C;
|
|
338
|
+
var GlobalFonts = createGlobalStyle(_templateObject$C || (_templateObject$C = _taggedTemplateLiteralLoose(["\n @font-face {\n font-family: 'Lato';\n font-weight: 400;\n src: url(", ") format('woff');\n }\n\n @font-face {\n font-family: 'LatoBold';\n font-weight: 700;\n src: url(", ") format('woff');\n }\n\n @font-face {\n font-display: block;\n font-family: 'dot';\n src: url(", ") format('woff');\n }\n"])), LatoRegular, LatoBold, Dot);
|
|
2660
339
|
|
|
2661
340
|
//Primary blue
|
|
2662
341
|
//https://zeroheight.com/4a9ac476a/p/22005a-color/t/6288e9
|
|
@@ -3375,7 +1054,7 @@ var DotAvatar = function DotAvatar(_ref) {
|
|
|
3375
1054
|
_ref$variant = _ref.variant,
|
|
3376
1055
|
variant = _ref$variant === void 0 ? 'circular' : _ref$variant,
|
|
3377
1056
|
style = _ref.style;
|
|
3378
|
-
var rootClasses = useStylesWithRootClass(rootClassName$
|
|
1057
|
+
var rootClasses = useStylesWithRootClass(rootClassName$z, className);
|
|
3379
1058
|
|
|
3380
1059
|
var getAvatarColor = function getAvatarColor() {
|
|
3381
1060
|
if (color) return color;
|
|
@@ -3428,20 +1107,27 @@ var DotAvatar = function DotAvatar(_ref) {
|
|
|
3428
1107
|
}, parsedText()) : null);
|
|
3429
1108
|
};
|
|
3430
1109
|
|
|
3431
|
-
var _templateObject$
|
|
3432
|
-
var rootClassName$
|
|
3433
|
-
var StyledPopper = styled(Popper)(_templateObject$
|
|
1110
|
+
var _templateObject$B;
|
|
1111
|
+
var rootClassName$y = 'dot-menu';
|
|
1112
|
+
var StyledPopper = styled(Popper)(_templateObject$B || (_templateObject$B = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
3434
1113
|
var theme = _ref.theme;
|
|
3435
|
-
return css(["ul{background:", ";min-width:112px;max-height:calc(100vh - 24px);overflow:auto;.dot-li{&:hover{background:", "
|
|
1114
|
+
return css(["ul,.dot-action-item{background:", ";}ul{min-width:112px;max-height:calc(100vh - 24px);overflow:auto;.dot-li{&:hover{background:", ";}&:active,&:focus{background:", ";}}.dot-link{color:", ";}}.dot-action-item{height:", "px;border-top:1px solid ", ";line-height:inherit;button{border-radius:", ";justify-content:flex-start;height:100%;margin:0;&:focus-visible{background-color:", ";}.MuiButton-label{gap:", "px;.MuiButton-startIcon{margin-left:0;.dot-icon{flex-shrink:0;}}}}"], theme.palette.product === 'agility' && theme.palette.agilityInterface.menuBg, theme.palette.product === 'agility' && theme.palette.agilityInterface.fixedCol, theme.palette.product === 'agility' && theme.palette.agilityInterface.activeCardBg, theme.palette.product === 'agility' && theme.palette.layer.n700, theme.spacing(7), theme.palette.grey[100], theme.spacing(0, 0, 0.5, 0.5), theme.palette.product === 'agility' && theme.palette.type === 'dark' ? theme.palette.layer.n200 : theme.palette.layer.n100, theme.spacing(3));
|
|
3436
1115
|
});
|
|
3437
1116
|
|
|
1117
|
+
var MENU_ITEM_HEIGHT_NORMAL = 36;
|
|
1118
|
+
var MENU_ITEM_HEIGHT_DENSE = 31;
|
|
1119
|
+
var DEFAULT_MAX_VISIBLE_ITEMS = 7;
|
|
3438
1120
|
var DotMenu = function DotMenu(_ref) {
|
|
3439
1121
|
var anchorEl = _ref.anchorEl,
|
|
3440
1122
|
ariaLabel = _ref.ariaLabel,
|
|
3441
1123
|
className = _ref.className,
|
|
3442
1124
|
dataTestId = _ref['data-testid'],
|
|
1125
|
+
_ref$dense = _ref.dense,
|
|
1126
|
+
dense = _ref$dense === void 0 ? true : _ref$dense,
|
|
3443
1127
|
disablePortal = _ref.disablePortal,
|
|
3444
1128
|
id = _ref.id,
|
|
1129
|
+
_ref$maxVisibleItems = _ref.maxVisibleItems,
|
|
1130
|
+
maxVisibleItems = _ref$maxVisibleItems === void 0 ? DEFAULT_MAX_VISIBLE_ITEMS : _ref$maxVisibleItems,
|
|
3445
1131
|
_ref$menuItems = _ref.menuItems,
|
|
3446
1132
|
menuItems = _ref$menuItems === void 0 ? [] : _ref$menuItems,
|
|
3447
1133
|
_ref$menuPlacement = _ref.menuPlacement,
|
|
@@ -3450,7 +1136,7 @@ var DotMenu = function DotMenu(_ref) {
|
|
|
3450
1136
|
onSelect = _ref.onSelect,
|
|
3451
1137
|
_ref$open = _ref.open,
|
|
3452
1138
|
open = _ref$open === void 0 ? false : _ref$open;
|
|
3453
|
-
var rootClasses = useStylesWithRootClass(rootClassName$
|
|
1139
|
+
var rootClasses = useStylesWithRootClass(rootClassName$y, className);
|
|
3454
1140
|
|
|
3455
1141
|
var handleSelect = function handleSelect(event, itemKey) {
|
|
3456
1142
|
onLeave && onLeave(event);
|
|
@@ -3470,6 +1156,21 @@ var DotMenu = function DotMenu(_ref) {
|
|
|
3470
1156
|
}
|
|
3471
1157
|
};
|
|
3472
1158
|
|
|
1159
|
+
var calculateMaxHeight = function calculateMaxHeight() {
|
|
1160
|
+
var visibleItems = maxVisibleItems;
|
|
1161
|
+
var menuItemHeight = dense ? MENU_ITEM_HEIGHT_DENSE : MENU_ITEM_HEIGHT_NORMAL;
|
|
1162
|
+
|
|
1163
|
+
if (!maxVisibleItems || maxVisibleItems <= 0) {
|
|
1164
|
+
return DEFAULT_MAX_VISIBLE_ITEMS * menuItemHeight;
|
|
1165
|
+
}
|
|
1166
|
+
|
|
1167
|
+
if (maxVisibleItems > menuItems.length) {
|
|
1168
|
+
visibleItems = menuItems.length;
|
|
1169
|
+
}
|
|
1170
|
+
|
|
1171
|
+
return visibleItems * menuItemHeight;
|
|
1172
|
+
};
|
|
1173
|
+
|
|
3473
1174
|
return /*#__PURE__*/React__default.createElement(StyledPopper, {
|
|
3474
1175
|
anchorEl: anchorEl,
|
|
3475
1176
|
"aria-label": ariaLabel,
|
|
@@ -3492,9 +1193,12 @@ var DotMenu = function DotMenu(_ref) {
|
|
|
3492
1193
|
}, /*#__PURE__*/React__default.createElement(MenuList, {
|
|
3493
1194
|
autoFocusItem: open,
|
|
3494
1195
|
className: "dot-ul",
|
|
3495
|
-
dense:
|
|
1196
|
+
dense: dense,
|
|
3496
1197
|
id: id,
|
|
3497
|
-
onKeyDown: handleListKeyDown
|
|
1198
|
+
onKeyDown: handleListKeyDown,
|
|
1199
|
+
style: {
|
|
1200
|
+
height: calculateMaxHeight()
|
|
1201
|
+
}
|
|
3498
1202
|
}, menuItems.map(function (item, index) {
|
|
3499
1203
|
return /*#__PURE__*/React__default.createElement(MenuItem, {
|
|
3500
1204
|
"aria-label": item.ariaLabel,
|
|
@@ -3508,16 +1212,16 @@ var DotMenu = function DotMenu(_ref) {
|
|
|
3508
1212
|
});
|
|
3509
1213
|
};
|
|
3510
1214
|
|
|
3511
|
-
var _templateObject$
|
|
3512
|
-
var rootClassName$
|
|
1215
|
+
var _templateObject$A, _templateObject2$6;
|
|
1216
|
+
var rootClassName$x = 'dot-list';
|
|
3513
1217
|
var listItemRootClass = 'dot-list-item';
|
|
3514
1218
|
var nestedListClassName = 'dot-nested-list';
|
|
3515
1219
|
var flyoutListItemClassName = 'dot-flyout-list-item';
|
|
3516
1220
|
var flyoutItemLinkClassName = 'dot-flyout-item-link';
|
|
3517
1221
|
var listItemLinkClassName = 'dot-list-item-link';
|
|
3518
|
-
var StyledList = styled(List)(_templateObject$
|
|
1222
|
+
var StyledList = styled(List)(_templateObject$A || (_templateObject$A = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
3519
1223
|
var theme = _ref.theme;
|
|
3520
|
-
return css(["&.", "{&.", " .", "{padding-left:", "px;}.MuiListSubheader-root{padding:0;border-bottom:1px solid ", ";.MuiTypography-root{padding:", "px;}}}"], rootClassName$
|
|
1224
|
+
return css(["&.", "{&.", " .", "{padding-left:", "px;}.MuiListSubheader-root{padding:0;border-bottom:1px solid ", ";.MuiTypography-root{padding:", "px;}}}"], rootClassName$x, nestedListClassName, listItemRootClass, theme.spacing(4), theme.palette.grey[100], theme.spacing(1));
|
|
3521
1225
|
});
|
|
3522
1226
|
var StyledListItem = styled(ListItem)(_templateObject2$6 || (_templateObject2$6 = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref2) {
|
|
3523
1227
|
var theme = _ref2.theme;
|
|
@@ -3612,7 +1316,7 @@ var DotList = function DotList(_ref2) {
|
|
|
3612
1316
|
menuPlacement = _ref2$menuPlacement === void 0 ? 'right-start' : _ref2$menuPlacement,
|
|
3613
1317
|
_ref2$nestedListType = _ref2.nestedListType,
|
|
3614
1318
|
nestedListType = _ref2$nestedListType === void 0 ? 'expandable' : _ref2$nestedListType;
|
|
3615
|
-
var rootClasses = useStylesWithRootClass(rootClassName$
|
|
1319
|
+
var rootClasses = useStylesWithRootClass(rootClassName$x, className);
|
|
3616
1320
|
return /*#__PURE__*/React__default.createElement(StyledList, {
|
|
3617
1321
|
"aria-label": ariaLabel,
|
|
3618
1322
|
classes: {
|
|
@@ -3840,9 +1544,9 @@ function SvgLogoDigitalAi(_ref, svgRef) {
|
|
|
3840
1544
|
|
|
3841
1545
|
var ForwardRef$1 = /*#__PURE__*/React.forwardRef(SvgLogoDigitalAi);
|
|
3842
1546
|
|
|
3843
|
-
var _templateObject$
|
|
3844
|
-
var rootClassName$
|
|
3845
|
-
var StyledSidebar = styled.aside(_templateObject$
|
|
1547
|
+
var _templateObject$z;
|
|
1548
|
+
var rootClassName$w = 'dot-sidebar';
|
|
1549
|
+
var StyledSidebar = styled.aside(_templateObject$z || (_templateObject$z = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
3846
1550
|
var theme = _ref.theme;
|
|
3847
1551
|
return css(["&.dot-sidebar{align-items:stretch;background:", ";border-right:1px solid ", ";color:", ";display:flex;height:100%;flex-direction:column;justify-content:space-between;letter-spacing:0.01em;padding-top:", "px;width:240px;-o-transition:width cubic-bezier(0.4,0,0.6,1) 0.3s;-moz-transition:width cubic-bezier(0.4,0,0.6,1) 0.3s;-webkit-transition:width cubic-bezier(0.4,0,0.6,1) 0.3s;transition:width cubic-bezier(0.4,0,0.6,1) 0.3s;header{align-items:center;border-bottom:1px solid ", ";display:flex;flex-shrink:0;overflow:hidden;padding:", ";white-space:nowrap;.dot-avatar{margin-right:", "px;}}.go-back{align-items:center;border-bottom:1px solid ", ";display:flex;padding-top:6px;padding-bottom:6px;.dot-icon{margin-right:", "px;padding:12px;}&:hover{background-color:", ";}}hr.MuiDivider-root{background-color:", ";margin:", ";}ul.side-nav{flex-grow:2;overflow-x:hidden;overflow-y:auto;.dot-list-item{height:44px;}li.dot-list-item .dot-typography{white-space:nowrap;}}.toggle-nav{border-top:1px solid ", ";padding:", ";text-align:right;.dot-icon{transform:rotate(0deg);-o-transition:all cubic-bezier(0.4,0,0.2,1) 0.3s;-moz-transition:all cubic-bezier(0.4,0,0.2,1) 0.3s;-webkit-transition:all cubic-bezier(0.4,0,0.2,1) 0.3s;transition:all cubic-bezier(0.4,0,0.2,1) 0.3s;}}.powered-by{border-top:1px solid ", ";color:", ";display:flex;flex-direction:column;flex-shrink:0;font-size:12px;margin:", "px;overflow:hidden;padding:", "px;p.desc{white-space:nowrap;}.company-name{margin-top:", "px;}.d-icon{display:none;}}&.collapsed{width:56px;-o-transition:all cubic-bezier(0.4,0,0.6,1) 0.3s;-moz-transition:all cubic-bezier(0.4,0,0.6,1) 0.3s;-webkit-transition:all cubic-bezier(0.4,0,0.6,1) 0.3s;transition:all cubic-bezier(0.4,0,0.6,1) 0.3s;header{padding:", "px;}.go-back .MuiTypography-root{display:none;}ul.side-nav li.MuiListSubheader-root .MuiTypography-root{opacity:0;}.toggle-nav{align-self:center;.dot-icon{transform:rotate(180deg);-o-transition:all cubic-bezier(0.4,0,0.2,1) 0.3s;-moz-transition:all cubic-bezier(0.4,0,0.2,1) 0.3s;-webkit-transition:all cubic-bezier(0.4,0,0.2,1) 0.3s;transition:all cubic-bezier(0.4,0,0.2,1) 0.3s;}}.powered-by{align-items:center;.company-name,p.desc{display:none;}.d-icon{display:block;}}}}"], theme.palette.grey[50], theme.palette.grey[100], theme.palette.grey[700], theme.spacing(0.5), theme.palette.grey[100], theme.spacing(1, 2), theme.spacing(1), theme.palette.grey[100], theme.spacing(1), theme.palette.grey[100], theme.palette.grey[100], theme.spacing(1, 0), theme.palette.grey[100], theme.spacing(1, 0.75, 0), theme.palette.grey[100], theme.palette.grey[400], theme.spacing(1), theme.spacing(1), theme.spacing(1), theme.spacing(1));
|
|
3848
1552
|
});
|
|
@@ -3876,7 +1580,7 @@ var DotSidebar = function DotSidebar(_ref) {
|
|
|
3876
1580
|
useEffect(function () {
|
|
3877
1581
|
setIsOpen(open);
|
|
3878
1582
|
}, [open]);
|
|
3879
|
-
var rootClasses = useStylesWithRootClass(rootClassName$
|
|
1583
|
+
var rootClasses = useStylesWithRootClass(rootClassName$w, (!isOpen ? 'collapsed' : 'expanded') + " " + className);
|
|
3880
1584
|
return /*#__PURE__*/React__default.createElement(StyledSidebar, {
|
|
3881
1585
|
"aria-label": ariaLabel,
|
|
3882
1586
|
className: rootClasses,
|
|
@@ -3978,9 +1682,9 @@ var variables = /*#__PURE__*/Object.freeze({
|
|
|
3978
1682
|
levelTop: levelTop
|
|
3979
1683
|
});
|
|
3980
1684
|
|
|
3981
|
-
var _templateObject$
|
|
3982
|
-
var rootClassName$
|
|
3983
|
-
var StyledDrawer = styled(Drawer)(_templateObject$
|
|
1685
|
+
var _templateObject$y;
|
|
1686
|
+
var rootClassName$v = 'dot-drawer';
|
|
1687
|
+
var StyledDrawer = styled(Drawer)(_templateObject$y || (_templateObject$y = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
3984
1688
|
var theme = _ref.theme;
|
|
3985
1689
|
return css(["&.dot-drawer .MuiBackdrop-root{background-color:", ";}.dot-drawer-paper{background-color:", ";height:", ";padding:", "px;width:", ";}"], alpha(theme.palette.grey[900], 0.7), theme.palette.product === 'agility' && theme.palette.layer.n50, function (_ref2) {
|
|
3986
1690
|
var height = _ref2.height,
|
|
@@ -4010,7 +1714,7 @@ var DotDrawer = function DotDrawer(_ref) {
|
|
|
4010
1714
|
variant = _ref$variant === void 0 ? 'temporary' : _ref$variant,
|
|
4011
1715
|
_ref$width = _ref.width,
|
|
4012
1716
|
width = _ref$width === void 0 ? '256px' : _ref$width;
|
|
4013
|
-
var rootClasses = useStylesWithRootClass(rootClassName$
|
|
1717
|
+
var rootClasses = useStylesWithRootClass(rootClassName$v, className);
|
|
4014
1718
|
return /*#__PURE__*/React__default.createElement(StyledDrawer, {
|
|
4015
1719
|
"aria-label": ariaLabel,
|
|
4016
1720
|
"data-testid": dataTestId,
|
|
@@ -4031,14 +1735,14 @@ var DotDrawer = function DotDrawer(_ref) {
|
|
|
4031
1735
|
}, children);
|
|
4032
1736
|
};
|
|
4033
1737
|
|
|
4034
|
-
var _templateObject$
|
|
4035
|
-
var rootClassName$
|
|
4036
|
-
var StyledMainMenu = styled(DotDrawer)(_templateObject$
|
|
1738
|
+
var _templateObject$x, _templateObject2$5;
|
|
1739
|
+
var rootClassName$u = 'dot-app-toolbar';
|
|
1740
|
+
var StyledMainMenu = styled(DotDrawer)(_templateObject$x || (_templateObject$x = _taggedTemplateLiteralLoose(["\n ", "\n"])), function () {
|
|
4037
1741
|
return css(["&.dot-main-menu .dot-drawer-paper{top:64px;padding:0;.dot-sidebar{height:calc(100vh - 64px);}}"]);
|
|
4038
1742
|
});
|
|
4039
1743
|
var StyledAppToolbar = styled.header(_templateObject2$5 || (_templateObject2$5 = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
4040
1744
|
var theme = _ref.theme;
|
|
4041
|
-
return css(["&.", "{align-items:center;background:", ";border-bottom:4px solid ", ";box-sizing:border-box;color:", ";display:flex;height:64px;padding:
|
|
1745
|
+
return css(["&.", "{align-items:center;background:", ";border-bottom:4px solid ", ";box-sizing:border-box;color:", ";display:flex;height:64px;padding:", ";position:fixed;width:100%;z-index:", ";top:0;left:0;right:0;.divider{height:36px;width:1px;background:", ";}.dot-icon-btn{color:", ";}.dot-main-menu-btn{padding:", ";text-align:center;}.dot-branding{align-items:center;display:flex;padding:", ";.primary-logo,.app-logo{margin-right:10px;}a{line-height:0;}.dot-product-name{color:", ";font-size:18px;margin:", ";}.divider{margin-left:6px;}}div.dot-right-side{display:flex;flex-grow:2;justify-content:flex-end;}.avatar-wrapper{display:flex;align-items:center;justify-content:center;width:40px;}}"], rootClassName$u, theme.palette.product === 'agility' ? theme.palette.agilityInterface.headerBg : theme.palette.grey[700], theme.palette.grey[100], theme.palette.grey[0], theme.spacing(1.5, 2, 1.5, 0), levelFourth, n400, theme.palette.grey[100], theme.spacing(0, 1), theme.spacing(0, 2), theme.palette.grey[100], theme.spacing(0, 1.5));
|
|
4042
1746
|
});
|
|
4043
1747
|
|
|
4044
1748
|
var DotAppToolbar = function DotAppToolbar(_ref) {
|
|
@@ -4064,7 +1768,7 @@ var DotAppToolbar = function DotAppToolbar(_ref) {
|
|
|
4064
1768
|
|
|
4065
1769
|
var showMainMenu = mainMenu || mainMenuItems;
|
|
4066
1770
|
var mainMenuRef = useRef(null);
|
|
4067
|
-
var rootClasses = useStylesWithRootClass(rootClassName$
|
|
1771
|
+
var rootClasses = useStylesWithRootClass(rootClassName$u, "" + className);
|
|
4068
1772
|
var mainMenuClasses = useStylesWithRootClass('dot-main-menu', menuOpen ? 'open' : '');
|
|
4069
1773
|
useEffect(function () {
|
|
4070
1774
|
var handleInsideMenuClick = function handleInsideMenuClick(event) {
|
|
@@ -4161,18 +1865,18 @@ var DotAppToolbar = function DotAppToolbar(_ref) {
|
|
|
4161
1865
|
}, avatar)));
|
|
4162
1866
|
};
|
|
4163
1867
|
|
|
4164
|
-
var _templateObject$
|
|
4165
|
-
var rootClassName$
|
|
4166
|
-
var StyledAutocomplete = styled(Autocomplete)(_templateObject$
|
|
1868
|
+
var _templateObject$w;
|
|
1869
|
+
var rootClassName$t = 'dot-autocomplete';
|
|
1870
|
+
var StyledAutocomplete = styled(Autocomplete)(_templateObject$w || (_templateObject$w = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
4167
1871
|
_ref.theme;
|
|
4168
|
-
return css(["&.", "{}"], rootClassName$
|
|
1872
|
+
return css(["&.", "{}"], rootClassName$t);
|
|
4169
1873
|
});
|
|
4170
1874
|
|
|
4171
|
-
var _templateObject$
|
|
4172
|
-
var rootClassName$
|
|
4173
|
-
var StyledChip = styled(Chip)(_templateObject$
|
|
1875
|
+
var _templateObject$v;
|
|
1876
|
+
var rootClassName$s = 'dot-chip';
|
|
1877
|
+
var StyledChip = styled(Chip)(_templateObject$v || (_templateObject$v = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
4174
1878
|
var theme = _ref.theme;
|
|
4175
|
-
return css(["&.", "{border-color:", ";.dot-icon i{height:auto;}&.MuiChip-sizeSmall{.dot-icon,.dot-avatar{width:18px;height:18px;}}&.Mui-error{background-color:", ";border-color:", ";.MuiChip-deleteIcon{color:", ";}}&:not(.Mui-error){&:hover{background-color:", ";}.MuiChip-deleteIcon{&:hover{color:", ";}}}.MuiChip-deleteIcon{width:18px;height:18px;color:", ";}}"], rootClassName$
|
|
1879
|
+
return css(["&.", "{border-color:", ";.dot-icon i{height:auto;}&.MuiChip-sizeSmall{.dot-icon,.dot-avatar{width:18px;height:18px;}}&.Mui-error{background-color:", ";border-color:", ";.MuiChip-deleteIcon{color:", ";}}&:not(.Mui-error){&:hover{background-color:", ";}.MuiChip-deleteIcon{&:hover{color:", ";}}}.MuiChip-deleteIcon{width:18px;height:18px;color:", ";}}"], rootClassName$s, theme.palette.grey[300], theme.palette.error[50], theme.palette.error.main, theme.palette.error.main, theme.palette.grey[50], theme.palette.grey[400], theme.palette.grey[300]);
|
|
4176
1880
|
});
|
|
4177
1881
|
|
|
4178
1882
|
var DotChip = function DotChip(_ref) {
|
|
@@ -4195,7 +1899,7 @@ var DotChip = function DotChip(_ref) {
|
|
|
4195
1899
|
size = _ref$size === void 0 ? 'medium' : _ref$size,
|
|
4196
1900
|
startIcon = _ref.startIcon;
|
|
4197
1901
|
var errorClass = error ? 'Mui-error' : '';
|
|
4198
|
-
var rootClasses = useStylesWithRootClass(rootClassName$
|
|
1902
|
+
var rootClasses = useStylesWithRootClass(rootClassName$s, className, errorClass);
|
|
4199
1903
|
return /*#__PURE__*/React__default.createElement(StyledChip, {
|
|
4200
1904
|
"aria-label": ariaLabel,
|
|
4201
1905
|
avatar: avatar,
|
|
@@ -4219,16 +1923,98 @@ var DotChip = function DotChip(_ref) {
|
|
|
4219
1923
|
});
|
|
4220
1924
|
};
|
|
4221
1925
|
|
|
4222
|
-
var _templateObject$
|
|
4223
|
-
var rootClassName$
|
|
1926
|
+
var _templateObject$u, _templateObject2$4;
|
|
1927
|
+
var rootClassName$r = 'dot-text-field';
|
|
4224
1928
|
var rootSelectClassName = 'dot-select-field';
|
|
4225
1929
|
var warningClassName = 'dot-warning';
|
|
4226
1930
|
var adornmentIconClassName = 'dot-adornment-icon';
|
|
4227
|
-
var StyledAdornment = styled(InputAdornment)(_templateObject$
|
|
1931
|
+
var StyledAdornment = styled(InputAdornment)(_templateObject$u || (_templateObject$u = _taggedTemplateLiteralLoose(["\n .dot-icon {\n font-size: 24px;\n height: 24px;\n padding: 0;\n width: 24px;\n }\n"])));
|
|
4228
1932
|
var StyledTextField = styled(TextField)(_templateObject2$4 || (_templateObject2$4 = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
4229
1933
|
var theme = _ref.theme,
|
|
4230
1934
|
InputProps = _ref.InputProps;
|
|
4231
|
-
return css(["&.", "{.MuiInputBase-root{background:", "}.MuiOutlinedInput-notchedOutline{border-color:", "}.MuiOutlinedInput-input{padding:", ";}.MuiOutlinedInput-inputMarginDense{padding-top:10.5px;padding-bottom:10.5px;}.MuiOutlinedInput-inputMultiline{padding:0;}}&.", ",&.", "{.MuiFormLabel-root.Mui-focused{color:", "}select.dot-select{background:", ";}.MuiSelect-select:focus{background-color:transparent;}.Mui-error .", "{color:", ";}.MuiSelect-icon{right:", ";}&.", "{.MuiOutlinedInput-notchedOutline{border-color:", ";}.MuiInputLabel-outlined.MuiInputLabel-shrink{color:", ";}.", "{color:", ";}}.MuiOutlinedInput-adornedStart{padding-left:12px;}.MuiOutlinedInput-adornedEnd{padding-right:12px;}.MuiFormHelperText-root{font-size:", "px;margin:", ";display:flex;align-items:flex-end;&:not(.Mui-error){color:", ";}}.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:", ";}"], rootClassName$
|
|
1935
|
+
return css(["&.", "{.MuiInputBase-root{background:", "}.MuiOutlinedInput-notchedOutline{border-color:", "}.MuiOutlinedInput-input{padding:", ";}.MuiOutlinedInput-inputMarginDense{padding-top:10.5px;padding-bottom:10.5px;}.MuiOutlinedInput-inputMultiline{padding:0;}}&.", ",&.", "{.MuiFormLabel-root.Mui-focused{color:", "}select.dot-select{background:", ";}.MuiSelect-select:focus{background-color:transparent;}.Mui-error .", "{color:", ";}.MuiSelect-icon{right:", ";}&.", "{.MuiOutlinedInput-notchedOutline{border-color:", ";}.MuiInputLabel-outlined.MuiInputLabel-shrink{color:", ";}.", "{color:", ";}}.MuiOutlinedInput-adornedStart{padding-left:12px;}.MuiOutlinedInput-adornedEnd{padding-right:12px;}.MuiFormHelperText-root{font-size:", "px;margin:", ";display:flex;align-items:flex-end;&:not(.Mui-error){color:", ";}}.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:", ";}"], rootClassName$r, theme.palette.product === 'agility' && theme.palette.layer.n0, theme.palette.product === 'agility' && theme.palette.layer.n100, InputProps.startAdornment ? "18px 12px 18px 0px" : "18px 12px", rootSelectClassName, rootClassName$r, theme.palette.product === 'agility' && theme.palette.layer.n700, theme.palette.product === 'agility' && theme.palette.layer.n0, adornmentIconClassName, theme.palette.error[500], InputProps.endAdornment ? "44px" : "12px", warningClassName, theme.palette.warning[500], theme.palette.grey[700], adornmentIconClassName, theme.palette.warning[500], theme.typography.body2.fontSize, theme.spacing(0, 0, 0, 2), theme.palette.grey[700], theme.palette.product === 'agility' && agilityGreen);
|
|
1936
|
+
});
|
|
1937
|
+
|
|
1938
|
+
var _templateObject$t;
|
|
1939
|
+
var rootClassName$q = 'dot-button';
|
|
1940
|
+
var StyledButton = styled(Button)(_templateObject$t || (_templateObject$t = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
1941
|
+
var theme = _ref.theme;
|
|
1942
|
+
return css(["&.", "{margin:", "px;min-width:auto;white-space:nowrap;&.MuiButton-containedPrimary{background-color:", ";}&.MuiButton-containedSecondary{background-color:", ";&:hover,&:active{background-color:", ";}}&.MuiButton-text{padding:6px 16px;}span.dot-icon{padding:0;i{height:auto;}}}"], rootClassName$q, theme.spacing(0.5), theme.palette.product === 'agility' && agilityGreen, theme.palette.error.main, darken(theme.palette.error.main, 0.2));
|
|
1943
|
+
});
|
|
1944
|
+
|
|
1945
|
+
/** This component wraps the Button component from @material-ui. */
|
|
1946
|
+
|
|
1947
|
+
var DotButton = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
|
|
1948
|
+
var ariaLabel = _ref.ariaLabel,
|
|
1949
|
+
_ref$autoFocus = _ref.autoFocus,
|
|
1950
|
+
autoFocus = _ref$autoFocus === void 0 ? false : _ref$autoFocus,
|
|
1951
|
+
children = _ref.children,
|
|
1952
|
+
className = _ref.className,
|
|
1953
|
+
dataTestId = _ref['data-testid'],
|
|
1954
|
+
_ref$disabled = _ref.disabled,
|
|
1955
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
1956
|
+
_ref$disableRipple = _ref.disableRipple,
|
|
1957
|
+
disableRipple = _ref$disableRipple === void 0 ? false : _ref$disableRipple,
|
|
1958
|
+
endIcon = _ref.endIcon,
|
|
1959
|
+
_ref$fullWidth = _ref.fullWidth,
|
|
1960
|
+
fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,
|
|
1961
|
+
_ref$isSubmit = _ref.isSubmit,
|
|
1962
|
+
isSubmit = _ref$isSubmit === void 0 ? false : _ref$isSubmit,
|
|
1963
|
+
_onClick = _ref.onClick,
|
|
1964
|
+
_ref$size = _ref.size,
|
|
1965
|
+
size = _ref$size === void 0 ? 'medium' : _ref$size,
|
|
1966
|
+
startIcon = _ref.startIcon,
|
|
1967
|
+
titleTooltip = _ref.titleTooltip,
|
|
1968
|
+
_ref$type = _ref.type,
|
|
1969
|
+
type = _ref$type === void 0 ? 'primary' : _ref$type;
|
|
1970
|
+
var rootClasses = useStylesWithRootClass(rootClassName$q, className);
|
|
1971
|
+
var color;
|
|
1972
|
+
var variant;
|
|
1973
|
+
|
|
1974
|
+
switch (type) {
|
|
1975
|
+
case 'destructive':
|
|
1976
|
+
color = disabled ? 'default' : 'secondary';
|
|
1977
|
+
variant = 'contained';
|
|
1978
|
+
break;
|
|
1979
|
+
|
|
1980
|
+
case 'primary':
|
|
1981
|
+
color = 'primary';
|
|
1982
|
+
variant = 'contained';
|
|
1983
|
+
break;
|
|
1984
|
+
|
|
1985
|
+
case 'outlined':
|
|
1986
|
+
color = 'default';
|
|
1987
|
+
variant = 'outlined';
|
|
1988
|
+
break;
|
|
1989
|
+
|
|
1990
|
+
case 'text':
|
|
1991
|
+
color = 'default';
|
|
1992
|
+
variant = 'text';
|
|
1993
|
+
break;
|
|
1994
|
+
}
|
|
1995
|
+
|
|
1996
|
+
return /*#__PURE__*/React__default.createElement(StyledButton, {
|
|
1997
|
+
"aria-label": ariaLabel,
|
|
1998
|
+
autoFocus: autoFocus,
|
|
1999
|
+
classes: {
|
|
2000
|
+
root: rootClasses
|
|
2001
|
+
},
|
|
2002
|
+
color: color,
|
|
2003
|
+
"data-testid": dataTestId,
|
|
2004
|
+
disabled: disabled,
|
|
2005
|
+
disableRipple: disableRipple,
|
|
2006
|
+
endIcon: endIcon,
|
|
2007
|
+
fullWidth: fullWidth,
|
|
2008
|
+
onClick: function onClick(event) {
|
|
2009
|
+
return _onClick && _onClick(event);
|
|
2010
|
+
},
|
|
2011
|
+
ref: ref,
|
|
2012
|
+
title: titleTooltip,
|
|
2013
|
+
variant: variant,
|
|
2014
|
+
size: size,
|
|
2015
|
+
startIcon: startIcon,
|
|
2016
|
+
type: isSubmit ? 'submit' : 'button'
|
|
2017
|
+
}, children);
|
|
4232
2018
|
});
|
|
4233
2019
|
|
|
4234
2020
|
// parses value and returns a string which is saved to state
|
|
@@ -4257,7 +2043,8 @@ var parseAutoCompleteValue = function parseAutoCompleteValue(value) {
|
|
|
4257
2043
|
return '';
|
|
4258
2044
|
};
|
|
4259
2045
|
var DotAutoComplete = function DotAutoComplete(_ref) {
|
|
4260
|
-
var
|
|
2046
|
+
var actionItem = _ref.actionItem,
|
|
2047
|
+
ariaLabel = _ref.ariaLabel,
|
|
4261
2048
|
autoFocus = _ref.autoFocus,
|
|
4262
2049
|
className = _ref.className,
|
|
4263
2050
|
dataTestId = _ref['data-testid'],
|
|
@@ -4287,8 +2074,30 @@ var DotAutoComplete = function DotAutoComplete(_ref) {
|
|
|
4287
2074
|
showPlaceholder = _useState[0],
|
|
4288
2075
|
setShowPlaceholder = _useState[1];
|
|
4289
2076
|
|
|
4290
|
-
var
|
|
4291
|
-
|
|
2077
|
+
var _useState2 = useState(false),
|
|
2078
|
+
isOpened = _useState2[0],
|
|
2079
|
+
setIsOpened = _useState2[1];
|
|
2080
|
+
|
|
2081
|
+
var rootClasses = useStylesWithRootClass(rootClassName$t, className);
|
|
2082
|
+
var textFieldRootClasses = useStylesWithRootClass(rootClassName$r, className);
|
|
2083
|
+
var textFieldInput; // Used for focus management while popper is opened
|
|
2084
|
+
|
|
2085
|
+
var actionItemRef = useRef();
|
|
2086
|
+
|
|
2087
|
+
var textFieldRef = function textFieldRef(element) {
|
|
2088
|
+
// We want to use this element in callback function
|
|
2089
|
+
textFieldInput = element; // Check if ref is defined via props
|
|
2090
|
+
|
|
2091
|
+
if (inputRef) {
|
|
2092
|
+
// Check if callback ref
|
|
2093
|
+
if (typeof inputRef === 'function') {
|
|
2094
|
+
inputRef(element);
|
|
2095
|
+
} else {
|
|
2096
|
+
// We are dealing with mutable ref object
|
|
2097
|
+
inputRef.current = element;
|
|
2098
|
+
}
|
|
2099
|
+
}
|
|
2100
|
+
};
|
|
4292
2101
|
|
|
4293
2102
|
var getChips = function getChips(values, getTagProps) {
|
|
4294
2103
|
return values.map(function (option, index) {
|
|
@@ -4307,10 +2116,10 @@ var DotAutoComplete = function DotAutoComplete(_ref) {
|
|
|
4307
2116
|
};
|
|
4308
2117
|
|
|
4309
2118
|
var valuesChanged = function valuesChanged(_ref2) {
|
|
4310
|
-
var
|
|
2119
|
+
var event = _ref2.event,
|
|
4311
2120
|
val = _ref2.val,
|
|
4312
2121
|
reason = _ref2.reason;
|
|
4313
|
-
onChange && onChange(
|
|
2122
|
+
onChange && onChange(event, val, reason);
|
|
4314
2123
|
setShowPlaceholder(parseAutoCompleteValue(val) === '');
|
|
4315
2124
|
};
|
|
4316
2125
|
|
|
@@ -4320,11 +2129,55 @@ var DotAutoComplete = function DotAutoComplete(_ref) {
|
|
|
4320
2129
|
var bGroup = b.group ? b.group : '';
|
|
4321
2130
|
return -bGroup.localeCompare(aGroup);
|
|
4322
2131
|
}) : options;
|
|
2132
|
+
};
|
|
2133
|
+
|
|
2134
|
+
var handleBlur = function handleBlur(event) {
|
|
2135
|
+
return event.relatedTarget !== actionItemRef.current && setIsOpened(false);
|
|
4323
2136
|
}; // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4324
2137
|
|
|
4325
2138
|
|
|
4326
2139
|
var DotPopper = function DotPopper(props) {
|
|
4327
|
-
return /*#__PURE__*/React__default.createElement(StyledPopper, Object.assign({}, props));
|
|
2140
|
+
if (!actionItem || Object.keys(actionItem).length === 0) return /*#__PURE__*/React__default.createElement(StyledPopper, Object.assign({}, props));
|
|
2141
|
+
var iconId = actionItem.iconId,
|
|
2142
|
+
text = actionItem.text,
|
|
2143
|
+
onClick = actionItem.onClick;
|
|
2144
|
+
var paperProps = props.children.props;
|
|
2145
|
+
var paperChildren = paperProps.children;
|
|
2146
|
+
|
|
2147
|
+
var onActionButtonClick = function onActionButtonClick() {
|
|
2148
|
+
setIsOpened(false);
|
|
2149
|
+
textFieldInput.focus();
|
|
2150
|
+
onClick();
|
|
2151
|
+
};
|
|
2152
|
+
|
|
2153
|
+
return /*#__PURE__*/React__default.createElement(StyledPopper, Object.assign({}, props), /*#__PURE__*/React__default.createElement(Paper, Object.assign({}, paperProps), paperChildren, /*#__PURE__*/React__default.createElement("div", {
|
|
2154
|
+
className: "dot-action-item",
|
|
2155
|
+
|
|
2156
|
+
/* Add this to short circuit blur event (otherwise button click will not work):
|
|
2157
|
+
* https://github.com/mui-org/material-ui/issues/19038 */
|
|
2158
|
+
onMouseDown: function onMouseDown(e) {
|
|
2159
|
+
e.preventDefault();
|
|
2160
|
+
},
|
|
2161
|
+
onKeyDown: function onKeyDown(event) {
|
|
2162
|
+
if (event.key === 'Tab' && textFieldInput) {
|
|
2163
|
+
event.preventDefault();
|
|
2164
|
+
textFieldInput.focus();
|
|
2165
|
+
}
|
|
2166
|
+
},
|
|
2167
|
+
// We want to close the popper each time focus is shifted from action item
|
|
2168
|
+
onBlur: handleBlur
|
|
2169
|
+
}, /*#__PURE__*/React__default.createElement(DotButton, {
|
|
2170
|
+
"data-testid": "dot-action-item-btn",
|
|
2171
|
+
disableRipple: true,
|
|
2172
|
+
fullWidth: true,
|
|
2173
|
+
onClick: onActionButtonClick,
|
|
2174
|
+
ref: actionItemRef,
|
|
2175
|
+
startIcon: /*#__PURE__*/React__default.createElement(DotIcon, {
|
|
2176
|
+
fontSize: "small",
|
|
2177
|
+
iconId: iconId
|
|
2178
|
+
}),
|
|
2179
|
+
type: "text"
|
|
2180
|
+
}, text))));
|
|
4328
2181
|
};
|
|
4329
2182
|
|
|
4330
2183
|
return /*#__PURE__*/React__default.createElement(StyledAutocomplete, {
|
|
@@ -4344,15 +2197,28 @@ var DotAutoComplete = function DotAutoComplete(_ref) {
|
|
|
4344
2197
|
return option.group;
|
|
4345
2198
|
} : undefined,
|
|
4346
2199
|
multiple: multiple,
|
|
4347
|
-
onChange: function onChange(
|
|
4348
|
-
|
|
4349
|
-
|
|
2200
|
+
onChange: function onChange(event, val, reason) {
|
|
2201
|
+
valuesChanged({
|
|
2202
|
+
event: event,
|
|
4350
2203
|
val: val,
|
|
4351
2204
|
reason: reason
|
|
4352
2205
|
});
|
|
2206
|
+
setIsOpened(false);
|
|
4353
2207
|
},
|
|
2208
|
+
open: isOpened,
|
|
4354
2209
|
options: sortOptions(),
|
|
4355
2210
|
PopperComponent: DotPopper,
|
|
2211
|
+
// We want to close the popper each time focus is shifted from the autocomplete
|
|
2212
|
+
onBlur: handleBlur,
|
|
2213
|
+
onClose: function onClose(event) {
|
|
2214
|
+
// We want to close popper in each occasion where focus isn't set to action item
|
|
2215
|
+
if (!('relatedTarget' in event) || event.relatedTarget !== actionItemRef.current) {
|
|
2216
|
+
setIsOpened(false);
|
|
2217
|
+
}
|
|
2218
|
+
},
|
|
2219
|
+
onOpen: function onOpen() {
|
|
2220
|
+
return setIsOpened(true);
|
|
2221
|
+
},
|
|
4356
2222
|
renderInput: function renderInput(params) {
|
|
4357
2223
|
return (
|
|
4358
2224
|
/*#__PURE__*/
|
|
@@ -4373,12 +2239,21 @@ var DotAutoComplete = function DotAutoComplete(_ref) {
|
|
|
4373
2239
|
error: error,
|
|
4374
2240
|
helperText: helperText,
|
|
4375
2241
|
id: inputId,
|
|
4376
|
-
inputRef:
|
|
2242
|
+
inputRef: textFieldRef,
|
|
4377
2243
|
label: label,
|
|
4378
2244
|
name: label,
|
|
4379
2245
|
placeholder: showPlaceholder ? placeholder : undefined,
|
|
4380
2246
|
required: false,
|
|
4381
|
-
variant: "outlined"
|
|
2247
|
+
variant: "outlined",
|
|
2248
|
+
onKeyDown: function onKeyDown(event) {
|
|
2249
|
+
var _a; // Intercept 'tab' key press while action item element exists
|
|
2250
|
+
|
|
2251
|
+
|
|
2252
|
+
if (event.key === 'Tab' && actionItemRef.current) {
|
|
2253
|
+
event.preventDefault();
|
|
2254
|
+
(_a = actionItemRef === null || actionItemRef === void 0 ? void 0 : actionItemRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
2255
|
+
}
|
|
2256
|
+
}
|
|
4382
2257
|
}))
|
|
4383
2258
|
);
|
|
4384
2259
|
},
|
|
@@ -4416,10 +2291,46 @@ var DotAvatarGroup = function DotAvatarGroup(_ref) {
|
|
|
4416
2291
|
};
|
|
4417
2292
|
|
|
4418
2293
|
var _templateObject$s;
|
|
4419
|
-
var rootClassName$p = 'dot-
|
|
4420
|
-
var
|
|
2294
|
+
var rootClassName$p = 'dot-badge';
|
|
2295
|
+
var StyledBadge = styled(Badge)(_templateObject$s || (_templateObject$s = _taggedTemplateLiteralLoose(["\n ", "\n"])), function () {
|
|
2296
|
+
return css(["&.", "{.MuiBadge-badge{background-color:", ";}}"], rootClassName$p, function (_ref) {
|
|
2297
|
+
var badgeColor = _ref.badgeColor;
|
|
2298
|
+
return badgeColor;
|
|
2299
|
+
});
|
|
2300
|
+
});
|
|
2301
|
+
|
|
2302
|
+
var DotBadge = function DotBadge(_ref) {
|
|
2303
|
+
var ariaLabel = _ref.ariaLabel,
|
|
2304
|
+
badgeColor = _ref.badgeColor,
|
|
2305
|
+
children = _ref.children,
|
|
2306
|
+
className = _ref.className,
|
|
2307
|
+
dataTestId = _ref['data-testid'],
|
|
2308
|
+
invisible = _ref.invisible,
|
|
2309
|
+
overlap = _ref.overlap;
|
|
2310
|
+
var rootClasses = useStylesWithRootClass(rootClassName$p, className);
|
|
2311
|
+
return /*#__PURE__*/React__default.createElement(StyledBadge, {
|
|
2312
|
+
anchorOrigin: {
|
|
2313
|
+
vertical: 'top',
|
|
2314
|
+
horizontal: 'right'
|
|
2315
|
+
},
|
|
2316
|
+
"aria-label": ariaLabel,
|
|
2317
|
+
badgeColor: badgeColor,
|
|
2318
|
+
classes: {
|
|
2319
|
+
root: rootClasses
|
|
2320
|
+
},
|
|
2321
|
+
color: "primary",
|
|
2322
|
+
"data-testid": dataTestId,
|
|
2323
|
+
invisible: invisible,
|
|
2324
|
+
overlap: overlap,
|
|
2325
|
+
variant: "dot"
|
|
2326
|
+
}, children);
|
|
2327
|
+
};
|
|
2328
|
+
|
|
2329
|
+
var _templateObject$r;
|
|
2330
|
+
var rootClassName$o = 'dot-breadcrumbs';
|
|
2331
|
+
var StyledBreadcrumbs = styled(Breadcrumbs)(_templateObject$r || (_templateObject$r = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
4421
2332
|
var theme = _ref.theme;
|
|
4422
|
-
return css(["&.", "{.MuiBreadcrumbs-ol{flex-wrap:nowrap;}.MuiBreadcrumbs-li,.separator{color:", ";margin:0;white-space:nowrap;}.separator{font-size:12px;width:20px;height:20px;padding:0;}.MuiBreadcrumbs-separator{margin:0;}.MuiLink-underlineHover{cursor:pointer;}}.breadcrumb{padding:", ";}.current-page{color:", ";cursor:default;}"], rootClassName$
|
|
2333
|
+
return css(["&.", "{.MuiBreadcrumbs-ol{flex-wrap:nowrap;}.MuiBreadcrumbs-li,.separator{color:", ";margin:0;white-space:nowrap;}.separator{font-size:12px;width:20px;height:20px;padding:0;}.MuiBreadcrumbs-separator{margin:0;}.MuiLink-underlineHover{cursor:pointer;}}.breadcrumb{padding:", ";}.current-page{color:", ";cursor:default;}"], rootClassName$o, theme.palette.grey[300], theme.spacing(0.5, 2), theme.palette.grey[700]);
|
|
4423
2334
|
});
|
|
4424
2335
|
|
|
4425
2336
|
var compareWidth = function compareWidth(parentEl, childEl) {
|
|
@@ -4435,7 +2346,7 @@ var DotBreadcrumbs = function DotBreadcrumbs(_ref) {
|
|
|
4435
2346
|
_ref$maxItems = _ref.maxItems,
|
|
4436
2347
|
maxItems = _ref$maxItems === void 0 ? 3 : _ref$maxItems,
|
|
4437
2348
|
minWidth = _ref.minWidth;
|
|
4438
|
-
var rootClasses = useStylesWithRootClass(rootClassName$
|
|
2349
|
+
var rootClasses = useStylesWithRootClass(rootClassName$o, className);
|
|
4439
2350
|
var breadcrumbRef = useRef();
|
|
4440
2351
|
var wrapperRef = useRef();
|
|
4441
2352
|
|
|
@@ -4564,87 +2475,6 @@ var DotBreadcrumbs = function DotBreadcrumbs(_ref) {
|
|
|
4564
2475
|
}));
|
|
4565
2476
|
};
|
|
4566
2477
|
|
|
4567
|
-
var _templateObject$r;
|
|
4568
|
-
var rootClassName$o = 'dot-button';
|
|
4569
|
-
var StyledButton = styled(Button)(_templateObject$r || (_templateObject$r = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
4570
|
-
var theme = _ref.theme;
|
|
4571
|
-
return css(["&.", "{margin:", "px;min-width:auto;white-space:nowrap;&.MuiButton-containedPrimary{background-color:", ";}&.MuiButton-containedSecondary{background-color:", ";&:hover,&:active{background-color:", ";}}&.MuiButton-text{padding:6px 16px;}span.dot-icon{padding:0;i{height:auto;}}}"], rootClassName$o, theme.spacing(0.5), theme.palette.product === 'agility' && agilityGreen, theme.palette.error.main, darken$1(theme.palette.error.main, 0.2));
|
|
4572
|
-
});
|
|
4573
|
-
|
|
4574
|
-
/** This component wraps the Button component from @material-ui. */
|
|
4575
|
-
|
|
4576
|
-
var DotButton = function DotButton(_ref) {
|
|
4577
|
-
var ariaLabel = _ref.ariaLabel,
|
|
4578
|
-
_ref$autoFocus = _ref.autoFocus,
|
|
4579
|
-
autoFocus = _ref$autoFocus === void 0 ? false : _ref$autoFocus,
|
|
4580
|
-
children = _ref.children,
|
|
4581
|
-
className = _ref.className,
|
|
4582
|
-
dataTestId = _ref['data-testid'],
|
|
4583
|
-
_ref$disabled = _ref.disabled,
|
|
4584
|
-
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
4585
|
-
_ref$disableRipple = _ref.disableRipple,
|
|
4586
|
-
disableRipple = _ref$disableRipple === void 0 ? false : _ref$disableRipple,
|
|
4587
|
-
endIcon = _ref.endIcon,
|
|
4588
|
-
_ref$fullWidth = _ref.fullWidth,
|
|
4589
|
-
fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,
|
|
4590
|
-
_ref$isSubmit = _ref.isSubmit,
|
|
4591
|
-
isSubmit = _ref$isSubmit === void 0 ? false : _ref$isSubmit,
|
|
4592
|
-
_onClick = _ref.onClick,
|
|
4593
|
-
_ref$size = _ref.size,
|
|
4594
|
-
size = _ref$size === void 0 ? 'medium' : _ref$size,
|
|
4595
|
-
startIcon = _ref.startIcon,
|
|
4596
|
-
titleTooltip = _ref.titleTooltip,
|
|
4597
|
-
_ref$type = _ref.type,
|
|
4598
|
-
type = _ref$type === void 0 ? 'primary' : _ref$type;
|
|
4599
|
-
var rootClasses = useStylesWithRootClass(rootClassName$o, className);
|
|
4600
|
-
var color;
|
|
4601
|
-
var variant;
|
|
4602
|
-
|
|
4603
|
-
switch (type) {
|
|
4604
|
-
case 'destructive':
|
|
4605
|
-
color = disabled ? 'default' : 'secondary';
|
|
4606
|
-
variant = 'contained';
|
|
4607
|
-
break;
|
|
4608
|
-
|
|
4609
|
-
case 'primary':
|
|
4610
|
-
color = 'primary';
|
|
4611
|
-
variant = 'contained';
|
|
4612
|
-
break;
|
|
4613
|
-
|
|
4614
|
-
case 'outlined':
|
|
4615
|
-
color = 'default';
|
|
4616
|
-
variant = 'outlined';
|
|
4617
|
-
break;
|
|
4618
|
-
|
|
4619
|
-
case 'text':
|
|
4620
|
-
color = 'default';
|
|
4621
|
-
variant = 'text';
|
|
4622
|
-
break;
|
|
4623
|
-
}
|
|
4624
|
-
|
|
4625
|
-
return /*#__PURE__*/React__default.createElement(StyledButton, {
|
|
4626
|
-
"aria-label": ariaLabel,
|
|
4627
|
-
autoFocus: autoFocus,
|
|
4628
|
-
classes: {
|
|
4629
|
-
root: rootClasses
|
|
4630
|
-
},
|
|
4631
|
-
color: color,
|
|
4632
|
-
"data-testid": dataTestId,
|
|
4633
|
-
disabled: disabled,
|
|
4634
|
-
disableRipple: disableRipple,
|
|
4635
|
-
endIcon: endIcon,
|
|
4636
|
-
fullWidth: fullWidth,
|
|
4637
|
-
onClick: function onClick(event) {
|
|
4638
|
-
return _onClick && _onClick(event);
|
|
4639
|
-
},
|
|
4640
|
-
title: titleTooltip,
|
|
4641
|
-
variant: variant,
|
|
4642
|
-
size: size,
|
|
4643
|
-
startIcon: startIcon,
|
|
4644
|
-
type: isSubmit ? 'submit' : 'button'
|
|
4645
|
-
}, children);
|
|
4646
|
-
};
|
|
4647
|
-
|
|
4648
2478
|
var _templateObject$q;
|
|
4649
2479
|
var rootClassName$n = 'dot-button-toggle';
|
|
4650
2480
|
var StyledToggleButtonGroup = styled(ToggleButtonGroup)(_templateObject$q || (_templateObject$q = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
@@ -5235,7 +3065,7 @@ var CssCell = styled(Cell)(_templateObject$h || (_templateObject$h = _taggedTemp
|
|
|
5235
3065
|
return css(["height:", ";min-width:0;box-sizing:border-box;", ";", ";", ";", ";grid-row-end:", ";", ";", ";", " ", " ", " ", " ", " ", " grid-column:", ";}"], height ? height : '100%', top && "grid-row-start: " + top, center && "text-align: center", !start && "grid-column-start: " + start, !width && "grid-column-end: span " + width, height && "span " + height, area && "grid-area: " + area, middle && "\n display: inline-flex;\n flex-flow: column wrap;\n justify-content: " + justifyContent + ";\n align-items: " + alignItems + ";\n justify-self: stretch;\n ", xs && breakpointsGetter(xs, theme, 'xs'), sm && breakpointsGetter(sm, theme, 'sm'), md && breakpointsGetter(md, theme, 'md'), lg && breakpointsGetter(lg, theme, 'lg'), lg && breakpointsGetter(lg, theme, 'lg'), xl && breakpointsGetter(lg, theme, 'xl'), gridColumn);
|
|
5236
3066
|
});
|
|
5237
3067
|
|
|
5238
|
-
var _templateObject$g, _templateObject2$3, _templateObject3;
|
|
3068
|
+
var _templateObject$g, _templateObject2$3, _templateObject3$1;
|
|
5239
3069
|
var gridClassName = 'debug-grid';
|
|
5240
3070
|
var gridClassContainer = 'debug-grid-container';
|
|
5241
3071
|
var cellClassName = 'debug-cell';
|
|
@@ -5243,7 +3073,7 @@ var StyledGridOverlay = styled(CssGrid)(_templateObject$g || (_templateObject$g
|
|
|
5243
3073
|
return css(["&.", "{position:absolute;z-index:", ";width:100%;.", "{background:rgba(255,192,203,0.4);height:100vh;}}"], gridClassName, levelBottom, cellClassName);
|
|
5244
3074
|
});
|
|
5245
3075
|
var StyledInfo = styled.div(_templateObject2$3 || (_templateObject2$3 = _taggedTemplateLiteralLoose(["\n &.breakpoint-info {\n border-radius: 4px 0 0 4px;\n padding: 8px;\n position: fixed;\n background: rgba(255, 255, 255, 0.8);\n right: -1px;\n bottom: 10px;\n box-shadow: 2px 2px 2px #9c9c9c;\n font-family: sans-serif;\n font-size: 11px;\n width: 100px;\n border: 1px solid red;\n ul {\n list-style: none;\n padding-left: 4px;\n margin: 0;\n }\n .list {\n padding-top: 4px;\n }\n .header {\n font-weight: bold;\n }\n .message {\n padding-top: 8px;\n color: red;\n }\n }\n"])));
|
|
5246
|
-
var StyledDivContainer = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n &.", " {\n position: relative;\n }\n"])), gridClassContainer);
|
|
3076
|
+
var StyledDivContainer = styled.div(_templateObject3$1 || (_templateObject3$1 = _taggedTemplateLiteralLoose(["\n &.", " {\n position: relative;\n }\n"])), gridClassContainer);
|
|
5247
3077
|
var CssGridDebug = function CssGridDebug(_ref) {
|
|
5248
3078
|
var _ref$showInfo = _ref.showInfo,
|
|
5249
3079
|
showInfo = _ref$showInfo === void 0 ? false : _ref$showInfo;
|
|
@@ -5375,7 +3205,7 @@ var _templateObject$d;
|
|
|
5375
3205
|
var rootClassName$d = 'dot-form';
|
|
5376
3206
|
var StyledForm = styled.form(_templateObject$d || (_templateObject$d = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
5377
3207
|
var theme = _ref.theme;
|
|
5378
|
-
return css(["&.", "{margin:", ";.", ",.", ",.", ",.", "{margin:", ";}.", ",.", "{.", "{margin:0;}}}"], rootClassName$d, theme.spacing(3, 0), rootClassName$j, rootClassName$l, rootClassName$
|
|
3208
|
+
return css(["&.", "{margin:", ";.", ",.", ",.", ",.", "{margin:", ";}.", ",.", "{.", "{margin:0;}}}"], rootClassName$d, theme.spacing(3, 0), rootClassName$j, rootClassName$l, rootClassName$r, rootSelectClassName, theme.spacing(1, 0), rootClassName$i, groupClassName, rootClassName$l);
|
|
5379
3209
|
});
|
|
5380
3210
|
|
|
5381
3211
|
var DotForm = function DotForm(_ref) {
|
|
@@ -5643,7 +3473,7 @@ var DotInputText = function DotInputText(_ref) {
|
|
|
5643
3473
|
_ref$warning = _ref.warning,
|
|
5644
3474
|
warning = _ref$warning === void 0 ? false : _ref$warning;
|
|
5645
3475
|
var hasWarning = !error && warning ? warningClassName : '';
|
|
5646
|
-
var rootStyles = useStylesWithRootClass(rootClassName$
|
|
3476
|
+
var rootStyles = useStylesWithRootClass(rootClassName$r, className, hasWarning);
|
|
5647
3477
|
var endAdornmentIcon = endIcon || error && /*#__PURE__*/React__default.createElement(DotIcon, {
|
|
5648
3478
|
"data-testid": dataTestId && dataTestId + "-error-icon",
|
|
5649
3479
|
iconId: "error-solid"
|
|
@@ -6228,7 +4058,7 @@ var StyledSplitButtonGroup = styled(ButtonGroup)(_templateObject$4 || (_template
|
|
|
6228
4058
|
var theme = _ref.theme;
|
|
6229
4059
|
return css(["&.", "{box-shadow:0px 3px 1px -2px rgb(0 0 0 / 20%),0px 2px 2px 0px rgb(0 0 0 / 14%),0px 1px 5px 0px rgb(0 0 0 / 12%);&.disabled{box-shadow:none;.dot-button{background:", ";border:1px solid ", ";}}&.outlined,&.text{box-shadow:none;.expand-button{border-left:none;}}&.outlined .dot-button{border-color:", ";}&.destructive .expand-button{border-left-color:", ";}.dot-button{box-shadow:none;margin:0;padding:", ";}.expand-button{border-left:1px solid ", ";&.Mui-disabled{border-left:0;}.MuiButton-label,.dot-icon{width:14px;height:14px;}}}"], rootClassName$4, theme.palette.grey['50'], theme.palette.grey['200'], theme.palette.grey['300'], theme.palette.error['800'], theme.spacing(0.75, 1.5), theme.palette.primary['800']);
|
|
6230
4060
|
});
|
|
6231
|
-
var StyledMenu = styled(DotMenu)(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteralLoose(["\n &.dot-menu {\n z-index: ", ";\n }\n"])), levelTop);
|
|
4061
|
+
var StyledMenu$1 = styled(DotMenu)(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteralLoose(["\n &.dot-menu {\n z-index: ", ";\n }\n"])), levelTop);
|
|
6232
4062
|
|
|
6233
4063
|
var DotSplitButton = function DotSplitButton(_ref) {
|
|
6234
4064
|
var _ref$autoFocus = _ref.autoFocus,
|
|
@@ -6309,7 +4139,7 @@ var DotSplitButton = function DotSplitButton(_ref) {
|
|
|
6309
4139
|
fontSize: "small",
|
|
6310
4140
|
iconId: "arrow-down",
|
|
6311
4141
|
title: titleTooltip
|
|
6312
|
-
}))), /*#__PURE__*/React__default.createElement(StyledMenu, {
|
|
4142
|
+
}))), /*#__PURE__*/React__default.createElement(StyledMenu$1, {
|
|
6313
4143
|
anchorEl: anchorRef.current,
|
|
6314
4144
|
disablePortal: disablePortal,
|
|
6315
4145
|
id: "dot-menu-id",
|
|
@@ -6376,7 +4206,7 @@ var DotSwitch = function DotSwitch(_ref) {
|
|
|
6376
4206
|
});
|
|
6377
4207
|
};
|
|
6378
4208
|
|
|
6379
|
-
var _templateObject$2, _templateObject2;
|
|
4209
|
+
var _templateObject$2, _templateObject2, _templateObject3;
|
|
6380
4210
|
var rootClassName$2 = 'dot-table';
|
|
6381
4211
|
var StyledPaper = styled(Paper)(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
|
|
6382
4212
|
var theme = _ref.theme;
|
|
@@ -6384,8 +4214,9 @@ var StyledPaper = styled(Paper)(_templateObject$2 || (_templateObject$2 = _tagge
|
|
|
6384
4214
|
});
|
|
6385
4215
|
var StyledTableContainer = styled(TableContainer)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref2) {
|
|
6386
4216
|
var theme = _ref2.theme;
|
|
6387
|
-
return css(["&.dot-table-container{border-radius:4px;align-items:stretch;flex-direction:column;justify-content:center;tr:hover{background-color:", ";}tr:last-child td{border-bottom:none;}table{width:100%;thead,th{font-weight:700;&.MuiTableCell-alignCenter > span.MuiTableSortLabel-root{padding-left:26px;}}tbody > tr > td.noWrap{max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.empty-row td{text-align:center;}.Mui-selected:not(:hover){background-color:", ";}.MuiTableRow-head{height:56px;}.MuiTableCell-root{border-bottom:1px solid ", ";&.MuiTableCell-stickyHeader{background:", ";}}.MuiTableRow-root{height:52px;}.MuiTableCell-body{padding-top:0;padding-bottom:0;}}}"], theme.palette.product === 'agility' ? theme.palette.agilityInterface.fixedCol : theme.palette.grey[50], theme.palette.product === 'agility' ? theme.palette.agilityInterface.fixedCol : theme.palette.grey[200], theme.palette.product === 'agility' ? theme.palette.layer.n100 : theme.palette.grey[200], theme.palette.product === 'agility' && theme.palette.layer.n50);
|
|
4217
|
+
return css(["&.dot-table-container{border-radius:4px;align-items:stretch;flex-direction:column;justify-content:center;tr:hover{background-color:", ";}tr:last-child td{border-bottom:none;}table{width:100%;thead,th{font-weight:700;&.MuiTableCell-alignCenter > span.MuiTableSortLabel-root{padding-left:26px;}}thead > tr > th:last-child{text-align:right;}tbody > tr > td.noWrap,tbody > tr > td.actionItems{max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}tbody > tr > td.actionItems{text-overflow:clip;text-align:right;}.empty-row td{text-align:center;}.Mui-selected:not(:hover){background-color:", ";}.MuiTableRow-head{height:56px;}.MuiTableCell-root{border-bottom:1px solid ", ";&.MuiTableCell-stickyHeader{background:", ";}}.MuiTableRow-root{height:52px;}.MuiTableCell-body{padding-top:0;padding-bottom:0;}.action-cell-wrapper{width:100%;}}}"], theme.palette.product === 'agility' ? theme.palette.agilityInterface.fixedCol : theme.palette.grey[50], theme.palette.product === 'agility' ? theme.palette.agilityInterface.fixedCol : theme.palette.grey[200], theme.palette.product === 'agility' ? theme.palette.layer.n100 : theme.palette.grey[200], theme.palette.product === 'agility' && theme.palette.layer.n50);
|
|
6388
4218
|
});
|
|
4219
|
+
var StyledMenu = styled(DotMenu)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n .dot-ul > li {\n padding: 0;\n > button {\n width: 100%;\n margin: 0;\n }\n }\n"])));
|
|
6389
4220
|
|
|
6390
4221
|
/**
|
|
6391
4222
|
* A wrapper component around the TableCell component from @material-ui.
|
|
@@ -6397,10 +4228,15 @@ var DotBodyCell = function DotBodyCell(_ref) {
|
|
|
6397
4228
|
className = _ref.className,
|
|
6398
4229
|
colspan = _ref.colspan,
|
|
6399
4230
|
dataTestId = _ref['data-testid'],
|
|
6400
|
-
_ref$id = _ref.id,
|
|
6401
|
-
id = _ref$id === void 0 ? CreateUUID() : _ref$id,
|
|
6402
4231
|
noWrap = _ref.noWrap,
|
|
6403
|
-
value = _ref.value
|
|
4232
|
+
value = _ref.value,
|
|
4233
|
+
onActionMenuTrigger = _ref.onActionMenuTrigger;
|
|
4234
|
+
|
|
4235
|
+
var _useState = useState(false),
|
|
4236
|
+
showMenu = _useState[0],
|
|
4237
|
+
setShowMenu = _useState[1];
|
|
4238
|
+
|
|
4239
|
+
var wrapperRef = useRef(null);
|
|
6404
4240
|
useEffect(function () {
|
|
6405
4241
|
var noWrapTableCell = document.getElementsByClassName('noWrap');
|
|
6406
4242
|
Array.from(noWrapTableCell).forEach(function (truncatedText) {
|
|
@@ -6409,9 +4245,57 @@ var DotBodyCell = function DotBodyCell(_ref) {
|
|
|
6409
4245
|
if (isOverflowing) {
|
|
6410
4246
|
truncatedText.setAttribute('title', truncatedText.innerText);
|
|
6411
4247
|
}
|
|
6412
|
-
});
|
|
6413
|
-
|
|
6414
|
-
|
|
4248
|
+
}); // on window resize, set action column to menu or icon button
|
|
4249
|
+
|
|
4250
|
+
if (Array.isArray(value)) {
|
|
4251
|
+
getActionColumn();
|
|
4252
|
+
window.addEventListener('resize', getActionColumn);
|
|
4253
|
+
return function () {
|
|
4254
|
+
window.removeEventListener('resize', Array.isArray(value) && getActionColumn);
|
|
4255
|
+
};
|
|
4256
|
+
}
|
|
4257
|
+
}, []); // Logic to determine action column as menu or icon button
|
|
4258
|
+
|
|
4259
|
+
var getActionColumn = function getActionColumn() {
|
|
4260
|
+
var iconBtnWidth = document.getElementsByClassName('dot-table-action-icon');
|
|
4261
|
+
var getTotalActionItem = Array.isArray(value) && value[0].actions.length;
|
|
4262
|
+
var actionTableCellWidth = getTotalActionItem * (iconBtnWidth.length > 0 && iconBtnWidth[0].clientWidth);
|
|
4263
|
+
var isOverflowing = actionTableCellWidth > (wrapperRef === null || wrapperRef === void 0 ? void 0 : wrapperRef.current.clientWidth);
|
|
4264
|
+
setShowMenu(isOverflowing);
|
|
4265
|
+
};
|
|
4266
|
+
|
|
4267
|
+
var rootClasses = useStylesWithRootClass('dot-td', className, noWrap && 'noWrap', Array.isArray(value) && 'actionItems');
|
|
4268
|
+
|
|
4269
|
+
var getTableCellValue = function getTableCellValue() {
|
|
4270
|
+
if (Array.isArray(value)) {
|
|
4271
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
4272
|
+
ref: wrapperRef,
|
|
4273
|
+
className: "action-cell-wrapper"
|
|
4274
|
+
}, showMenu ? /*#__PURE__*/React__default.createElement(DotIconButton, {
|
|
4275
|
+
className: "dot-table-action-icon",
|
|
4276
|
+
iconId: "options",
|
|
4277
|
+
iconSize: "small",
|
|
4278
|
+
onClick: function onClick() {
|
|
4279
|
+
return onActionMenuTrigger(wrapperRef.current, value[0].actions);
|
|
4280
|
+
},
|
|
4281
|
+
size: "small"
|
|
4282
|
+
}) : value.map(function (item) {
|
|
4283
|
+
return item.actions.map(function (icons, index) {
|
|
4284
|
+
return /*#__PURE__*/React__default.createElement(DotIconButton, {
|
|
4285
|
+
className: "dot-table-action-icon",
|
|
4286
|
+
iconId: icons.key,
|
|
4287
|
+
iconSize: "small",
|
|
4288
|
+
key: index,
|
|
4289
|
+
onClick: icons.onclick,
|
|
4290
|
+
size: "small"
|
|
4291
|
+
});
|
|
4292
|
+
});
|
|
4293
|
+
}));
|
|
4294
|
+
}
|
|
4295
|
+
|
|
4296
|
+
return value;
|
|
4297
|
+
};
|
|
4298
|
+
|
|
6415
4299
|
return /*#__PURE__*/React__default.createElement(TableCell, {
|
|
6416
4300
|
"aria-label": ariaLabel,
|
|
6417
4301
|
align: align,
|
|
@@ -6419,9 +4303,8 @@ var DotBodyCell = function DotBodyCell(_ref) {
|
|
|
6419
4303
|
root: rootClasses
|
|
6420
4304
|
},
|
|
6421
4305
|
colSpan: colspan,
|
|
6422
|
-
"data-testid": dataTestId
|
|
6423
|
-
|
|
6424
|
-
}, value);
|
|
4306
|
+
"data-testid": dataTestId
|
|
4307
|
+
}, getTableCellValue());
|
|
6425
4308
|
};
|
|
6426
4309
|
|
|
6427
4310
|
/**
|
|
@@ -6432,6 +4315,7 @@ var DotBodyCell = function DotBodyCell(_ref) {
|
|
|
6432
4315
|
var DotTableRow = function DotTableRow(_ref) {
|
|
6433
4316
|
var columns = _ref.columns,
|
|
6434
4317
|
data = _ref.data,
|
|
4318
|
+
_onActionMenuTrigger = _ref.onActionMenuTrigger,
|
|
6435
4319
|
onClick = _ref.onClick,
|
|
6436
4320
|
selected = _ref.selected;
|
|
6437
4321
|
var id = data.id;
|
|
@@ -6445,14 +4329,16 @@ var DotTableRow = function DotTableRow(_ref) {
|
|
|
6445
4329
|
classes: {
|
|
6446
4330
|
root: 'dot-tr'
|
|
6447
4331
|
},
|
|
6448
|
-
key: CreateUUID(),
|
|
6449
4332
|
onClick: handleOnClick,
|
|
6450
4333
|
selected: selected
|
|
6451
|
-
}, columns.map(function (column) {
|
|
4334
|
+
}, columns.map(function (column, index) {
|
|
6452
4335
|
return /*#__PURE__*/React__default.createElement(DotBodyCell, {
|
|
6453
4336
|
align: column.align,
|
|
6454
|
-
key:
|
|
4337
|
+
key: index,
|
|
6455
4338
|
noWrap: column.truncate,
|
|
4339
|
+
onActionMenuTrigger: function onActionMenuTrigger(menuRef, menuItem) {
|
|
4340
|
+
return _onActionMenuTrigger(menuRef, menuItem);
|
|
4341
|
+
},
|
|
6456
4342
|
value: rowData[column.id]
|
|
6457
4343
|
});
|
|
6458
4344
|
}));
|
|
@@ -6481,6 +4367,30 @@ var DotTableBody = function DotTableBody(_ref) {
|
|
|
6481
4367
|
emptyMessage = _ref.emptyMessage,
|
|
6482
4368
|
onRowClick = _ref.onRowClick;
|
|
6483
4369
|
|
|
4370
|
+
var _useState = useState(null),
|
|
4371
|
+
anchorEl = _useState[0],
|
|
4372
|
+
setAnchorEl = _useState[1];
|
|
4373
|
+
|
|
4374
|
+
var _useState2 = useState([]),
|
|
4375
|
+
menuProps = _useState2[0],
|
|
4376
|
+
setMenuProps = _useState2[1];
|
|
4377
|
+
|
|
4378
|
+
var _useState3 = useState(false),
|
|
4379
|
+
open = _useState3[0],
|
|
4380
|
+
setOpen = _useState3[1];
|
|
4381
|
+
|
|
4382
|
+
var handleActionMenuTrigger = function handleActionMenuTrigger(el, menuItem) {
|
|
4383
|
+
setAnchorEl(el);
|
|
4384
|
+
setMenuProps(menuItem);
|
|
4385
|
+
setOpen(!open);
|
|
4386
|
+
};
|
|
4387
|
+
|
|
4388
|
+
var menuId = CreateUUID();
|
|
4389
|
+
|
|
4390
|
+
var onLeave = function onLeave() {
|
|
4391
|
+
setOpen(false);
|
|
4392
|
+
};
|
|
4393
|
+
|
|
6484
4394
|
if (data.length === 0) {
|
|
6485
4395
|
return /*#__PURE__*/React__default.createElement(TableBody, null, /*#__PURE__*/React__default.createElement(EmptyDotRow, {
|
|
6486
4396
|
cols: columns.length,
|
|
@@ -6488,18 +4398,25 @@ var DotTableBody = function DotTableBody(_ref) {
|
|
|
6488
4398
|
}));
|
|
6489
4399
|
}
|
|
6490
4400
|
|
|
6491
|
-
return /*#__PURE__*/React__default.createElement(TableBody, {
|
|
4401
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(TableBody, {
|
|
6492
4402
|
classes: {
|
|
6493
4403
|
root: 'dot-tbody'
|
|
6494
4404
|
}
|
|
6495
|
-
}, data.map(function (row) {
|
|
4405
|
+
}, data.map(function (row, index) {
|
|
6496
4406
|
return /*#__PURE__*/React__default.createElement(DotTableRow, {
|
|
6497
4407
|
columns: columns,
|
|
6498
4408
|
data: row,
|
|
6499
|
-
key:
|
|
4409
|
+
key: index,
|
|
4410
|
+
onActionMenuTrigger: handleActionMenuTrigger,
|
|
6500
4411
|
onClick: onRowClick,
|
|
6501
4412
|
selected: row.selected
|
|
6502
4413
|
});
|
|
4414
|
+
})), /*#__PURE__*/React__default.createElement(StyledMenu, {
|
|
4415
|
+
anchorEl: anchorEl,
|
|
4416
|
+
id: menuId,
|
|
4417
|
+
menuItems: menuProps,
|
|
4418
|
+
onLeave: onLeave,
|
|
4419
|
+
open: open
|
|
6503
4420
|
}));
|
|
6504
4421
|
};
|
|
6505
4422
|
|
|
@@ -6909,4 +4826,4 @@ var DotTabs = function DotTabs(_ref) {
|
|
|
6909
4826
|
}, tabArray);
|
|
6910
4827
|
};
|
|
6911
4828
|
|
|
6912
|
-
export { Cell, CssCell, CssGrid, CssGridDebug, DotAccordion, DotActionToolbar, DotAlertBanner, DotAppToolbar, DotAutoComplete, DotAvatar, DotAvatarGroup, DotBreadcrumbs, DotButton, DotButtonToggle, DotCard, DotCardContent, DotCardFooter, DotCardHeader, DotCheckbox, DotCheckboxGroup, DotChip, DotConfirmationDialog, DotDialog, DotDrawer, DotEmptyState, DotForm, DotFormGroup, DotHeaderRow, DotIcon, DotIconButton, DotInlineEdit, DotInputSelect, DotInputText, DotLink, DotList, DotMenu, DotNavigationRail, DotPill, DotProgress, DotRadioButton, DotRadioGroup, DotSidebar, DotSkeleton, DotSnackbar, DotSnackbarContainer, DotSnackbarProvider, DotSplitButton, DotSwitch, DotTable, DotTablePagination, DotTabs, DotThemeProvider, DotTypography, lightThemeColors as lightColors, parseAutoCompleteValue, variables as themeVariables, useDotSnackbarContext };
|
|
4829
|
+
export { Cell, CssCell, CssGrid, CssGridDebug, DotAccordion, DotActionToolbar, DotAlertBanner, DotAppToolbar, DotAutoComplete, DotAvatar, DotAvatarGroup, DotBadge, DotBreadcrumbs, DotButton, DotButtonToggle, DotCard, DotCardContent, DotCardFooter, DotCardHeader, DotCheckbox, DotCheckboxGroup, DotChip, DotConfirmationDialog, DotDialog, DotDrawer, DotEmptyState, DotForm, DotFormGroup, DotHeaderRow, DotIcon, DotIconButton, DotInlineEdit, DotInputSelect, DotInputText, DotLink, DotList, DotMenu, DotNavigationRail, DotPill, DotProgress, DotRadioButton, DotRadioGroup, DotSidebar, DotSkeleton, DotSnackbar, DotSnackbarContainer, DotSnackbarProvider, DotSplitButton, DotSwitch, DotTable, DotTablePagination, DotTabs, DotThemeProvider, DotTypography, lightThemeColors as lightColors, parseAutoCompleteValue, variables as themeVariables, useDotSnackbarContext };
|