@grafana/ui
Version:
Grafana Components Library
1 lines • 22.4 kB
Source Map (JSON)
{"version":3,"file":"elements.mjs","sources":["../../../../src/themes/GlobalStyles/elements.ts"],"sourcesContent":["import { css } from '@emotion/react';\n\nimport { GrafanaTheme2, ThemeTypographyVariant } from '@grafana/data';\n\nimport { getFeatureToggle } from '../../utils/featureToggle';\nimport { getFocusStyles } from '../mixins';\n\nexport function getElementStyles(theme: GrafanaTheme2) {\n return css({\n '*, *::before, *::after': {\n boxSizing: 'inherit',\n },\n\n // Suppress the focus outline on elements that cannot be accessed via keyboard.\n // This prevents an unwanted focus outline from appearing around elements that\n // might still respond to pointer events.\n //\n // Credit: https://github.com/suitcss/base\n \"[tabindex='-1']:focus\": {\n outline: 'none !important',\n },\n\n html: {\n MsOverflowStyle: 'scrollbar',\n WebkitTapHighlightColor: 'rgba(0, 0, 0, 0)',\n boxSizing: 'border-box',\n height: '100%',\n fontSize: `${theme.typography.htmlFontSize}px`,\n fontFamily: theme.typography.fontFamily,\n lineHeight: theme.typography.body.lineHeight,\n fontKerning: 'normal',\n },\n\n ':root': {\n colorScheme: theme.colors.mode,\n },\n\n body: {\n height: '100%',\n width: '100%',\n position: 'unset',\n color: theme.colors.text.primary,\n backgroundColor: theme.colors.background.canvas,\n paddingRight: '0 !important',\n '@media print': {\n overflow: 'visible',\n },\n '@page': {\n margin: 0,\n size: 'auto',\n padding: 0,\n },\n // react select tries prevent scrolling by setting overflow/padding-right on the body\n // Need type assertion here due to the use of !important\n // see https://github.com/frenic/csstype/issues/114#issuecomment-697201978\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n overflowY: 'auto !important' as 'auto',\n // disable contextual font ligatures. otherwise, in firefox and safari,\n // an \"x\" between 2 numbers is replaced by a multiplication ligature\n // see https://github.com/rsms/inter/issues/222\n fontVariantLigatures: 'no-contextual',\n ...theme.typography.body,\n fontVariantNumeric: getFeatureToggle('tabularNumbers') ? 'tabular-nums' : 'initial',\n },\n\n 'h1, .h1': getVariantStyles(theme.typography.h1),\n 'h2, .h2': getVariantStyles(theme.typography.h2),\n 'h3, .h3': getVariantStyles(theme.typography.h3),\n 'h4, .h4': getVariantStyles(theme.typography.h4),\n 'h5, .h5': getVariantStyles(theme.typography.h5),\n 'h6, .h6': getVariantStyles(theme.typography.h6),\n\n p: {\n margin: theme.spacing(0, 0, 2),\n },\n\n textarea: {\n overflow: 'auto',\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: 'vertical',\n },\n\n button: {\n letterSpacing: theme.typography.body.letterSpacing,\n\n '&:focus-visible': getFocusStyles(theme),\n '&:focus': {\n outline: 'none',\n },\n },\n\n label: {\n // Allow labels to use `margin` for spacing.\n display: 'inline-block',\n },\n\n figure: {\n margin: theme.spacing(0, 0, 2),\n },\n\n img: {\n // By default, `<img>`s are `inline-block`. This assumes that, and vertically\n // centers them. This won't apply should you reset them to `block` level.\n verticalAlign: 'middle',\n // Note: `<img>`s are deliberately not made responsive by default.\n // For the rationale behind this, see the comments on the `.img-fluid` class.\n },\n\n fieldset: {\n // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n // so we reset that to ensure it behaves more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359.\n minWidth: 0,\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0,\n margin: 0,\n border: 0,\n },\n\n legend: {\n // Reset the entire legend element to match the `fieldset`\n display: 'block',\n width: '100%',\n padding: 0,\n marginBottom: theme.spacing(1),\n fontSize: theme.spacing(3),\n lineHeight: 'inherit',\n border: 0,\n },\n\n // Ex: 14px base font * 85% = about 12px\n 'small, .small': {\n fontSize: theme.typography.bodySmall.fontSize,\n fontWeight: 'normal',\n },\n\n 'b, strong': {\n fontWeight: theme.typography.fontWeightMedium,\n },\n\n em: {\n fontStyle: 'italic',\n color: theme.colors.text.primary,\n },\n\n cite: {\n fontStyle: 'normal',\n },\n\n blockquote: {\n padding: theme.spacing(0, 0, 0, 2),\n margin: theme.spacing(0, 0, 2),\n borderLeft: `5px solid ${theme.v1.palette.gray3}`,\n p: {\n marginBottom: 0,\n fontSize: theme.typography.fontSize * 1.25,\n fontWeight: 300,\n lineHeight: 1.25,\n },\n small: {\n display: 'block',\n lineHeight: theme.typography.body.lineHeight,\n color: theme.v1.palette.gray2,\n '&:before': {\n content: \"'\\\\2014 \\\\00A0'\",\n },\n },\n },\n\n // Quotes\n 'q:before, q:after, blockquote:before, blockquote:after': {\n content: \"''\",\n },\n\n // Addresses\n address: {\n display: 'block',\n marginBottom: theme.spacing(2),\n fontStyle: 'normal',\n lineHeight: theme.typography.body.lineHeight,\n },\n\n 'a.external-link': {\n color: theme.colors.text.link,\n textDecoration: 'normal',\n\n '&:hover': {\n color: theme.colors.text.link,\n textDecoration: 'underline',\n },\n },\n\n '.link': {\n color: theme.colors.text.primary,\n cursor: 'pointer',\n },\n\n '.link:hover': {\n color: theme.colors.text.maxContrast,\n },\n\n '.pointer': {\n cursor: 'pointer',\n },\n\n 'audio, canvas, progress, video': {\n display: 'inline-block',\n verticalAlign: 'baseline',\n },\n\n // Prevent modern browsers from displaying `audio` without controls.\n // Remove excess height in iOS 5 devices.\n 'audio:not([controls])': {\n display: 'none',\n height: 0,\n },\n\n // Address styling not present in Safari.\n 'abbr[title]': {\n borderBottom: '1px dotted',\n cursor: 'help',\n },\n dfn: {\n fontStyle: 'italic',\n },\n\n // Prevent `sub` and `sup` affecting `line-height` in all browsers.\n 'sub, sup': {\n fontSize: '75%',\n lineHeight: 0,\n position: 'relative',\n verticalAlign: 'baseline',\n },\n sup: {\n top: '-0.5em',\n },\n sub: {\n bottom: '-0.25em',\n },\n\n hr: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n border: 0,\n borderTop: `1px solid ${theme.colors.border.medium}`,\n },\n\n 'mark, .mark': {\n background: theme.colors.warning.main,\n },\n\n 'ul, ol, dl': {\n marginTop: 0,\n marginBottom: 0,\n padding: 0,\n },\n 'ul ul, ul ol, ol ol, ol ul': {\n marginBottom: 0,\n },\n li: {\n lineHeight: theme.typography.body.lineHeight,\n },\n dd: {\n marginBottom: theme.spacing(1),\n marginLeft: 0, // Undo browser default\n },\n 'dt, dd': {\n lineHeight: theme.typography.body.lineHeight,\n },\n dt: {\n fontWeight: theme.typography.fontWeightMedium,\n },\n\n // 1. Correct color not being inherited.\n // Known issue: affects color of disabled elements.\n // 2. Correct font properties not being inherited.\n // 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n 'button, input, optgroup, select, textarea': {\n // eslint-disable-next-line @grafana/no-border-radius-literal\n borderRadius: 0,\n color: 'inherit',\n font: 'inherit',\n lineHeight: 'inherit',\n margin: 0,\n },\n\n // Don't inherit the `font-weight` (applied by a rule above).\n // NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n optgroup: {\n fontWeight: 'bold',\n },\n\n // 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n // and `video` controls.\n // 2. Correct inability to style clickable `input` types in iOS.\n // 3. Improve usability and consistency of cursor style between image-type\n // `input` and others.\n 'button, html input[type=\"button\"], input[type=\"submit\"]': {\n WebkitAppearance: 'button',\n cursor: 'pointer',\n },\n\n 'input[type=\"search\"]': {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n WebkitAppearance: 'none',\n },\n\n // Remove inner padding and search cancel button in Safari and Chrome on OS X.\n // Safari (but not Chrome) clips the cancel button when the search input has\n // padding (and `textfield` appearance).\n 'input[type=\"search\"]::-webkit-search-cancel-button, input[type=\"search\"]::-webkit-search-decoration': {\n WebkitAppearance: 'none',\n },\n\n table: {\n // Reset for nesting within parents with `background-color`.\n backgroundColor: 'transparent',\n borderCollapse: 'collapse',\n borderSpacing: 0,\n },\n\n caption: {\n paddingTop: theme.spacing(0.5),\n paddingBottom: theme.spacing(0.5),\n color: theme.colors.text.secondary,\n textAlign: 'left',\n captionSide: 'bottom',\n },\n\n th: {\n fontWeight: theme.typography.fontWeightMedium,\n textAlign: 'left',\n },\n\n 'td, th': {\n padding: 0,\n },\n\n // Utility classes\n '.muted': {\n color: theme.colors.text.secondary,\n },\n\n 'a.muted:hover, a.muted:focus': {\n color: theme.colors.text.primary,\n },\n\n '.text-warning': {\n color: theme.colors.warning.text,\n\n '&:hover, &:focus': {\n color: theme.colors.emphasize(theme.colors.warning.text, 0.15),\n },\n },\n\n '.text-error': {\n color: theme.colors.error.text,\n\n '&:hover, &:focus': {\n color: theme.colors.emphasize(theme.colors.error.text, 0.15),\n },\n },\n\n '.text-success': {\n color: '$success-text-color',\n\n '&:hover, &:focus': {\n color: theme.colors.emphasize(theme.colors.success.text, 0.15),\n },\n },\n\n a: {\n cursor: 'pointer',\n color: theme.colors.text.primary,\n textDecoration: 'none',\n\n '&:focus': {\n outline: 'none',\n },\n\n '&:focus-visible': getFocusStyles(theme),\n\n '&:[disabled]': {\n cursor: 'default',\n // Need type assertion here due to the use of !important\n // see https://github.com/frenic/csstype/issues/114#issuecomment-697201978\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n pointerEvents: 'none !important' as 'none',\n },\n },\n\n // iOS \"clickable elements\" fix for role=\"button\"\n //\n // Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n // for traditionally non-focusable elements with role=\"button\"\n // see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n \"[role='button']\": {\n cursor: 'pointer',\n },\n\n // Always hide an element with the `hidden` HTML attribute (from PureCSS).\n '[hidden]': {\n display: 'none !important',\n },\n\n // Avoid 300ms click delay on touch devices that support the `touch-action` CSS property.\n //\n // In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11\n // DON'T remove the click delay when `<meta name=\"viewport\" content=\"width=device-width\">` is present.\n // However, they DO support removing the click delay via `touch-action: manipulation`.\n // See:\n // * http://v4-alpha.getbootstrap.com/content/reboot/#click-delay-optimization-for-touch\n // * http://caniuse.com/#feat=css-touch-action\n // * http://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay\n \"a, area, button, [role='button'], input, label, select, summary, textarea\": {\n touchAction: 'manipulation',\n },\n\n '.text-link': {\n textDecoration: 'underline',\n },\n\n '.text-left': {\n textAlign: 'left',\n },\n\n '.text-right': {\n textAlign: 'right',\n },\n\n '.text-center': {\n textAlign: 'center',\n },\n\n '.highlight-search-match': {\n background: theme.components.textHighlight.background,\n color: theme.components.textHighlight.text,\n padding: 0,\n },\n\n '.template-variable': {\n color: theme.colors.primary.text,\n },\n\n '.modal-header-title': {\n fontSize: theme.typography.size.lg,\n float: 'left',\n paddingTop: theme.spacing(1),\n margin: theme.spacing(0, 2),\n },\n });\n}\n\nexport function getVariantStyles(variant: ThemeTypographyVariant) {\n return {\n margin: 0,\n fontSize: variant.fontSize,\n lineHeight: variant.lineHeight,\n fontWeight: variant.fontWeight,\n letterSpacing: variant.letterSpacing,\n fontFamily: variant.fontFamily,\n marginBottom: '0.45em',\n };\n}\n"],"names":[],"mappings":";;;;;AAOO,SAAS,iBAAiB,KAAA,EAAsB;AACrD,EAAA,OAAO,GAAA,CAAI;AAAA,IACT,wBAAA,EAA0B;AAAA,MACxB,SAAA,EAAW;AAAA,KACb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,uBAAA,EAAyB;AAAA,MACvB,OAAA,EAAS;AAAA,KACX;AAAA,IAEA,IAAA,EAAM;AAAA,MACJ,eAAA,EAAiB,WAAA;AAAA,MACjB,uBAAA,EAAyB,kBAAA;AAAA,MACzB,SAAA,EAAW,YAAA;AAAA,MACX,MAAA,EAAQ,MAAA;AAAA,MACR,QAAA,EAAU,CAAA,EAAG,KAAA,CAAM,UAAA,CAAW,YAAY,CAAA,EAAA,CAAA;AAAA,MAC1C,UAAA,EAAY,MAAM,UAAA,CAAW,UAAA;AAAA,MAC7B,UAAA,EAAY,KAAA,CAAM,UAAA,CAAW,IAAA,CAAK,UAAA;AAAA,MAClC,WAAA,EAAa;AAAA,KACf;AAAA,IAEA,OAAA,EAAS;AAAA,MACP,WAAA,EAAa,MAAM,MAAA,CAAO;AAAA,KAC5B;AAAA,IAEA,IAAA,EAAM;AAAA,MACJ,MAAA,EAAQ,MAAA;AAAA,MACR,KAAA,EAAO,MAAA;AAAA,MACP,QAAA,EAAU,OAAA;AAAA,MACV,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,OAAA;AAAA,MACzB,eAAA,EAAiB,KAAA,CAAM,MAAA,CAAO,UAAA,CAAW,MAAA;AAAA,MACzC,YAAA,EAAc,cAAA;AAAA,MACd,cAAA,EAAgB;AAAA,QACd,QAAA,EAAU;AAAA,OACZ;AAAA,MACA,OAAA,EAAS;AAAA,QACP,MAAA,EAAQ,CAAA;AAAA,QACR,IAAA,EAAM,MAAA;AAAA,QACN,OAAA,EAAS;AAAA,OACX;AAAA;AAAA;AAAA;AAAA;AAAA,MAKA,SAAA,EAAW,iBAAA;AAAA;AAAA;AAAA;AAAA,MAIX,oBAAA,EAAsB,eAAA;AAAA,MACtB,GAAG,MAAM,UAAA,CAAW,IAAA;AAAA,MACpB,kBAAA,EAAoB,gBAAA,CAAiB,gBAAgB,CAAA,GAAI,cAAA,GAAiB;AAAA,KAC5E;AAAA,IAEA,SAAA,EAAW,gBAAA,CAAiB,KAAA,CAAM,UAAA,CAAW,EAAE,CAAA;AAAA,IAC/C,SAAA,EAAW,gBAAA,CAAiB,KAAA,CAAM,UAAA,CAAW,EAAE,CAAA;AAAA,IAC/C,SAAA,EAAW,gBAAA,CAAiB,KAAA,CAAM,UAAA,CAAW,EAAE,CAAA;AAAA,IAC/C,SAAA,EAAW,gBAAA,CAAiB,KAAA,CAAM,UAAA,CAAW,EAAE,CAAA;AAAA,IAC/C,SAAA,EAAW,gBAAA,CAAiB,KAAA,CAAM,UAAA,CAAW,EAAE,CAAA;AAAA,IAC/C,SAAA,EAAW,gBAAA,CAAiB,KAAA,CAAM,UAAA,CAAW,EAAE,CAAA;AAAA,IAE/C,CAAA,EAAG;AAAA,MACD,MAAA,EAAQ,KAAA,CAAM,OAAA,CAAQ,CAAA,EAAG,GAAG,CAAC;AAAA,KAC/B;AAAA,IAEA,QAAA,EAAU;AAAA,MACR,QAAA,EAAU,MAAA;AAAA;AAAA,MAEV,MAAA,EAAQ;AAAA,KACV;AAAA,IAEA,MAAA,EAAQ;AAAA,MACN,aAAA,EAAe,KAAA,CAAM,UAAA,CAAW,IAAA,CAAK,aAAA;AAAA,MAErC,iBAAA,EAAmB,eAAe,KAAK,CAAA;AAAA,MACvC,SAAA,EAAW;AAAA,QACT,OAAA,EAAS;AAAA;AACX,KACF;AAAA,IAEA,KAAA,EAAO;AAAA;AAAA,MAEL,OAAA,EAAS;AAAA,KACX;AAAA,IAEA,MAAA,EAAQ;AAAA,MACN,MAAA,EAAQ,KAAA,CAAM,OAAA,CAAQ,CAAA,EAAG,GAAG,CAAC;AAAA,KAC/B;AAAA,IAEA,GAAA,EAAK;AAAA;AAAA;AAAA,MAGH,aAAA,EAAe;AAAA;AAAA;AAAA,KAGjB;AAAA,IAEA,QAAA,EAAU;AAAA;AAAA;AAAA;AAAA,MAIR,QAAA,EAAU,CAAA;AAAA;AAAA,MAEV,OAAA,EAAS,CAAA;AAAA,MACT,MAAA,EAAQ,CAAA;AAAA,MACR,MAAA,EAAQ;AAAA,KACV;AAAA,IAEA,MAAA,EAAQ;AAAA;AAAA,MAEN,OAAA,EAAS,OAAA;AAAA,MACT,KAAA,EAAO,MAAA;AAAA,MACP,OAAA,EAAS,CAAA;AAAA,MACT,YAAA,EAAc,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA;AAAA,MAC7B,QAAA,EAAU,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA;AAAA,MACzB,UAAA,EAAY,SAAA;AAAA,MACZ,MAAA,EAAQ;AAAA,KACV;AAAA;AAAA,IAGA,eAAA,EAAiB;AAAA,MACf,QAAA,EAAU,KAAA,CAAM,UAAA,CAAW,SAAA,CAAU,QAAA;AAAA,MACrC,UAAA,EAAY;AAAA,KACd;AAAA,IAEA,WAAA,EAAa;AAAA,MACX,UAAA,EAAY,MAAM,UAAA,CAAW;AAAA,KAC/B;AAAA,IAEA,EAAA,EAAI;AAAA,MACF,SAAA,EAAW,QAAA;AAAA,MACX,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK;AAAA,KAC3B;AAAA,IAEA,IAAA,EAAM;AAAA,MACJ,SAAA,EAAW;AAAA,KACb;AAAA,IAEA,UAAA,EAAY;AAAA,MACV,SAAS,KAAA,CAAM,OAAA,CAAQ,CAAA,EAAG,CAAA,EAAG,GAAG,CAAC,CAAA;AAAA,MACjC,MAAA,EAAQ,KAAA,CAAM,OAAA,CAAQ,CAAA,EAAG,GAAG,CAAC,CAAA;AAAA,MAC7B,UAAA,EAAY,CAAA,UAAA,EAAa,KAAA,CAAM,EAAA,CAAG,QAAQ,KAAK,CAAA,CAAA;AAAA,MAC/C,CAAA,EAAG;AAAA,QACD,YAAA,EAAc,CAAA;AAAA,QACd,QAAA,EAAU,KAAA,CAAM,UAAA,CAAW,QAAA,GAAW,IAAA;AAAA,QACtC,UAAA,EAAY,GAAA;AAAA,QACZ,UAAA,EAAY;AAAA,OACd;AAAA,MACA,KAAA,EAAO;AAAA,QACL,OAAA,EAAS,OAAA;AAAA,QACT,UAAA,EAAY,KAAA,CAAM,UAAA,CAAW,IAAA,CAAK,UAAA;AAAA,QAClC,KAAA,EAAO,KAAA,CAAM,EAAA,CAAG,OAAA,CAAQ,KAAA;AAAA,QACxB,UAAA,EAAY;AAAA,UACV,OAAA,EAAS;AAAA;AACX;AACF,KACF;AAAA;AAAA,IAGA,wDAAA,EAA0D;AAAA,MACxD,OAAA,EAAS;AAAA,KACX;AAAA;AAAA,IAGA,OAAA,EAAS;AAAA,MACP,OAAA,EAAS,OAAA;AAAA,MACT,YAAA,EAAc,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA;AAAA,MAC7B,SAAA,EAAW,QAAA;AAAA,MACX,UAAA,EAAY,KAAA,CAAM,UAAA,CAAW,IAAA,CAAK;AAAA,KACpC;AAAA,IAEA,iBAAA,EAAmB;AAAA,MACjB,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,IAAA;AAAA,MACzB,cAAA,EAAgB,QAAA;AAAA,MAEhB,SAAA,EAAW;AAAA,QACT,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,IAAA;AAAA,QACzB,cAAA,EAAgB;AAAA;AAClB,KACF;AAAA,IAEA,OAAA,EAAS;AAAA,MACP,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,OAAA;AAAA,MACzB,MAAA,EAAQ;AAAA,KACV;AAAA,IAEA,aAAA,EAAe;AAAA,MACb,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK;AAAA,KAC3B;AAAA,IAEA,UAAA,EAAY;AAAA,MACV,MAAA,EAAQ;AAAA,KACV;AAAA,IAEA,gCAAA,EAAkC;AAAA,MAChC,OAAA,EAAS,cAAA;AAAA,MACT,aAAA,EAAe;AAAA,KACjB;AAAA;AAAA;AAAA,IAIA,uBAAA,EAAyB;AAAA,MACvB,OAAA,EAAS,MAAA;AAAA,MACT,MAAA,EAAQ;AAAA,KACV;AAAA;AAAA,IAGA,aAAA,EAAe;AAAA,MACb,YAAA,EAAc,YAAA;AAAA,MACd,MAAA,EAAQ;AAAA,KACV;AAAA,IACA,GAAA,EAAK;AAAA,MACH,SAAA,EAAW;AAAA,KACb;AAAA;AAAA,IAGA,UAAA,EAAY;AAAA,MACV,QAAA,EAAU,KAAA;AAAA,MACV,UAAA,EAAY,CAAA;AAAA,MACZ,QAAA,EAAU,UAAA;AAAA,MACV,aAAA,EAAe;AAAA,KACjB;AAAA,IACA,GAAA,EAAK;AAAA,MACH,GAAA,EAAK;AAAA,KACP;AAAA,IACA,GAAA,EAAK;AAAA,MACH,MAAA,EAAQ;AAAA,KACV;AAAA,IAEA,EAAA,EAAI;AAAA,MACF,SAAA,EAAW,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA;AAAA,MAC1B,YAAA,EAAc,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA;AAAA,MAC7B,MAAA,EAAQ,CAAA;AAAA,MACR,SAAA,EAAW,CAAA,UAAA,EAAa,KAAA,CAAM,MAAA,CAAO,OAAO,MAAM,CAAA;AAAA,KACpD;AAAA,IAEA,aAAA,EAAe;AAAA,MACb,UAAA,EAAY,KAAA,CAAM,MAAA,CAAO,OAAA,CAAQ;AAAA,KACnC;AAAA,IAEA,YAAA,EAAc;AAAA,MACZ,SAAA,EAAW,CAAA;AAAA,MACX,YAAA,EAAc,CAAA;AAAA,MACd,OAAA,EAAS;AAAA,KACX;AAAA,IACA,4BAAA,EAA8B;AAAA,MAC5B,YAAA,EAAc;AAAA,KAChB;AAAA,IACA,EAAA,EAAI;AAAA,MACF,UAAA,EAAY,KAAA,CAAM,UAAA,CAAW,IAAA,CAAK;AAAA,KACpC;AAAA,IACA,EAAA,EAAI;AAAA,MACF,YAAA,EAAc,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA;AAAA,MAC7B,UAAA,EAAY;AAAA;AAAA,KACd;AAAA,IACA,QAAA,EAAU;AAAA,MACR,UAAA,EAAY,KAAA,CAAM,UAAA,CAAW,IAAA,CAAK;AAAA,KACpC;AAAA,IACA,EAAA,EAAI;AAAA,MACF,UAAA,EAAY,MAAM,UAAA,CAAW;AAAA,KAC/B;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,2CAAA,EAA6C;AAAA;AAAA,MAE3C,YAAA,EAAc,CAAA;AAAA,MACd,KAAA,EAAO,SAAA;AAAA,MACP,IAAA,EAAM,SAAA;AAAA,MACN,UAAA,EAAY,SAAA;AAAA,MACZ,MAAA,EAAQ;AAAA,KACV;AAAA;AAAA;AAAA,IAIA,QAAA,EAAU;AAAA,MACR,UAAA,EAAY;AAAA,KACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,yDAAA,EAA2D;AAAA,MACzD,gBAAA,EAAkB,QAAA;AAAA,MAClB,MAAA,EAAQ;AAAA,KACV;AAAA,IAEA,sBAAA,EAAwB;AAAA;AAAA;AAAA;AAAA;AAAA,MAKtB,gBAAA,EAAkB;AAAA,KACpB;AAAA;AAAA;AAAA;AAAA,IAKA,qGAAA,EAAuG;AAAA,MACrG,gBAAA,EAAkB;AAAA,KACpB;AAAA,IAEA,KAAA,EAAO;AAAA;AAAA,MAEL,eAAA,EAAiB,aAAA;AAAA,MACjB,cAAA,EAAgB,UAAA;AAAA,MAChB,aAAA,EAAe;AAAA,KACjB;AAAA,IAEA,OAAA,EAAS;AAAA,MACP,UAAA,EAAY,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA;AAAA,MAC7B,aAAA,EAAe,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA;AAAA,MAChC,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,SAAA;AAAA,MACzB,SAAA,EAAW,MAAA;AAAA,MACX,WAAA,EAAa;AAAA,KACf;AAAA,IAEA,EAAA,EAAI;AAAA,MACF,UAAA,EAAY,MAAM,UAAA,CAAW,gBAAA;AAAA,MAC7B,SAAA,EAAW;AAAA,KACb;AAAA,IAEA,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,KACX;AAAA;AAAA,IAGA,QAAA,EAAU;AAAA,MACR,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK;AAAA,KAC3B;AAAA,IAEA,8BAAA,EAAgC;AAAA,MAC9B,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK;AAAA,KAC3B;AAAA,IAEA,eAAA,EAAiB;AAAA,MACf,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,OAAA,CAAQ,IAAA;AAAA,MAE5B,kBAAA,EAAoB;AAAA,QAClB,KAAA,EAAO,MAAM,MAAA,CAAO,SAAA,CAAU,MAAM,MAAA,CAAO,OAAA,CAAQ,MAAM,IAAI;AAAA;AAC/D,KACF;AAAA,IAEA,aAAA,EAAe;AAAA,MACb,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,KAAA,CAAM,IAAA;AAAA,MAE1B,kBAAA,EAAoB;AAAA,QAClB,KAAA,EAAO,MAAM,MAAA,CAAO,SAAA,CAAU,MAAM,MAAA,CAAO,KAAA,CAAM,MAAM,IAAI;AAAA;AAC7D,KACF;AAAA,IAEA,eAAA,EAAiB;AAAA,MACf,KAAA,EAAO,qBAAA;AAAA,MAEP,kBAAA,EAAoB;AAAA,QAClB,KAAA,EAAO,MAAM,MAAA,CAAO,SAAA,CAAU,MAAM,MAAA,CAAO,OAAA,CAAQ,MAAM,IAAI;AAAA;AAC/D,KACF;AAAA,IAEA,CAAA,EAAG;AAAA,MACD,MAAA,EAAQ,SAAA;AAAA,MACR,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,OAAA;AAAA,MACzB,cAAA,EAAgB,MAAA;AAAA,MAEhB,SAAA,EAAW;AAAA,QACT,OAAA,EAAS;AAAA,OACX;AAAA,MAEA,iBAAA,EAAmB,eAAe,KAAK,CAAA;AAAA,MAEvC,cAAA,EAAgB;AAAA,QACd,MAAA,EAAQ,SAAA;AAAA;AAAA;AAAA;AAAA,QAIR,aAAA,EAAe;AAAA;AACjB,KACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,iBAAA,EAAmB;AAAA,MACjB,MAAA,EAAQ;AAAA,KACV;AAAA;AAAA,IAGA,UAAA,EAAY;AAAA,MACV,OAAA,EAAS;AAAA,KACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWA,2EAAA,EAA6E;AAAA,MAC3E,WAAA,EAAa;AAAA,KACf;AAAA,IAEA,YAAA,EAAc;AAAA,MACZ,cAAA,EAAgB;AAAA,KAClB;AAAA,IAEA,YAAA,EAAc;AAAA,MACZ,SAAA,EAAW;AAAA,KACb;AAAA,IAEA,aAAA,EAAe;AAAA,MACb,SAAA,EAAW;AAAA,KACb;AAAA,IAEA,cAAA,EAAgB;AAAA,MACd,SAAA,EAAW;AAAA,KACb;AAAA,IAEA,yBAAA,EAA2B;AAAA,MACzB,UAAA,EAAY,KAAA,CAAM,UAAA,CAAW,aAAA,CAAc,UAAA;AAAA,MAC3C,KAAA,EAAO,KAAA,CAAM,UAAA,CAAW,aAAA,CAAc,IAAA;AAAA,MACtC,OAAA,EAAS;AAAA,KACX;AAAA,IAEA,oBAAA,EAAsB;AAAA,MACpB,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,OAAA,CAAQ;AAAA,KAC9B;AAAA,IAEA,qBAAA,EAAuB;AAAA,MACrB,QAAA,EAAU,KAAA,CAAM,UAAA,CAAW,IAAA,CAAK,EAAA;AAAA,MAChC,KAAA,EAAO,MAAA;AAAA,MACP,UAAA,EAAY,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA;AAAA,MAC3B,MAAA,EAAQ,KAAA,CAAM,OAAA,CAAQ,CAAA,EAAG,CAAC;AAAA;AAC5B,GACD,CAAA;AACH;AAEO,SAAS,iBAAiB,OAAA,EAAiC;AAChE,EAAA,OAAO;AAAA,IACL,MAAA,EAAQ,CAAA;AAAA,IACR,UAAU,OAAA,CAAQ,QAAA;AAAA,IAClB,YAAY,OAAA,CAAQ,UAAA;AAAA,IACpB,YAAY,OAAA,CAAQ,UAAA;AAAA,IACpB,eAAe,OAAA,CAAQ,aAAA;AAAA,IACvB,YAAY,OAAA,CAAQ,UAAA;AAAA,IACpB,YAAA,EAAc;AAAA,GAChB;AACF;;;;"}