{"version":3,"sources":["../node_modules/react-icons/lib/esm/iconsManifest.js","../node_modules/react-icons/lib/esm/iconContext.js","../node_modules/react-icons/lib/esm/iconBase.js","../node_modules/react/index.js","../node_modules/chart.js/dist/chunks/helpers.segment.mjs","../node_modules/prop-types/index.js","../node_modules/reactstrap/es/utils.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/date-fns/esm/_lib/requiredArgs/index.js","../node_modules/date-fns/esm/toDate/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/reactstrap/node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/date-fns/esm/_lib/toInteger/index.js","../node_modules/classnames/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator/index.js","../node_modules/reactstrap/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/react-router-dom/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/react-router-dom/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react-router-dom/node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/react-router-dom/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../modules/BrowserRouter.js","../../modules/HashRouter.js","../../modules/utils/locationUtils.js","../../modules/Link.js","../../modules/NavLink.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/reactstrap/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/inherits/inherits_browser.js","../node_modules/react-router/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/react-router/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react-router/node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/react-router/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../modules/createNamedContext.js","../../modules/HistoryContext.js","../../modules/RouterContext.js","../../modules/Router.js","../../modules/MemoryRouter.js","../../modules/Lifecycle.js","../../modules/generatePath.js","../../modules/Redirect.js","../../modules/matchPath.js","../../modules/Route.js","../../modules/StaticRouter.js","../../modules/Switch.js","../../modules/withRouter.js","../../modules/hooks.js","../node_modules/safe-buffer/index.js","../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/chart.js/dist/chart.mjs","../node_modules/reactstrap/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/reactstrap/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react-icons/bs/index.esm.js","../node_modules/sweetalert2/dist/sweetalert2.all.js","../../src/mounts.js","../../src/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/buffer/index.js","../node_modules/process/browser.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../node_modules/xmlbuilder/lib/NodeType.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/value-equal/esm/value-equal.js","../node_modules/history/esm/history.js","../node_modules/react-dom/index.js","../node_modules/date-fns/esm/_lib/defaultOptions/index.js","../node_modules/webpack/buildin/global.js","../node_modules/jsonwebtoken/node_modules/semver/classes/semver.js","../node_modules/reactstrap/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/tiny-invariant/dist/tiny-invariant.esm.js","../node_modules/xmlbuilder/lib/XMLNode.js","../node_modules/minimalistic-assert/index.js","../node_modules/elliptic/lib/elliptic/utils.js","../node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js","../node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","../node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js","../node_modules/jsonwebtoken/node_modules/semver/functions/compare.js","../node_modules/jsonwebtoken/node_modules/semver/classes/range.js","../node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js","../node_modules/reactstrap/es/Fade.js","../node_modules/hash.js/lib/hash/utils.js","../node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","../node_modules/date-fns/esm/_lib/protectedTokens/index.js","../node_modules/xmlbuilder/lib/Utility.js","../node_modules/elliptic/node_modules/bn.js/lib/bn.js","../node_modules/react-popper/lib/esm/utils.js","../node_modules/date-fns/esm/constants/index.js","../node_modules/cipher-base/index.js","../node_modules/reactstrap/es/DropdownContext.js","../node_modules/react-transition-group/index.js","../node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","../node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_duplex.js","../node_modules/webpack/buildin/module.js","../node_modules/date-fns/esm/addMonths/index.js","../node_modules/date-fns/esm/startOfDay/index.js","../node_modules/@babel/runtime/helpers/extends.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/classCallCheck.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/createClass.js","../node_modules/events/events.js","../node_modules/string_decoder/lib/string_decoder.js","../node_modules/randombytes/browser.js","../node_modules/readable-stream/errors-browser.js","../node_modules/readable-stream/lib/_stream_duplex.js","../node_modules/sha.js/hash.js","../node_modules/jsonwebtoken/node_modules/semver/functions/parse.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/inheritsLoose.js","../node_modules/date-fns/esm/addMilliseconds/index.js","../node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js","../node_modules/date-fns/esm/startOfWeek/index.js","../node_modules/universal-cookie/node_modules/cookie/index.js","../node_modules/react-icons/fa/index.esm.js","../node_modules/stream-browserify/index.js","../node_modules/core-util-is/lib/util.js","../node_modules/create-hash/browser.js","../node_modules/buffer-xor/index.js","../node_modules/hash.js/lib/hash/common.js","../node_modules/asn1.js/lib/asn1/base/buffer.js","../node_modules/jsonwebtoken/node_modules/semver/internal/re.js","../node_modules/warning/warning.js","../node_modules/date-fns/esm/addDays/index.js","../node_modules/date-fns/esm/getDaysInMonth/index.js","../node_modules/date-fns/esm/setMonth/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/date-fns/esm/_lib/format/longFormatters/index.js","../node_modules/jsonwebtoken/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/getPrototypeOf.js","../node_modules/xmlbuilder/lib/XMLCharacterData.js","../node_modules/xmlbuilder/lib/WriterState.js","../node_modules/process-nextick-args/index.js","../node_modules/util/util.js","../node_modules/browserify-aes/aes.js","../node_modules/evp_bytestokey/index.js","../node_modules/elliptic/lib/elliptic/curve/base.js","../node_modules/parse-asn1/index.js","../node_modules/jsonwebtoken/lib/JsonWebTokenError.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js","../node_modules/jsonwebtoken/node_modules/semver/internal/constants.js","../node_modules/jsonwebtoken/node_modules/semver/internal/debug.js","../node_modules/jsonwebtoken/node_modules/semver/functions/gt.js","../node_modules/jsonwebtoken/node_modules/semver/classes/comparator.js","../node_modules/jsonwebtoken/node_modules/semver/functions/satisfies.js","../ReactPaginate/webpack/universalModuleDefinition","../ReactPaginate/node_modules/prop-types/factoryWithThrowingShims.js","../ReactPaginate/node_modules/prop-types/index.js","../ReactPaginate/node_modules/prop-types/lib/ReactPropTypesSecret.js","../webpack:/ReactPaginate/external umd {\"root\":\"React\",\"amd\":\"react\",\"commonjs\":\"react\",\"commonjs2\":\"react\"}","../ReactPaginate/webpack/bootstrap","../webpack:/ReactPaginate/webpack/runtime/compat get default export","../webpack:/ReactPaginate/webpack/runtime/define property getters","../webpack:/ReactPaginate/webpack/runtime/hasOwnProperty shorthand","../webpack:/ReactPaginate/webpack/runtime/make namespace object","../ReactPaginate/react_components/PageView.js","../ReactPaginate/react_components/BreakView.js","../ReactPaginate/react_components/utils.js","../ReactPaginate/react_components/PaginationBoxView.js","../ReactPaginate/react_components/index.js","../node_modules/react-popper/lib/esm/Manager.js","../node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","../node_modules/date-fns/esm/subMilliseconds/index.js","../node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js","../node_modules/date-fns/esm/startOfQuarter/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js","../node_modules/date-fns/esm/locale/en-US/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/match/index.js","../node_modules/date-fns/esm/_lib/defaultLocale/index.js","../node_modules/universal-cookie/es6/utils.js","../node_modules/universal-cookie/es6/Cookies.js","../node_modules/universal-cookie/es6/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../src/utils.ts","../../src/chart.tsx","../../src/typedCharts.tsx","../node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js","../node_modules/date-fns/esm/_lib/getUTCWeek/index.js","../node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js","../node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/slicedToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/xml2js/lib/defaults.js","../node_modules/xmlbuilder/lib/XMLElement.js","../node_modules/xmlbuilder/lib/XMLNamedNodeMap.js","../node_modules/xmlbuilder/lib/XMLCData.js","../node_modules/xmlbuilder/lib/XMLComment.js","../node_modules/xmlbuilder/lib/XMLDeclaration.js","../node_modules/xmlbuilder/lib/XMLDocType.js","../node_modules/xmlbuilder/lib/XMLDTDAttList.js","../node_modules/xmlbuilder/lib/XMLDTDEntity.js","../node_modules/xmlbuilder/lib/XMLDTDElement.js","../node_modules/xmlbuilder/lib/XMLDTDNotation.js","../node_modules/xmlbuilder/lib/XMLRaw.js","../node_modules/xmlbuilder/lib/XMLText.js","../node_modules/xmlbuilder/lib/XMLProcessingInstruction.js","../node_modules/xmlbuilder/lib/XMLStringWriter.js","../node_modules/stream-browserify/node_modules/readable-stream/readable-browser.js","../node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_writable.js","../node_modules/function-bind/index.js","../node_modules/define-properties/index.js","../node_modules/jws/index.js","../node_modules/crypto-browserify/index.js","../node_modules/md5.js/index.js","../node_modules/readable-stream/lib/internal/streams/end-of-stream.js","../node_modules/ripemd160/index.js","../node_modules/sha.js/index.js","../node_modules/des.js/lib/des/cipher.js","../node_modules/browserify-aes/browser.js","../node_modules/browserify-aes/modes/index.js","../node_modules/brorand/index.js","../node_modules/browserify-sign/node_modules/safe-buffer/index.js","../node_modules/browserify-rsa/index.js","../node_modules/bn.js/lib/bn.js","../node_modules/elliptic/lib/elliptic.js","../node_modules/elliptic/lib/elliptic/curves.js","../node_modules/hash.js/lib/hash.js","../node_modules/safer-buffer/safer.js","../node_modules/asn1.js/lib/asn1/base/node.js","../node_modules/asn1.js/lib/asn1/base/reporter.js","../node_modules/asn1.js/lib/asn1/constants/der.js","../node_modules/public-encrypt/node_modules/bn.js/lib/bn.js","../node_modules/jsonwebtoken/node_modules/semver/index.js","../node_modules/jsonwebtoken/node_modules/semver/internal/parse-options.js","../node_modules/jsonwebtoken/node_modules/semver/functions/compare-build.js","../node_modules/jsonwebtoken/node_modules/semver/functions/lt.js","../node_modules/jsonwebtoken/node_modules/semver/functions/gte.js","../node_modules/jsonwebtoken/node_modules/semver/functions/lte.js","../node_modules/jsonwebtoken/node_modules/semver/ranges/outside.js","../node_modules/date-fns/esm/isDate/index.js","../node_modules/date-fns/esm/isValid/index.js","../node_modules/date-fns/esm/addMinutes/index.js","../node_modules/date-fns/esm/addHours/index.js","../node_modules/date-fns/esm/addWeeks/index.js","../node_modules/date-fns/esm/addQuarters/index.js","../node_modules/date-fns/esm/addYears/index.js","../node_modules/path-to-regexp/index.js","../../../src/utils/isBrowser.js","../../../src/utils/debounce.js","../../../src/utils/isFunction.js","../../../src/utils/getStyleComputedProperty.js","../../../src/utils/getParentNode.js","../../../src/utils/getScrollParent.js","../../../src/utils/getReferenceNode.js","../../../src/utils/isIE.js","../../../src/utils/getOffsetParent.js","../../../src/utils/getRoot.js","../../../src/utils/findCommonOffsetParent.js","../../../src/utils/isOffsetContainer.js","../../../src/utils/getScroll.js","../../../src/utils/includeScroll.js","../../../src/utils/getBordersSize.js","../../../src/utils/getWindowSizes.js","../../../src/utils/getClientRect.js","../../../src/utils/getBoundingClientRect.js","../../../src/utils/getOffsetRectRelativeToArbitraryNode.js","../../../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../../../src/utils/isFixed.js","../../../src/utils/getFixedPositionOffsetParent.js","../../../src/utils/getBoundaries.js","../../../src/utils/computeAutoPlacement.js","../../../src/utils/getReferenceOffsets.js","../../../src/utils/getOuterSizes.js","../../../src/utils/getOppositePlacement.js","../../../src/utils/getPopperOffsets.js","../../../src/utils/find.js","../../../src/utils/runModifiers.js","../../../src/utils/findIndex.js","../../../src/methods/update.js","../../../src/utils/isModifierEnabled.js","../../../src/utils/getSupportedPropertyName.js","../../../src/methods/destroy.js","../../../src/utils/getWindow.js","../../../src/utils/setupEventListeners.js","../../../src/methods/enableEventListeners.js","../../../src/methods/disableEventListeners.js","../../../src/utils/removeEventListeners.js","../../../src/utils/isNumeric.js","../../../src/utils/setStyles.js","../../../src/modifiers/computeStyle.js","../../../src/utils/isModifierRequired.js","../../../src/methods/placements.js","../../../src/utils/clockwise.js","../../../src/modifiers/flip.js","../../../src/modifiers/offset.js","../../../src/modifiers/index.js","../../../src/methods/defaults.js","../../../src/modifiers/shift.js","../../../src/modifiers/preventOverflow.js","../../../src/modifiers/keepTogether.js","../../../src/modifiers/arrow.js","../../../src/utils/getOppositeVariation.js","../../../src/modifiers/inner.js","../../../src/modifiers/hide.js","../../../src/utils/getRoundedOffsets.js","../../../src/modifiers/applyStyle.js","../../../src/utils/setAttributes.js","../../../src/index.js","../node_modules/@hypnosphi/create-react-context/lib/index.js","../node_modules/react-datepicker/dist/react-datepicker.min.js","../node_modules/mini-create-react-context/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/mini-create-react-context/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/object-assign/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/get.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/inherits.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/createSuper.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/xmlbuilder/lib/XMLDOMImplementation.js","../node_modules/xmlbuilder/lib/XMLDocument.js","../node_modules/xmlbuilder/lib/XMLAttribute.js","../node_modules/xmlbuilder/lib/XMLDummy.js","../node_modules/xmlbuilder/lib/XMLStringifier.js","../node_modules/xmlbuilder/lib/XMLWriterBase.js","../node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_readable.js","../node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/stream-browser.js","../node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/destroy.js","../node_modules/timers-browserify/main.js","../node_modules/util-deprecate/browser.js","../node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_transform.js","../node_modules/xml2js/lib/processors.js","../node_modules/react-is/index.js","../node_modules/react-transition-group/Transition.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/react-transition-group/utils/PropTypes.js","../node_modules/react-transition-group/TransitionGroupContext.js","../node_modules/react-transition-group/TransitionGroup.js","../node_modules/object-keys/index.js","../node_modules/object-keys/isArguments.js","../node_modules/regexp.prototype.flags/implementation.js","../node_modules/regexp.prototype.flags/polyfill.js","../node_modules/jsonwebtoken/decode.js","../node_modules/jws/lib/data-stream.js","../node_modules/jwa/index.js","../node_modules/hash-base/index.js","../node_modules/readable-stream/readable-browser.js","../node_modules/readable-stream/lib/_stream_readable.js","../node_modules/readable-stream/lib/internal/streams/stream-browser.js","../node_modules/readable-stream/lib/internal/streams/destroy.js","../node_modules/readable-stream/lib/internal/streams/state.js","../node_modules/readable-stream/lib/_stream_writable.js","../node_modules/readable-stream/lib/_stream_transform.js","../node_modules/sha.js/sha256.js","../node_modules/sha.js/sha512.js","../node_modules/create-hmac/browser.js","../node_modules/create-hash/md5.js","../node_modules/pbkdf2/browser.js","../node_modules/pbkdf2/lib/precondition.js","../node_modules/pbkdf2/lib/default-encoding.js","../node_modules/pbkdf2/lib/sync-browser.js","../node_modules/pbkdf2/lib/to-buffer.js","../node_modules/des.js/lib/des/utils.js","../node_modules/des.js/lib/des/des.js","../node_modules/browserify-aes/modes/ctr.js","../node_modules/browserify-aes/incr32.js","../node_modules/browserify-aes/authCipher.js","../node_modules/browserify-aes/streamCipher.js","../node_modules/diffie-hellman/lib/generatePrime.js","../node_modules/diffie-hellman/node_modules/bn.js/lib/bn.js","../node_modules/miller-rabin/lib/mr.js","../node_modules/minimalistic-crypto-utils/lib/utils.js","../node_modules/elliptic/lib/elliptic/curve/index.js","../node_modules/hash.js/lib/hash/sha/common.js","../node_modules/hash.js/lib/hash/sha/256.js","../node_modules/hash.js/lib/hash/sha/512.js","../node_modules/asn1.js/lib/asn1.js","../node_modules/asn1.js/node_modules/bn.js/lib/bn.js","../node_modules/asn1.js/lib/asn1/encoders/index.js","../node_modules/asn1.js/lib/asn1/encoders/der.js","../node_modules/asn1.js/lib/asn1/decoders/index.js","../node_modules/asn1.js/lib/asn1/decoders/der.js","../node_modules/public-encrypt/mgf.js","../node_modules/public-encrypt/xor.js","../node_modules/public-encrypt/withPublic.js","../node_modules/jws/lib/tostring.js","../node_modules/jsonwebtoken/lib/NotBeforeError.js","../node_modules/jsonwebtoken/lib/TokenExpiredError.js","../node_modules/jsonwebtoken/lib/timespan.js","../node_modules/jsonwebtoken/lib/validateAsymmetricKey.js","../node_modules/jsonwebtoken/node_modules/semver/internal/identifiers.js","../node_modules/jsonwebtoken/node_modules/semver/functions/eq.js","../node_modules/jsonwebtoken/node_modules/semver/functions/neq.js","../node_modules/jsonwebtoken/node_modules/semver/functions/cmp.js","../node_modules/jsonwebtoken/lib/psSupported.js","../node_modules/mini-create-react-context/dist/esm/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/reactstrap/es/Button.js","../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/deep-equal/index.js","../node_modules/reactstrap/es/Collapse.js","../node_modules/react-fast-compare/index.js","../node_modules/dotenv/lib/main.js","../node_modules/date-fns/esm/locale/es/_lib/formatDistance/index.js","../node_modules/date-fns/esm/locale/es/_lib/formatLong/index.js","../node_modules/date-fns/esm/locale/es/_lib/formatRelative/index.js","../node_modules/date-fns/esm/locale/es/_lib/localize/index.js","../node_modules/date-fns/esm/locale/es/index.js","../node_modules/date-fns/esm/locale/es/_lib/match/index.js","../node_modules/chartjs-plugin-datalabels/dist/chartjs-plugin-datalabels.esm.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/scheduler/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/superPropBase.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/typeof.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/construct.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/nonIterableRest.js","../node_modules/node-fetch/browser.js","../node_modules/xml2js/lib/xml2js.js","../node_modules/xml2js/lib/builder.js","../node_modules/xmlbuilder/lib/index.js","../node_modules/xmlbuilder/lib/XMLDOMConfiguration.js","../node_modules/xmlbuilder/lib/XMLDOMErrorHandler.js","../node_modules/xmlbuilder/lib/XMLDOMStringList.js","../node_modules/xmlbuilder/lib/XMLNodeList.js","../node_modules/xmlbuilder/lib/DocumentPosition.js","../node_modules/xmlbuilder/lib/XMLDocumentCB.js","../node_modules/xmlbuilder/lib/XMLStreamWriter.js","../node_modules/xml2js/lib/parser.js","../node_modules/sax/lib/sax.js","../node_modules/base64-js/index.js","../node_modules/ieee754/index.js","../node_modules/buffer/node_modules/isarray/index.js","../node_modules/stream-browserify/node_modules/isarray/index.js","../node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/BufferList.js","../node_modules/setimmediate/setImmediate.js","../node_modules/string_decoder/node_modules/safe-buffer/index.js","../node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_passthrough.js","../node_modules/stream-browserify/node_modules/readable-stream/writable-browser.js","../node_modules/stream-browserify/node_modules/readable-stream/duplex-browser.js","../node_modules/stream-browserify/node_modules/readable-stream/transform.js","../node_modules/stream-browserify/node_modules/readable-stream/passthrough.js","../node_modules/xml2js/lib/bom.js","../node_modules/build-url/dist/build-url.js","../node_modules/babel-preset-react-app/node_modules/regenerator-runtime/runtime.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/isarray/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-transition-group/CSSTransition.js","../node_modules/dom-helpers/class/addClass.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/dom-helpers/class/hasClass.js","../node_modules/dom-helpers/class/removeClass.js","../node_modules/react-transition-group/ReplaceTransition.js","../node_modules/react-transition-group/utils/ChildMapping.js","../node_modules/object-keys/implementation.js","../node_modules/is-arguments/index.js","../node_modules/object-is/index.js","../node_modules/is-regex/index.js","../node_modules/has/src/index.js","../node_modules/function-bind/implementation.js","../node_modules/regexp.prototype.flags/index.js","../node_modules/es-abstract/helpers/callBind.js","../node_modules/es-abstract/GetIntrinsic.js","../node_modules/has-symbols/index.js","../node_modules/has-symbols/shams.js","../node_modules/regexp.prototype.flags/shim.js","../node_modules/is-date-object/index.js","../node_modules/@hypnosphi/create-react-context/lib/implementation.js","../node_modules/gud/index.js","../node_modules/date-fns/esm/subMinutes/index.js","../node_modules/date-fns/esm/subHours/index.js","../node_modules/date-fns/esm/subDays/index.js","../node_modules/date-fns/esm/subWeeks/index.js","../node_modules/date-fns/esm/subMonths/index.js","../node_modules/date-fns/esm/subQuarters/index.js","../node_modules/date-fns/esm/subYears/index.js","../node_modules/date-fns/esm/getSeconds/index.js","../node_modules/date-fns/esm/getMinutes/index.js","../node_modules/date-fns/esm/getHours/index.js","../node_modules/date-fns/esm/getDay/index.js","../node_modules/date-fns/esm/getDate/index.js","../node_modules/date-fns/esm/getMonth/index.js","../node_modules/date-fns/esm/getQuarter/index.js","../node_modules/date-fns/esm/getYear/index.js","../node_modules/date-fns/esm/getTime/index.js","../node_modules/date-fns/esm/setSeconds/index.js","../node_modules/date-fns/esm/setMinutes/index.js","../node_modules/date-fns/esm/setHours/index.js","../node_modules/date-fns/esm/setQuarter/index.js","../node_modules/date-fns/esm/setYear/index.js","../node_modules/date-fns/esm/min/index.js","../node_modules/date-fns/esm/max/index.js","../node_modules/date-fns/esm/differenceInCalendarDays/index.js","../node_modules/date-fns/esm/differenceInCalendarMonths/index.js","../node_modules/date-fns/esm/differenceInCalendarWeeks/index.js","../node_modules/date-fns/esm/differenceInCalendarYears/index.js","../node_modules/date-fns/esm/startOfMonth/index.js","../node_modules/date-fns/esm/startOfYear/index.js","../node_modules/date-fns/esm/endOfDay/index.js","../node_modules/date-fns/esm/endOfWeek/index.js","../node_modules/date-fns/esm/endOfMonth/index.js","../node_modules/date-fns/esm/endOfYear/index.js","../node_modules/date-fns/esm/isEqual/index.js","../node_modules/date-fns/esm/isSameDay/index.js","../node_modules/date-fns/esm/isSameMonth/index.js","../node_modules/date-fns/esm/isSameYear/index.js","../node_modules/date-fns/esm/isSameQuarter/index.js","../node_modules/date-fns/esm/isAfter/index.js","../node_modules/date-fns/esm/isBefore/index.js","../node_modules/date-fns/esm/isWithinInterval/index.js","../node_modules/date-fns/esm/parseISO/index.js","../node_modules/react-onclickoutside/dist/react-onclickoutside.es.js","../node_modules/date-fns/esm/set/index.js","../node_modules/jws/lib/sign-stream.js","../node_modules/util/support/isBufferBrowser.js","../node_modules/util/node_modules/inherits/inherits_browser.js","../node_modules/buffer-equal-constant-time/index.js","../node_modules/hash-base/node_modules/safe-buffer/index.js","../node_modules/readable-stream/lib/internal/streams/buffer_list.js","../node_modules/readable-stream/lib/internal/streams/async_iterator.js","../node_modules/readable-stream/lib/internal/streams/from-browser.js","../node_modules/readable-stream/lib/_stream_passthrough.js","../node_modules/readable-stream/lib/internal/streams/pipeline.js","../node_modules/sha.js/sha.js","../node_modules/sha.js/sha1.js","../node_modules/sha.js/sha224.js","../node_modules/sha.js/sha384.js","../node_modules/create-hmac/legacy.js","../node_modules/browserify-sign/algos.js","../node_modules/pbkdf2/lib/async.js","../node_modules/browserify-cipher/browser.js","../node_modules/browserify-des/index.js","../node_modules/des.js/lib/des.js","../node_modules/des.js/lib/des/cbc.js","../node_modules/des.js/lib/des/ede.js","../node_modules/browserify-aes/encrypter.js","../node_modules/browserify-aes/modes/ecb.js","../node_modules/browserify-aes/modes/cbc.js","../node_modules/browserify-aes/modes/cfb.js","../node_modules/browserify-aes/modes/cfb8.js","../node_modules/browserify-aes/modes/cfb1.js","../node_modules/browserify-aes/modes/ofb.js","../node_modules/browserify-aes/ghash.js","../node_modules/browserify-aes/decrypter.js","../node_modules/browserify-des/modes.js","../node_modules/diffie-hellman/browser.js","../node_modules/miller-rabin/node_modules/bn.js/lib/bn.js","../node_modules/diffie-hellman/lib/dh.js","../node_modules/browserify-sign/browser/index.js","../node_modules/browserify-sign/browser/sign.js","../node_modules/elliptic/lib/elliptic/curve/short.js","../node_modules/elliptic/lib/elliptic/curve/mont.js","../node_modules/elliptic/lib/elliptic/curve/edwards.js","../node_modules/hash.js/lib/hash/sha.js","../node_modules/hash.js/lib/hash/sha/1.js","../node_modules/hash.js/lib/hash/sha/224.js","../node_modules/hash.js/lib/hash/sha/384.js","../node_modules/hash.js/lib/hash/ripemd.js","../node_modules/hash.js/lib/hash/hmac.js","../node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js","../node_modules/elliptic/lib/elliptic/ec/index.js","../node_modules/hmac-drbg/lib/hmac-drbg.js","../node_modules/elliptic/lib/elliptic/ec/key.js","../node_modules/elliptic/lib/elliptic/ec/signature.js","../node_modules/elliptic/lib/elliptic/eddsa/index.js","../node_modules/elliptic/lib/elliptic/eddsa/key.js","../node_modules/elliptic/lib/elliptic/eddsa/signature.js","../node_modules/parse-asn1/asn1.js","../node_modules/asn1.js/lib/asn1/api.js","../node_modules/asn1.js/lib/asn1/encoders/pem.js","../node_modules/asn1.js/lib/asn1/decoders/pem.js","../node_modules/asn1.js/lib/asn1/base/index.js","../node_modules/asn1.js/lib/asn1/constants/index.js","../node_modules/parse-asn1/certificate.js","../node_modules/parse-asn1/fixProc.js","../node_modules/browserify-sign/browser/verify.js","../node_modules/create-ecdh/browser.js","../node_modules/create-ecdh/node_modules/bn.js/lib/bn.js","../node_modules/public-encrypt/browser.js","../node_modules/public-encrypt/publicEncrypt.js","../node_modules/public-encrypt/privateDecrypt.js","../node_modules/randomfill/browser.js","../node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js","../node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js","../node_modules/jws/lib/verify-stream.js","../node_modules/jsonwebtoken/verify.js","../node_modules/ms/index.js","../node_modules/jsonwebtoken/lib/asymmetricKeyDetailsSupported.js","../node_modules/jsonwebtoken/node_modules/semver/functions/valid.js","../node_modules/jsonwebtoken/node_modules/semver/functions/clean.js","../node_modules/jsonwebtoken/node_modules/semver/functions/inc.js","../node_modules/jsonwebtoken/node_modules/semver/functions/diff.js","../node_modules/jsonwebtoken/node_modules/semver/functions/major.js","../node_modules/jsonwebtoken/node_modules/semver/functions/minor.js","../node_modules/jsonwebtoken/node_modules/semver/functions/patch.js","../node_modules/jsonwebtoken/node_modules/semver/functions/prerelease.js","../node_modules/jsonwebtoken/node_modules/semver/functions/rcompare.js","../node_modules/jsonwebtoken/node_modules/semver/functions/compare-loose.js","../node_modules/jsonwebtoken/node_modules/semver/functions/sort.js","../node_modules/jsonwebtoken/node_modules/semver/functions/rsort.js","../node_modules/jsonwebtoken/node_modules/semver/functions/coerce.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/toConsumableArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/lru-cache/index.js","../node_modules/yallist/yallist.js","../node_modules/yallist/iterator.js","../node_modules/jsonwebtoken/node_modules/semver/ranges/to-comparators.js","../node_modules/jsonwebtoken/node_modules/semver/ranges/max-satisfying.js","../node_modules/jsonwebtoken/node_modules/semver/ranges/min-satisfying.js","../node_modules/jsonwebtoken/node_modules/semver/ranges/min-version.js","../node_modules/jsonwebtoken/node_modules/semver/ranges/valid.js","../node_modules/jsonwebtoken/node_modules/semver/ranges/gtr.js","../node_modules/jsonwebtoken/node_modules/semver/ranges/ltr.js","../node_modules/jsonwebtoken/node_modules/semver/ranges/intersects.js","../node_modules/jsonwebtoken/node_modules/semver/ranges/simplify.js","../node_modules/jsonwebtoken/node_modules/semver/ranges/subset.js","../node_modules/jsonwebtoken/lib/rsaPssKeyDetailsSupported.js","../node_modules/jsonwebtoken/sign.js","../node_modules/lodash.includes/index.js","../node_modules/lodash.isboolean/index.js","../node_modules/lodash.isinteger/index.js","../node_modules/lodash.isnumber/index.js","../node_modules/lodash.isplainobject/index.js","../node_modules/lodash.isstring/index.js","../node_modules/lodash.once/index.js","../node_modules/path-browserify/index.js","../node_modules/os-browserify/browser.js","../node_modules/react-datepicker/node_modules/react-popper/lib/esm/Manager.js","../node_modules/react-datepicker/node_modules/react-popper/lib/esm/utils.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/utils/userAgent.js","../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/popper.js","../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/react-datepicker/node_modules/react-popper/lib/esm/usePopper.js","../node_modules/react-datepicker/node_modules/react-popper/lib/esm/Popper.js","../node_modules/react-datepicker/node_modules/react-popper/lib/esm/Reference.js","../node_modules/date-fns/esm/_lib/assign/index.js","../node_modules/date-fns/esm/parse/_lib/Setter.js","../node_modules/date-fns/esm/parse/_lib/Parser.js","../node_modules/date-fns/esm/parse/_lib/parsers/EraParser.js","../node_modules/date-fns/esm/parse/_lib/constants.js","../node_modules/date-fns/esm/parse/_lib/utils.js","../node_modules/date-fns/esm/parse/_lib/parsers/YearParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/LocalWeekYearParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/ISOWeekYearParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/ExtendedYearParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/QuarterParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/StandAloneQuarterParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/MonthParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/StandAloneMonthParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/LocalWeekParser.js","../node_modules/date-fns/esm/_lib/setUTCWeek/index.js","../node_modules/date-fns/esm/parse/_lib/parsers/ISOWeekParser.js","../node_modules/date-fns/esm/_lib/setUTCISOWeek/index.js","../node_modules/date-fns/esm/parse/_lib/parsers/DateParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/DayOfYearParser.js","../node_modules/date-fns/esm/_lib/setUTCDay/index.js","../node_modules/date-fns/esm/parse/_lib/parsers/DayParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/LocalDayParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/StandAloneLocalDayParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/ISODayParser.js","../node_modules/date-fns/esm/_lib/setUTCISODay/index.js","../node_modules/date-fns/esm/parse/_lib/parsers/AMPMParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/AMPMMidnightParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/DayPeriodParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/Hour1to12Parser.js","../node_modules/date-fns/esm/parse/_lib/parsers/Hour0to23Parser.js","../node_modules/date-fns/esm/parse/_lib/parsers/Hour0To11Parser.js","../node_modules/date-fns/esm/parse/_lib/parsers/Hour1To24Parser.js","../node_modules/date-fns/esm/parse/_lib/parsers/MinuteParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/SecondParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/FractionOfSecondParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/ISOTimezoneWithZParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/ISOTimezoneParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/TimestampSecondsParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/TimestampMillisecondsParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/index.js","../node_modules/date-fns/esm/parse/index.js","../node_modules/date-fns/esm/_lib/addLeadingZeros/index.js","../node_modules/date-fns/esm/_lib/format/lightFormatters/index.js","../node_modules/date-fns/esm/_lib/format/formatters/index.js","../node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js","../node_modules/date-fns/esm/format/index.js","../node_modules/date-fns/esm/startOfISOWeek/index.js","../node_modules/date-fns/esm/getISOWeekYear/index.js","../node_modules/date-fns/esm/startOfISOWeekYear/index.js","../node_modules/date-fns/esm/getISOWeek/index.js","../node_modules/react-popper/lib/esm/Popper.js","../node_modules/reactstrap/es/Card.js","../node_modules/reactstrap/es/CardHeader.js","../node_modules/reactstrap/es/CardBody.js","../node_modules/reactstrap/es/Table.js","../node_modules/reactstrap/es/Input.js","../node_modules/reactstrap/es/ModalHeader.js","../node_modules/reactstrap/es/ModalBody.js","../node_modules/reactstrap/es/ModalFooter.js","../node_modules/reactstrap/es/Pagination.js","../node_modules/reactstrap/es/PaginationItem.js","../node_modules/reactstrap/es/PaginationLink.js","../node_modules/reactstrap/es/Row.js","../node_modules/reactstrap/es/Col.js","../node_modules/reactstrap/es/ListGroup.js","../node_modules/reactstrap/es/ListGroupItem.js","../node_modules/reactstrap/es/Navbar.js","../node_modules/reactstrap/es/Container.js","../node_modules/reactstrap/es/NavbarBrand.js","../node_modules/reactstrap/es/NavbarToggler.js","../node_modules/reactstrap/es/NavItem.js","../node_modules/reactstrap/es/NavLink.js","../node_modules/reactstrap/es/DropdownMenu.js","../node_modules/reactstrap/es/DropdownItem.js","../node_modules/reactstrap/es/UncontrolledCollapse.js","../node_modules/reactstrap/es/FormGroup.js","../node_modules/reactstrap/es/Label.js","../node_modules/tslib/tslib.es6.js","../../../../src/internal/util/isFunction.ts","../../../src/internal/config.ts","../../../../src/internal/util/hostReportError.ts","../../../src/internal/Observer.ts","../../../../src/internal/util/UnsubscriptionError.ts","../../../src/internal/Subscription.ts","../../../../src/internal/util/isObject.ts","../../../../src/internal/symbol/rxSubscriber.ts","../../../src/internal/Subscriber.ts","../../../../src/internal/util/pipe.ts","../../../src/internal/Observable.ts","../../../../src/internal/util/toSubscriber.ts","../../../../src/internal/util/canReportError.ts","../../../../src/internal/util/ObjectUnsubscribedError.ts","../../../src/internal/SubjectSubscription.ts","../../../src/internal/Subject.ts","../../../src/internal/BehaviorSubject.ts","../node_modules/reactstrap/es/PopperContent.js","../node_modules/reactstrap/es/TooltipPopoverWrapper.js","../node_modules/reactstrap/es/Tooltip.js","../node_modules/reactstrap/es/UncontrolledTooltip.js","../node_modules/reactstrap/es/Portal.js","../node_modules/reactstrap/es/Modal.js","../node_modules/reactstrap/es/Dropdown.js","../node_modules/reactstrap/es/UncontrolledDropdown.js","../node_modules/react-popper/lib/esm/Reference.js","../node_modules/reactstrap/es/DropdownToggle.js"],"names":["DefaultContext","color","undefined","size","className","style","attr","IconContext","React","createContext","__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","GenIcon","data","props","createElement","IconBase","Tree2Element","tree","map","node","tag","key","child","elem","conf","title","svgProps","computedSize","stroke","fill","strokeWidth","height","width","xmlns","children","Consumer","module","exports","require","noop","uid","id","isNullOrUndef","value","isArray","Array","type","toString","slice","isObject","isNumberFinite","Number","isFinite","finiteOrDefault","defaultValue","valueOrDefault","toPercentage","dimension","endsWith","parseFloat","toDimension","callback","fn","args","thisArg","each","loopable","reverse","len","keys","_elementsEqual","a0","a1","ilen","v0","v1","datasetIndex","index","clone$1","source","target","create","klen","k","isValidKey","_merger","options","tval","sval","merge","sources","merger","mergeIf","_mergerIf","keyResolvers","v","x","o","y","resolveObjectKey","obj","parts","split","tmp","part","push","_splitKey","_getKeyResolver","_capitalize","str","charAt","toUpperCase","defined","isFunction","setsEqual","a","b","item","has","_isClickEvent","PI","Math","TAU","PITAU","INFINITY","POSITIVE_INFINITY","RAD_PER_DEG","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","log10","sign","niceNum","range","roundedRange","round","almostEquals","niceRange","pow","floor","fraction","_factorize","result","sqrt","sort","pop","isNumber","isNaN","epsilon","abs","almostWhole","rounded","_setMinAndMaxByKey","array","property","min","max","toRadians","degrees","toDegrees","radians","_decimalPlaces","getAngleFromPoint","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","angle","atan2","distance","distanceBetweenPoints","pt1","pt2","_angleDiff","_normalizeAngle","_angleBetween","start","end","sameAngleIsFullCircle","angleToStart","angleToEnd","startToAngle","endToAngle","_limitValue","_int16Range","_isBetween","_lookup","table","cmp","mid","hi","lo","_lookupByKey","last","_rlookupByKey","_filterBetween","values","arrayEvents","listenArrayEvents","listener","_chartjs","listeners","defineProperty","configurable","enumerable","forEach","method","base","res","object","unlistenArrayEvents","stub","splice","_arrayUnique","items","set","Set","add","from","requestAnimFrame","window","requestAnimationFrame","throttled","updateFn","updateArgs","ticking","rest","debounce","delay","timeout","clearTimeout","setTimeout","_toLeftRightCenter","align","_alignStartEnd","_textX","left","right","rtl","_getStartAndCountOfVisiblePoints","meta","points","animationsDisabled","pointCount","count","_sorted","iScale","_parsed","axis","getUserBounds","minDefined","maxDefined","getPixelForValue","_scaleRangesChanged","xScale","yScale","_scaleRanges","newRanges","xmin","xmax","ymin","ymax","changed","atEdge","elasticIn","sin","elasticOut","effects","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","cos","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","m","d","easeInOutBounce","lim","l","h","p2b","n2b","b2n","n2p","map$1","0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","c","f","hex","h1","h2","eq","hexString","r","g","isShort","alpha","HUE_RE","hsl2rgbn","hsv2rgbn","hwb2rgbn","w","rgb","rgb2hsl","hueValue","calln","hsl2rgb","hue","hueParse","exec","p1","p2","hwb2rgb","hsv2rgb","names","Z","Y","X","W","V","U","T","S","R","Q","P","O","N","M","L","K","G","H","I","J","names$1","OiceXe","antiquewEte","aqua","aquamarRe","azuY","beige","bisque","black","blanKedOmond","Xe","XeviTet","bPwn","burlywood","caMtXe","KartYuse","KocTate","cSO","cSnflowerXe","cSnsilk","crimson","cyan","xXe","xcyan","xgTMnPd","xWay","xgYF","xgYy","xkhaki","xmagFta","xTivegYF","xSange","xScEd","xYd","xsOmon","xsHgYF","xUXe","xUWay","xUgYy","xQe","xviTet","dAppRk","dApskyXe","dimWay","dimgYy","dodgerXe","fiYbrick","flSOwEte","foYstWAn","fuKsia","gaRsbSo","ghostwEte","gTd","gTMnPd","Way","gYF","gYFLw","gYy","honeyMw","hotpRk","RdianYd","Rdigo","ivSy","khaki","lavFMr","lavFMrXsh","lawngYF","NmoncEffon","ZXe","ZcSO","Zcyan","ZgTMnPdLw","ZWay","ZgYF","ZgYy","ZpRk","ZsOmon","ZsHgYF","ZskyXe","ZUWay","ZUgYy","ZstAlXe","ZLw","lime","limegYF","lRF","magFta","maPon","VaquamarRe","VXe","VScEd","VpurpN","VsHgYF","VUXe","VsprRggYF","VQe","VviTetYd","midnightXe","mRtcYam","mistyPse","moccasR","navajowEte","navy","Tdlace","Tive","TivedBb","Sange","SangeYd","ScEd","pOegTMnPd","pOegYF","pOeQe","pOeviTetYd","papayawEp","pHKpuff","peru","pRk","plum","powMrXe","purpN","YbeccapurpN","Yd","Psybrown","PyOXe","saddNbPwn","sOmon","sandybPwn","sHgYF","sHshell","siFna","silver","skyXe","UXe","UWay","UgYy","snow","sprRggYF","stAlXe","tan","teO","tEstN","tomato","Qe","viTet","JHt","wEte","wEtesmoke","Lw","LwgYF","nameParse","j","ok","nk","unpacked","tkeys","replace","parseInt","unpack","transparent","toLowerCase","RGB_RE","to","modHSL","ratio","clone","proto","fromObject","input","functionParse","rgbParse","Color","ret","hexParse","_rgb","_valid","hslString","weight","w2","c1","c2","w1","rgb1","rgb2","interpolate","val","deg","rotate","index_esm","isPatternOrGradient","getHoverColor","saturate","darken","overrides","descriptors","getScope$1","root","scope","defaults","_descriptors","animation","backgroundColor","borderColor","datasets","devicePixelRatio","context","chart","platform","getDevicePixelRatio","elements","events","font","family","lineHeight","hover","hoverBackgroundColor","ctx","hoverBorderColor","hoverColor","indexAxis","interaction","mode","intersect","includeInvisible","maintainAspectRatio","onHover","onClick","parsing","plugins","responsive","scale","scales","showLine","drawActiveElementsOnTop","describe","name","targetScope","targetName","scopeObject","targetScopeObject","privateName","defineProperties","writable","get","local","_scriptable","startsWith","_indexable","_fallback","_measureText","gc","longest","string","textWidth","measureText","_longestText","arrayOfThings","cache","garbageCollect","save","jlen","thing","nestedThing","restore","gcLen","_alignPixel","pixel","currentDevicePixelRatio","halfWidth","clearCanvas","canvas","getContext","resetTransform","clearRect","drawPoint","drawPointLegend","xOffset","yOffset","cornerRadius","pointStyle","rotation","radius","rad","translate","drawImage","beginPath","ellipse","arc","closePath","moveTo","lineTo","SQRT1_2","rect","borderWidth","_isPointInArea","point","area","margin","top","bottom","clipArea","clip","unclipArea","_steppedLineTo","previous","flip","midpoint","_bezierCurveTo","bezierCurveTo","cp1x","cp2x","cp1y","cp2y","renderText","text","line","opts","lines","strokeColor","setRenderOpts","strokeStyle","lineWidth","strokeText","maxWidth","fillText","decorateText","translation","fillStyle","textAlign","textBaseline","strikethrough","underline","metrics","actualBoundingBoxLeft","actualBoundingBoxRight","actualBoundingBoxAscent","actualBoundingBoxDescent","yDecoration","decorationWidth","addRoundedRectPath","topLeft","bottomLeft","bottomRight","topRight","LINE_HEIGHT","RegExp","FONT_STYLE","toLineHeight","matches","match","_readValueToProps","objProps","read","prop","toTRBL","toTRBLCorners","toPadding","toFont","fallback","console","warn","toFontString","resolve","inputs","info","cacheable","_addGrace","minmax","grace","beginAtZero","change","keepZero","parentContext","_createResolver","scopes","prefixes","rootScopes","getTarget","_resolve","Symbol","toStringTag","Proxy","deleteProperty","_keys","_cached","_resolveWithPrefixes","getOwnPropertyDescriptor","Reflect","_scopes","getPrototypeOf","getKeysFromAllScopes","includes","ownKeys","storage","_storage","_attachContext","proxy","subProxy","descriptorDefaults","_cacheable","_proxy","_context","_subProxy","_stack","setContext","override","receiver","isScriptable","Error","join","delete","needsSubResolver","createSubResolver","_resolveScriptable","isIndexable","arr","filter","resolver","_resolveArray","_resolveWithContext","allKeys","scriptable","indexable","_allKeys","readKey","prefix","constructor","resolveFallback","getScope","parent","addScopes","parentScopes","parentFallback","_rootScopes","allScopes","addScopesFromKey","_getTarget","subGetTarget","resolveKeysFromAllScopes","_parseObjectDataRadialScale","_parsing","parsed","parse","EPSILON","getPoint","skip","getValueAxis","splineCurve","firstPoint","middlePoint","afterPoint","current","next","d01","d12","s01","s12","fa","fb","monotoneAdjust","deltaK","mK","alphaK","betaK","tauK","squaredMagnitude","pointCurrent","pointsLen","pointAfter","monotoneCompute","delta","pointBefore","valueAxis","iPixel","vPixel","capControlPoint","pt","_updateBezierControlPoints","loop","controlPoints","spanGaps","cubicInterpolationMode","slopeDelta","splineCurveMonotone","prev","tension","capBezierPoints","inArea","inAreaPrev","inAreaNext","_isDomSupported","document","_getParentNode","domNode","parentNode","host","parseMaxStyle","styleValue","parentProperty","valueInPixels","getComputedStyle","element","positions","getPositionedStyle","styles","suffix","pos","getRelativePosition","evt","borderBox","boxSizing","paddings","borders","touches","offsetX","offsetY","box","shadowRoot","useOffsetPos","getBoundingClientRect","clientX","clientY","getCanvasPosition","round1","getMaximumSize","bbWidth","bbHeight","aspectRatio","margins","maxHeight","containerSize","container","containerStyle","containerBorder","containerPadding","clientWidth","clientHeight","getContainerSize","retinaScale","forceRatio","forceStyle","pixelRatio","deviceHeight","deviceWidth","setTransform","supportsEventListenerOptions","passiveSupported","addEventListener","removeEventListener","readUsedSize","el","getPropertyValue","getStyle","_pointInLine","_steppedInterpolation","_bezierInterpolation","cp1","cp2","intlCache","Map","formatNumber","num","locale","cacheKey","JSON","stringify","formatter","Intl","NumberFormat","getNumberFormat","format","getRtlAdapter","rectX","setWidth","xPlus","leftForLtr","itemWidth","getRightToLeftAdapter","_itemWidth","overrideTextDirection","direction","original","getPropertyPriority","setProperty","prevTextDirection","restoreTextDirection","propertyFn","between","compare","normalize","normalizeSegment","_boundSegment","segment","bounds","prevValue","startBound","endBound","getSegment","inside","subStart","shouldStart","shouldStop","_boundSegments","segments","sub","_computeSegments","segmentOptions","_loop","findStartAndEnd","splitByStyles","cur","stop","solidSegments","_fullLoop","chartContext","_chart","baseStyle","readStyle","_datasetIndex","prevStyle","addStyle","st","dir","styleChanged","p0","p0DataIndex","p1DataIndex","doSplitByStyles","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","globalCssModule","setScrollbarWidth","padding","body","paddingRight","getOriginalBodyPadding","conditionallyUpdateScrollbar","scrollbarWidth","scrollDiv","position","overflow","appendChild","offsetWidth","removeChild","getScrollbarWidth","fixedContent","querySelectorAll","bodyPadding","innerWidth","mapToCssModules","cssModule","omit","omitKeys","pick","pickKeys","warned","warnOnce","message","error","Element","DOMElement","propName","componentName","targetPropType","PropTypes","oneOfType","func","shape","any","tagPropType","$$typeof","symbol","render","arrayOf","TransitionTimeouts","Fade","Collapse","Modal","Carousel","TransitionPropTypeKeys","TransitionStatuses","ENTERING","ENTERED","EXITING","EXITED","keyCodes","esc","space","enter","tab","up","down","home","PopperPlacements","canUseDOM","getTag","findDOMElements","isReactRefObj","selection","isArrayOrNodeList","els","allElements","defaultToggleEvents","addMultipleEventListeners","_els","handler","_events","useCapture","event","focusableElements","enumerableOnly","symbols","sym","_objectSpread2","getOwnPropertyDescriptors","requiredArgs","required","TypeError","_typeof","iterator","toDate","argument","argStr","Date","getTime","stack","NaN","_toConsumableArray","arrayLikeToArray","iter","unsupportedIterableToArray","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","_extends","bind","toInteger","dirtyNumber","number","ceil","hasOwn","classNames","classes","arg","argType","inner","default","_isNativeReflectConstruct","construct","sham","_possibleConstructorReturn","self","assertThisInitialized","_createSuper","Derived","Super","NewTarget","_setPrototypeOf","setPrototypeOf","__proto__","_inherits","subClass","superClass","_objectWithoutPropertiesLoose","excluded","sourceKeys","_assertThisInitialized","ReferenceError","_inheritsLoose","BrowserRouter","history","createHistory","Component","resolveToLocation","currentLocation","normalizeToLocation","createLocation","forwardRefShim","forwardRef","LinkAnchor","innerRef","navigate","ex","isModifiedEvent","forwardedRef","Link","component","RouterContext","location","href","isDuplicateNavigation","createPath","ariaCurrent","activeClassName","activeStyle","classNameProp","exact","isActiveProp","isActive","locationProp","sensitive","strict","styleProp","toLocation","path","escapedPath","matchPath","classnames","joinClassnames","_slicedToArray","_arr","_n","_d","_e","_s","_i","done","err","ctor","superCtor","super_","TempCtor","createNamedContext","historyContext","Router","computeRootMatch","url","params","isExact","pathname","componentDidMount","listen","_pendingLocation","componentWillUnmount","state","staticContext","HistoryContext","Lifecycle","onMount","componentDidUpdate","onUpdate","prevProps","onUnmount","cacheCount","generatePath","generator","pathToRegexp","compilePath","pretty","Redirect","computedMatch","prevLocation","locationsAreEqual","concat","matched","pathCache","regexp","memo","Route","isEmptyChildren","addLeadingSlash","stripBasename","basename","createURL","staticHandler","methodName","invariant","Switch","withRouter","displayName","wrappedComponentRef","remainingProps","ref","hoistStatics","useContext","useHistory","buffer","Buffer","copyProps","src","dst","SafeBuffer","encodingOrOffset","alloc","allocUnsafe","allocUnsafeSlow","encoding","buf","SlowBuffer","asyncGeneratorStep","gen","reject","_next","_throw","Promise","then","_asyncToGenerator","_createForOfIteratorHelper","it","normalCompletion","didErr","step","_e2","_defineProperty","desc","animator","_request","_charts","_running","_lastDate","anims","date","callbacks","numSteps","duration","initial","currentStep","_update","_refresh","now","remaining","running","draw","_active","_total","tick","_notify","charts","complete","progress","cb","_getAnims","reduce","acc","_duration","cancel","interpolators","boolean","factor","c0","valid","mix","Animation","cfg","currentValue","_fn","_easing","easing","_start","_target","_prop","_from","_to","_promises","elapsed","remain","promises","rej","resolved","animationOptions","colors","properties","numbers","active","resize","show","animations","visible","hide","Animations","config","_properties","configure","animatedProps","getOwnPropertyNames","option","newOptions","$shared","$animations","resolveTargetOptions","_createAnimations","anim","wait","all","awaitAll","update","_animateOptions","scaleClip","allowedOverflow","getSortedDatasetIndices","filterVisible","metasets","_getSortedDatasetMetas","applyStack","dsIndex","otherValue","singleMode","isStacked","stacked","getOrCreateStack","stacks","stackKey","indexValue","subStack","getLastIndexInStack","vScale","positive","getMatchingVisibleMetas","updateStacks","controller","_cachedMeta","_stacks","iAxis","vAxis","indexScale","valueScale","getStackKey","_top","_bottom","getFirstScaleId","shift","clearStacks","isDirectUpdateMode","cloneIfNotShared","cached","shared","DatasetController","_ctx","_cachedDataOpts","getMeta","_type","_data","_objectData","_sharedOptions","_drawStart","_drawCount","enableOptionSharing","supportsDecimation","$context","_syncList","initialize","linkScales","_stacked","addElements","dataset","getDataset","chooseId","xid","xAxisID","yid","yAxisID","rid","rAxisID","iid","iAxisID","vid","vAxisID","getScaleForId","rScale","getDatasetMeta","scaleID","adata","convertObjectDataToArray","isExtensible","_dataCheck","datasetElementType","resetNewElements","stackChanged","oldStacked","_resyncElements","scopeKeys","datasetScopeKeys","getOptionScopes","createResolver","sorted","parseArrayData","parseObjectData","parsePrimitiveData","labels","getLabels","singleScale","xAxisKey","yAxisKey","parsedValue","canStack","otherScale","_getOtherScale","hidden","createStack","NEGATIVE_INFINITY","otherMin","otherMax","_skip","updateRangeFromParsed","getParsed","label","getLabelForValue","_clip","disabled","toClip","defaultClip","getMaxOverflow","chartArea","resolveDatasetElementOptions","resolveDataElementOptions","dataIndex","raw","createDataContext","createDatasetContext","_resolveElementOptions","dataElementType","elementType","sharing","datasetElementScopeKeys","resolveNamedOptions","freeze","transition","datasetAnimationScopeKeys","sharedOptions","_animationsDisabled","firstOpts","previouslySharedOptions","getSharedOptions","includeOptions","updateSharedOptions","_resolveAnimations","_setStyle","arg1","arg2","numMeta","numData","_insertElements","_removeElements","move","updateElements","removed","_dataChanges","_sync","newCount","computeMinSampleSize","curr","_cache","$bar","visibleMetas","getAllParsedValues","getAllScaleValues","_length","updateMinAndPrev","ticks","getPixelForTick","parseValue","entry","startValue","endValue","barStart","barEnd","_custom","parseFloatBar","parseArrayOrPrimitive","isFloatBar","custom","setBorderSkipped","edge","borderSkipped","horizontal","borderProps","enableBorderRadius","parseEdge","orig","v2","startEnd","setInflateAmount","inflateAmount","BarController","iAxisKey","vAxisKey","bars","reset","getBasePixel","isHorizontal","ruler","_getRuler","_getSharedOptions","vpixels","head","_calculateBarValuePixels","ipixels","_calculateBarIndexPixels","center","updateElement","grouped","skipNull","_getStacks","pixels","barThickness","_startPixel","_endPixel","stackCount","_getStackCount","categoryPercentage","barPercentage","baseValue","minBarLength","actualBase","floating","getDataVisibility","barSign","startPixel","getPixelForDecimal","endPixel","halfGrid","getLineWidthForValue","maxBarThickness","Infinity","percent","chunk","computeFlexCategoryTraits","thickness","computeFitCategoryTraits","stackIndex","_getStackIndex","rects","_index_","offset","grid","_value_","BubbleController","tooltip","DoughnutController","innerRadius","outerRadius","getter","circumference","isDatasetVisible","_getRotation","_getCircumference","arcs","spacing","getMaxBorderWidth","getMaxOffset","maxSize","cutout","chartWeight","_getRingWeight","_getRotationExtents","ratioX","ratioY","startAngle","endAngle","startX","startY","endX","endY","calcMax","calcMin","maxX","maxY","minX","minY","getRatioAndOffset","maxRadius","radiusLength","_getVisibleDatasetWeightTotal","total","calculateTotal","_getRingWeightOffset","animateRotate","calculateCircumference","animationOpts","centerX","centerY","animateScale","_circumference","metaData","borderAlign","hoverBorderWidth","hoverOffset","ringWeightOffset","legend","generateLabels","legendItem","toggleDataVisibility","tooltipItem","dataLabel","formattedValue","LineController","_dataset","_decimated","animated","maxGapLength","directUpdate","prevParsed","nullData","border","lastPoint","updateControlPoints","PolarAreaController","_updateRadius","minSize","cutoutPercentage","getVisibleDatasetCount","xCenter","yCenter","datasetStartAngle","getIndexAngle","defaultAngle","countVisibleElements","_computeAngle","getDistanceFromCenterForValue","angleLines","display","circular","pointLabels","PieController","RadarController","pointPosition","getPointPositionForValue","useFinalPosition","getProps","final","defaultRoutes","formatters","numeric","tickValue","notation","maxTick","calculateDelta","logDelta","numDecimal","minimumFractionDigits","maximumFractionDigits","logarithmic","Ticks","autoSkip","tickOpts","ticksLimit","maxTicksLimit","tickLength","_tickSize","maxScale","maxChart","_maxLength","determineMaxTicks","majorIndices","major","enabled","getMajorIndices","numMajorIndices","first","newTicks","skipMajors","evenMajorSpacing","diff","getEvenSpacing","factors","calculateSpacing","avgMajorSpacing","majorStart","majorEnd","drawBorder","drawOnChartArea","drawTicks","tickWidth","tickColor","minRotation","maxRotation","mirror","textStrokeWidth","textStrokeColor","autoSkipPadding","labelOffset","minor","crossAlign","showLabelBackdrop","backdropColor","backdropPadding","route","offsetFromEdge","sample","numItems","increment","getPixelForGridLine","offsetGridLines","validIndex","lineValue","getTickMarkLength","getTitleHeight","titleAlign","reverseAlign","Scale","_margins","paddingTop","paddingBottom","paddingLeft","labelRotation","_range","_gridLineItems","_labelItems","_labelSizes","_longestTextCache","_reversePixels","_userMax","_userMin","_suggestedMax","_suggestedMin","_ticksLength","_borderValue","_dataLimitsCached","suggestedMin","suggestedMax","metas","getMinMax","xLabels","yLabels","beforeUpdate","sampleSize","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","beforeBuildTicks","buildTicks","afterBuildTicks","samplingEnabled","_convertTicksToLabels","beforeCalculateLabelRotation","calculateLabelRotation","afterCalculateLabelRotation","afterAutoSkip","beforeFit","fit","afterFit","afterUpdate","reversePixels","_alignToPixels","alignToPixels","notifyPlugins","_callHooks","beforeTickToLabelConversion","afterTickToLabelConversion","maxLabelDiagonal","numTicks","_isVisible","labelSizes","_getLabelSizes","maxLabelWidth","widest","maxLabelHeight","highest","asin","titleOpts","gridOpts","titleHeight","tickPadding","angleRadians","labelHeight","labelWidth","_calculatePadding","_handleMargins","isRotated","labelsBelowTicks","offsetLeft","offsetRight","fullSize","generateTickLabels","_computeLabelSizes","tickFont","fontString","nestedLabel","caches","widths","heights","widestLabelSize","highestLabelSize","_resolveTickFontOptions","valueAt","idx","decimal","getBaseValue","createTickContext","optionTicks","rot","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","x1","y1","x2","y2","ticksLength","tl","borderOpts","axisWidth","axisHalfWidth","alignBorderValue","positionAxisID","limit","optsAtIndex","lineColor","tickBorderDash","tickBorderDashOffset","lineCount","textOffset","tickAndPadding","hTickAndPadding","_getXAxisLabelAlignment","_getYAxisLabelAlignment","halfCount","tickTextAlign","backdrop","labelPadding","fillRect","findIndex","_computeGridLineItems","drawLine","setLineDash","lineDashOffset","lastLineWidth","_computeLabelArea","_computeLabelItems","titleX","titleY","titleArgs","drawBackground","drawGrid","drawTitle","drawLabels","tz","z","gz","getSortedVisibleDatasetMetas","axisID","fontSize","TypedRegistry","isPrototypeOf","parentScope","isIChartComponent","register","itemDefaults","routes","propertyParts","sourceName","sourceScope","routeDefaults","registerDefaults","registry","controllers","_typedRegistries","_each","_get","typedRegistry","reg","_getRegistryForType","isForType","_exec","itemReg","camelMethod","ScatterController","getElement","abstract","DateAdapter","chartOptions","timestamp","amount","unit","weekday","members","adapters","_date","binarySearch","metaset","lookupMethod","getRange","evaluateInteractionItems","getIntersectItems","isPointInArea","inRange","getNearestCartesianItems","distanceMetric","useX","useY","deltaX","deltaY","getDistanceMetricForAxis","minDistance","getCenterPoint","getNearestItems","getNearestRadialItems","getAxisItems","rangeMethod","intersectsItem","Interaction","modes","nearest","STATIC_POSITIONS","filterByPosition","filterDynamicPositionByAxis","sortByWeight","setLayoutDims","layouts","layout","wrap","stackWeight","placed","buildStacks","vBoxMaxWidth","hBoxMaxHeight","availableWidth","availableHeight","getCombinedMax","maxPadding","updateMaxPadding","boxPadding","updateDims","getPadding","newWidth","outerWidth","newHeight","outerHeight","widthChanged","heightChanged","same","other","getMargins","marginForPositions","fitBoxes","boxes","refit","refitBoxes","setBoxDims","placeBoxes","userPadding","autoPadding","_layers","layoutItem","minPadding","layoutBoxes","wrapBoxes","centerHorizontal","centerVertical","leftAndTop","rightAndBottom","vertical","buildLayoutBoxes","verticalBoxes","horizontalBoxes","beforeLayout","visibleVerticalBoxCount","updatePos","handleMaxPadding","BasePlatform","BasicPlatform","EVENT_TYPES","touchstart","touchmove","touchend","pointerenter","pointerdown","pointermove","pointerup","pointerleave","pointerout","isNullOrEmpty","eventListenerOptions","passive","removeListener","nodeListContains","nodeList","contains","createAttachObserver","observer","MutationObserver","entries","trigger","addedNodes","removedNodes","observe","childList","subtree","createDetachObserver","drpListeningCharts","oldDevicePixelRatio","onWindowResize","dpr","createResizeObserver","ResizeObserver","contentRect","listenDevicePixelRatioChanges","releaseObserver","disconnect","unlistenDevicePixelRatioChanges","createProxyAndListen","native","fromNativeEvent","addListener","DomPlatform","renderHeight","getAttribute","renderWidth","displayWidth","displayHeight","initCanvas","removeAttribute","setAttribute","proxies","$proxies","attach","detach","isConnected","PluginService","_init","hook","_createDescriptors","plugin","cancelable","_oldCache","_notifyStateChanges","localIds","getPlugin","allPlugins","getOpts","pluginOpts","createDescriptors","previousDescriptors","some","pluginScopeKeys","getIndexAxis","datasetDefaults","determineAxis","scaleOptions","initOptions","chartDefaults","configScales","chartIndexAxis","firstIDs","scaleConf","defaultId","getDefaultScaleIDFromAxis","defaultScaleOptions","defaultID","getAxisFromDefaultScaleID","mergeScaleConfig","initData","keyCache","keysCached","cachedKeys","generate","addIfFound","Config","_config","initConfig","_scopeCache","_resolverCache","clearCache","clear","datasetType","additionalOptionScopes","mainScope","resetCache","keyLists","_cachedScopes","getResolver","subPrefixes","needContext","subResolver","resolverCache","hasFunction","KNOWN_POSITIONS","positionIsHorizontal","compare2Level","l1","l2","onAnimationsComplete","onComplete","onAnimationProgress","onProgress","getCanvas","getElementById","instances","getChart","moveNumericKeys","intKey","Chart","userConfig","initialCanvas","existingChart","chartOptionScopes","OffscreenCanvas","_detectPlatform","updateConfig","acquireContext","_options","_aspectRatio","_metasets","_lastEvent","_listeners","_responsiveListeners","_sortedMetasets","_plugins","_hiddenIndices","attached","_doResize","resizeDelay","_initialize","bindEvents","_resizeBeforeDraw","_resize","newSize","newRatio","onResize","scalesOptions","axisOptions","scaleOpts","updated","isRadial","dposition","dtype","scaleType","getScale","init","hasUpdated","_destroyDatasetMeta","newControllers","_removeUnreferencedMetasets","order","updateIndex","ControllerClass","getController","_updateMetasets","_resetElements","animsDisabled","_updateScales","_checkEventBindings","_updateHiddenIndices","invalidate","buildOrUpdateControllers","buildOrUpdateElements","_minPadding","_updateLayout","_updateDatasets","_eventHandler","_updateHoverStyles","ensureScalesHaveIDs","buildOrUpdateScales","existingEvents","newEvents","unbindEvents","changes","_getUniformDataChanges","datasetCount","makeSet","changeSet","noArea","_idx","_updateDataset","layers","_drawDatasets","_drawDataset","useClip","setDatasetVisibility","_updateVisibility","_destroy","remove","_stop","releaseContext","toDataURL","bindUserEvents","bindResponsiveEvents","_add","detached","_remove","isAttached","activeElements","lastActive","notify","replay","hoverOptions","deactivated","activated","updateHoverStyle","inChartArea","eventFilter","_handleEvent","_getActiveElements","isClick","lastEvent","determineLastEvent","getElementsAtEventForMode","invalidatePlugins","clipArc","pixelMargin","angleMargin","parseBorderRadius$1","angleDelta","borderRadius","halfThickness","innerLimit","computeOuterLimit","outerArcLimit","outerStart","outerEnd","innerStart","innerEnd","rThetaToXY","theta","pathArc","innerR","spacingOffset","avNogSpacingRadius","angleOffset","outerStartAdjustedRadius","outerEndAdjustedRadius","outerStartAdjustedAngle","outerEndAdjustedAngle","innerStartAdjustedRadius","innerEndAdjustedRadius","innerStartAdjustedAngle","innerEndAdjustedAngle","pCenter","p4","p8","outerStartX","outerStartY","outerEndX","outerEndY","lineJoin","fullCircles","drawFullCircleBorders","version","unregister","ArcElement","chartX","chartY","rAdjust","betweenAngles","withinRadius","halfAngle","halfRadius","radiusOffset","drawArc","setStyle","lineCap","pathVars","paramsStart","paramsEnd","segmentStart","segmentEnd","outside","pathSegment","lineMethod","stepped","getLineMethod","fastPathSegment","prevX","lastY","avgX","countX","pointIndex","drawX","truncX","_getSegmentMethod","usePath2D","Path2D","_path","strokePathWithCache","segmentMethod","strokePathDirect","LineElement","_points","_segments","_pointsUpdated","_interpolate","_getInterpolationMethod","interpolated","inRange$1","hitRadius","PointElement","mouseX","mouseY","hoverRadius","getBarBounds","bar","half","skipOrLimit","boundingRects","maxW","maxH","parseBorderWidth","maxR","enableBorder","parseBorderRadius","outer","skipX","skipY","addNormalRectPath","inflateRect","refRect","BarElement","addRectPath","getBoxSize","labelOpts","boxHeight","boxWidth","usePointStyle","pointStyleWidth","itemHeight","Legend","_added","legendHitBoxes","_hoveredItem","doughnutMode","legendItems","columnSizes","lineWidths","buildLabels","labelFont","_computeTitleHeight","_fitRows","_fitCols","hitboxes","totalHeight","row","heightLimit","totalWidth","currentColWidth","currentColHeight","col","rtlHelper","hitbox","_draw","cursor","defaultColor","fontColor","halfFontSize","textDirection","lineDash","drawOptions","SQRT2","yBoxTop","xBoxLeft","drawLegendBox","titleFont","titlePadding","topPaddingPlusHalfFontSize","hitBox","lh","onLeave","isListened","hoveredItem","_getLegendItemAt","sameItem","plugin_legend","_element","_args","adjustHitBoxes","afterEvent","handleEvent","ci","Title","_padding","textSize","fontOpts","_drawArgs","plugin_title","titleBlock","createTitle","positioners","WeakMap","average","hasValue","tooltipPosition","eventPosition","nearestElement","tp","pushOrConcat","toPush","splitNewlines","String","createTooltipItem","getLabelAndValue","getTooltipSize","footer","bodyFont","footerFont","titleLineCount","footerLineCount","bodyLineItemCount","combinedBodyLength","bodyItem","before","after","beforeBody","afterBody","titleSpacing","titleMarginBottom","displayColors","bodySpacing","footerMarginTop","footerSpacing","widthPadding","maxLineWidth","determineXAlign","yAlign","chartWidth","xAlign","caret","caretSize","caretPadding","doesNotFitWithAlign","determineAlignment","determineYAlign","getBackgroundPoint","alignment","paddingAndSize","alignX","alignY","getAlignedX","getBeforeAfterBodyLines","overrideCallbacks","Tooltip","opacity","_eventPosition","_size","_cachedAnimations","_tooltipItems","dataPoints","caretX","caretY","labelColors","labelPointStyles","labelTextColors","tooltipItems","beforeTitle","afterTitle","bodyItems","scoped","beforeLabel","afterLabel","beforeFooter","afterFooter","itemSort","labelColor","labelPointStyle","labelTextColor","_createItems","getTitle","getBeforeBody","getBody","getAfterBody","getFooter","positionAndSize","backgroundPoint","external","tooltipPoint","caretPosition","getCaretPosition","x3","y3","ptX","ptY","titleColor","colorX","rtlColorX","yOffSet","colorY","multiKeyBackground","outerX","innerX","strokeRect","textColor","bodyAlign","bodyLineHeight","xLinePadding","fillLineOfText","bodyAlignForCalculation","bodyColor","_drawColorBox","footerAlign","footerColor","tooltipSize","drawCaret","quadraticCurveTo","animX","animY","_updateAnimationTarget","hasTooltipContent","globalAlpha","drawBody","drawFooter","positionChanged","_positionChanged","_ignoreReplayEvents","plugin_tooltip","afterInit","afterDraw","_willRender","labelCount","findOrAddLabel","addedLabels","unshift","addIfString","lastIndexOf","CategoryScale","_startValue","_valueRange","_addedLabels","added","getDecimalForPixel","relativeLabelSize","minSpacing","LinearScaleBase","_endValue","setMin","setMax","minSign","maxSign","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","maxTicks","stepSize","computeTickLimit","getTickLimit","generationOptions","dataRange","niceMin","niceMax","numSpaces","precision","maxDigits","includeBounds","maxSpaces","rmin","rmax","countDefined","decimalPlaces","generateTicks$1","_maxDigits","LinearScale","handleTickRangeOptions","isMajor","tickVal","LogarithmicScale","_zero","exp","endExp","endSignificand","significand","lastTick","generateTicks","getTickBackdropHeight","determineLimits","fitWithPointLabels","limits","valueCount","_pointLabels","pointLabelOpts","additionalAngle","centerPointLabels","getPointLabelContext","getPointPosition","drawingArea","plFont","updateLimits","setCenterPoint","_pointLabelItems","extra","outerDistance","pointLabelPosition","yForAngle","getTextAlignForAngle","leftForTextAlign","buildPointLabelItems","hLimits","vLimits","pathRadiusLine","RadialLinearScale","leftMovement","rightMovement","topMovement","bottomMovement","angleMultiplier","scalingFactor","scaledDistance","pointLabel","createPointLabelContext","distanceFromCenter","backdropLeft","backdropTop","backdropWidth","backdropHeight","drawPointLabels","gridLineOpts","drawRadiusLine","animate","INTERVALS","millisecond","common","steps","second","minute","hour","day","week","month","quarter","year","UNITS","sorter","adapter","_adapter","_parseOpts","parser","isoWeekday","startOf","determineUnitForAutoTicks","minUnit","capacity","interval","addTick","time","timestamps","ticksFromTimestamps","majorUnit","setMajorTicks","TimeScale","_unit","_majorUnit","_offsets","_normalized","displayFormats","formats","normalized","_applyBounds","_getLabelBounds","endOf","getLabelTimestamps","timeOpts","_generate","_getLabelCapacity","determineUnitForFormatting","determineMajorUnit","initOffsets","offsetAfterAutoskip","getDecimalForValue","hasWeekday","getDataTimestamps","tooltipFormat","datetime","minorFormat","majorFormat","_tickFormatFunction","offsets","ticksOpts","tickLabelWidth","cosRotation","sinRotation","tickFontSize","exampleTime","exampleLabel","_getLabelSize","prevSource","nextSource","prevTarget","nextTarget","span","TimeSeriesScale","_table","_minPos","_tableRange","_getTimestampsForTable","buildLookupTable","BsFillCalendarDateFill","BsFillCheckCircleFill","BsFillFileBarGraphFill","BsCardChecklist","BsChatLeftTextFill","BsCircle","BsFileEarmarkExcelFill","BsFilePdfFill","privateProps","awaitingPromise","promise","innerParams","domCache","swalClasses","iconTypes","capitalizeFirstLetter","previousWarnOnceMessages","warnAboutDeprecation","deprecatedParam","useInstead","callIfFunction","hasToPromiseFn","toPromise","asPromise","isPromise","getContainer","querySelector","elementBySelector","selectorString","elementByClass","getPopup","popup","getIcon","icon","getHtmlContainer","getImage","image","getProgressSteps","getValidationMessage","getConfirmButton","actions","confirm","getCancelButton","getDenyButton","deny","getLoader","loader","getActions","getTimerProgressBar","getCloseButton","close","getFocusableElements","focusableElementsWithTabindex","tabindexA","tabindexB","otherFocusableElements","uniqueArray","isVisible$1","isModal","hasClass","shown","isToast","toast","states","previousBodyPadding","setInnerHtml","html","textContent","DOMParser","parseFromString","childNodes","HTMLVideoElement","HTMLAudioElement","cloneNode","classList","applyCustomClass","showClass","removeCustomClasses","customClass","addClass","getInput$1","inputClass","checkbox","radio","focusInput","focus","toggleClass","condition","Boolean","removeClass","getDirectChildByClass","HTMLElement","applyNumericalStyle","removeProperty","selector","toggle","offsetHeight","getClientRects","isScrollable","scrollHeight","hasCssAnimation","animDuration","transDuration","animateTimerProgressBar","timer","timerProgressBar","globalState","restoreActiveElement","returnFocus","scrollX","scrollY","restoreFocusTimeout","previousActiveElement","scrollTo","isNodeEnv","sweetHTML","file","select","textarea","resetValidationMessage$1","currentInstance","resetValidationMessage","oldContainerExisted","oldContainer","documentElement","resetOldContainer","targetElement","setupAccessibility","setupRTL","rangeOutput","oninput","onchange","addInputChangeListeners","parseHtmlToContainer","param","handleObject","jquery","handleJqueryElem","animationEndEvent","testEl","transEndEventNames","WebkitAnimation","renderActions","showConfirmButton","showDenyButton","showCancelButton","confirmButton","denyButton","cancelButton","renderButton","buttonsStyling","styled","confirmButtonColor","denyButtonColor","cancelButtonColor","handleButtonsStyling","reverseButtons","insertBefore","renderButtons","loaderHtml","button","buttonType","renderContainer","background","handleBackdropParam","handlePositionParam","grow","growClass","handleGrowParam","inputClasses","showInput","renderInputType","inputContainer","getInputContainer","inputAutoFocus","setAttributes","inputAttributes","attributes","attrName","removeAttributes","setCustomClass","setInputPlaceholder","placeholder","inputPlaceholder","setInputLabel","prependTo","inputLabel","labelClass","innerText","insertAdjacentElement","inputType","checkAndSetInputValue","inputValue","email","password","tel","rangeInput","selected","checkboxContainer","checked","initialPopupWidth","textareaWidth","marginLeft","marginRight","attributeFilter","renderContent","htmlContainer","rerender","renderInput","applyStyles","iconType","setColor","adjustSuccessIconBackgroundColor","popupBackgroundColor","successIconParts","setContent","newContent","oldContent","innerHTML","iconHtml","iconContent","question","warning","trim","iconColor","content","addClasses$1","modal","createStepElement","stepEl","createLineElement","lineEl","progressStepsDistance","renderPopup","progressStepsContainer","progressSteps","currentProgressStep","renderProgressSteps","renderIcon","imageUrl","imageAlt","imageWidth","imageHeight","renderImage","titleText","renderTitle","closeButton","closeButtonHtml","showCloseButton","closeButtonAriaLabel","renderCloseButton","renderFooter","didRender","hideLoading","showRelatedButton","loading","buttonToReplace","getElementsByClassName","clickConfirm","click","DismissReason","removeKeydownHandler","keydownTarget","keydownHandlerAdded","keydownHandler","capture","keydownListenerCapture","setFocus","arrowKeysNextButton","arrowKeysPreviousButton","dismissWith","isComposing","keyCode","stopKeydownPropagation","stopPropagation","handleEnter","handleTab","handleArrows","handleEsc","allowEnterKey","getInput","outerHTML","preventDefault","btnIndex","shiftKey","buttons","activeElement","sibling","buttonToFocus","HTMLButtonElement","allowEscapeKey","privateMethods","swalPromiseResolve","swalPromiseReject","unsetAriaHidden","hasAttribute","addBottomPaddingForTallPopups","ua","navigator","userAgent","iOS","webkit","innerHeight","lockBodyScroll","preventTouchMove","ontouchstart","shouldPreventTouchMove","ontouchmove","isStylus","isZoom","tagName","touchType","fixScrollbar","measureScrollbar","removePopupAndResetState","didClose","triggerDidCloseAndDispose","test","iosfix","scrollTop","undoIOSfix","resolveValue","prepareResolveValue","triggerClosePopup","isAwaitingPromise","isDismissed","handleAwaitingPromise","hideClass","handlePopupAnimation","isConfirmed","isDenied","animationIsSupported","willClose","animatePopup","swalCloseEventFinishedCallback","setButtonsDisabled","setInputDisabled","radios","defaultParams","template","heightAuto","allowOutsideClick","preConfirm","preDeny","confirmButtonText","confirmButtonAriaLabel","denyButtonText","denyButtonAriaLabel","cancelButtonText","cancelButtonAriaLabel","focusConfirm","focusDeny","focusCancel","showLoaderOnConfirm","showLoaderOnDeny","inputOptions","inputAutoTrim","inputValidator","returnInputValueOnDeny","validationMessage","willOpen","didOpen","didDestroy","scrollbarPadding","updatableParams","deprecatedParams","toastIncompatibleParams","isValidParameter","paramName","isUpdatableParameter","isDeprecatedParameter","checkIfParamIsValid","checkIfToastParamIsValid","checkIfParamIsDeprecated","showWarningsForParams","filterValidParams","validUpdatableParams","disposeSwal","disposeWeakMaps","unsetWeakMaps","instanceMethods","disableLoading","rejectPromise","closePopup","closeModal","closeToast","enableButtons","disableButtons","enableInput","disableInput","showValidationMessage","inputerror","updatedParams","showLoading","Swal","replaceButton","getCheckboxValue","getRadioValue","getFileValue","files","handleInputOptions","processInputOptions","populateInputOptions","formatInputOptions","handleInputValue","catch","renderOption","optionLabel","optionValue","isSelected","inputOption","optgroup","radioValue","radioLabel","radioInput","radioLabelElement","valueFormatted","handleConfirmOrDenyWithInput","getInputValue","handleInputValidator","checkValidity","preDenyValue","rejectWith","succeedWith","preConfirmValue","handleToastClick","onclick","isAnyButtonShown","ignoreOutsideClick","handleModalMousedown","onmousedown","onmouseup","handleContainerMousedown","handleModalClick","isElement","isJqueryElement","stopTimer","timerProgressBarWidth","timerProgressBarPercent","stopTimerProgressBar","resumeTimer","bodyClickListenerAdded","clickHandlers","bodyClickListener","fire","staticMethods","argsToParams","getIconContent","getInputLabel","isLoading","isVisible","clickDeny","clickCancel","_len","_key","mixin","mixinParams","priorityMixinParams","enableLoading","getTimerLeft","toggleTimer","increaseTimer","increase","isTimerRunning","isRunning","bindClickHandler","Timer","started","swalStringParams","getSwalParams","templateContent","showWarningsForAttributes","getSwalFunctionParams","Function","getSwalButtons","getSwalImage","getSwalIcon","getSwalInput","optionName","getSwalStringParams","paramNames","showWarningsForElements","allowedElements","allowedAttributes","attribute","openPopup","initialBodyOverflow","overflowY","addClasses","setScrollingVisibility","fixScrollContainer","swalOpenAnimationFinished","MSStream","maxTouchPoints","iOSfix","defaultInputValidators","setParameters","setDefaultInputValidators","validateCustomTargetElement","SweetAlert","outerParams","_main","userParams","prepareParams","populateDomCache","swalPromise","onFulfilled","onFinally","finally","dismiss","handleConfirmButtonClick","handleDenyButtonClick","handleCancelButtonClick","handlePopupClick","addKeydownHandler","handleInputOptionsAndValue","setupTimer","initFocus","templateParams","getTemplateParams","focusButton","blurActiveElement","blur","language","initiationDate","localStorage","getItem","pointerEvents","ukrainianAnthem","play","setItem","factory","Sweetalert2","swal","sweetAlert","getElementsByTagName","styleSheet","cssText","mounts","reactParams","otherParams","mountKeys","mount","domElement","ReactDOM","extractReactParams","superDidOpen","superDidDestroy","unrender","ParentSwal","_getPrototypeOf","base64","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","Uint8Array","ArrayBuffer","byteOffset","byteLength","fromArrayLike","fromArrayBuffer","isEncoding","actual","write","fromString","isBuffer","copy","assertSize","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","arrayIndexOf","indexSize","arrLength","valLength","readUInt16BE","foundIndex","found","hexWrite","strLen","substr","utf8Write","blitBuffer","asciiWrite","byteArray","charCodeAt","asciiToBytes","latin1Write","base64Write","ucs2Write","units","utf16leToBytes","fromByteArray","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","fromCharCode","decodeCodePointsArray","INSPECT_MAX_BYTES","global","foo","subarray","typedArraySupport","poolSize","_augment","species","_isBuffer","list","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","toJSON","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","code","INVALID_BASE64_RE","leadSurrogate","toByteArray","stringtrim","base64clean","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","run","marker","runClearTimeout","Item","nextTick","browser","env","argv","versions","on","once","off","removeAllListeners","emit","prependListener","prependOnceListener","binding","cwd","chdir","umask","Attribute","Text","CData","EntityReference","EntityDeclaration","ProcessingInstruction","Comment","Document","DocType","DocumentFragment","NotationDeclaration","Declaration","Raw","AttributeDeclaration","ElementDeclaration","Dummy","isAbsolute","spliceOne","resolvePathname","hasTrailingSlash","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","valueOf","valueEqual","every","aValue","bValue","stripLeadingSlash","hasBasename","stripTrailingSlash","search","hash","hashIndex","searchIndex","parsePath","decodeURI","URIError","createTransitionManager","prompt","setPrompt","nextPrompt","confirmTransitionTo","action","getUserConfirmation","appendListener","notifyListeners","getConfirmation","getHistoryState","createBrowserHistory","globalHistory","canUseHistory","supportsHistory","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","getDOMLocation","historyState","_ref","_window$location","createKey","random","transitionManager","setState","nextState","handlePopState","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","fromLocation","toIndex","fromIndex","go","revertPop","initialLocation","createHref","listenerCount","checkDOMListeners","isBlocked","pushState","prevIndex","nextKeys","replaceState","goBack","goForward","block","unblock","unlisten","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","getHashPath","substring","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","allPaths","baseTag","pushHashPath","nextPaths","clamp","lowerBound","upperBound","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","nextIndex","nextEntries","canGo","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","defaultOptions","getDefaultOptions","debug","MAX_LENGTH","re","safeRe","parseOptions","compareIdentifiers","SemVer","loose","includePrerelease","LOOSE","FULL","patch","prerelease","build","compareMain","comparePre","release","identifier","identifierBase","inc","DocumentPosition","NodeType","XMLCData","XMLComment","XMLDeclaration","XMLDocType","XMLDummy","XMLElement","XMLNodeList","XMLProcessingInstruction","XMLRaw","XMLText","getValue","isEmpty","ref1","hasProp","XMLNode","parent1","baseURI","childNodeList","nodes","ref2","nodeType","debugInfo","setParent","results","childNode","lastChild","len1","ref3","ignoreDecorators","convertAttKey","separateArrayItems","dummy","keepNullNodes","convertTextKey","convertCDataKey","cdata","convertCommentKey","comment","convertRawKey","convertPIKey","instruction","newChild","refChild","isRoot","insertAfter","commentBefore","commentAfter","insTarget","insValue","instructionBefore","instructionAfter","declaration","standalone","doc","xmldec","dtd","pubID","sysID","doctype","rootObject","importDocument","clonedRoot","ele","nod","txt","dat","com","ins","dec","u","importXMLBuilder","replaceChild","oldChild","hasChildNodes","deep","isSupported","feature","hasAttributes","attribs","compareDocumentPosition","Disconnected","ImplementationSpecific","Preceding","Following","isAncestor","Contains","isDescendant","isPreceding","isSameNode","lookupPrefix","namespaceURI","isDefaultNamespace","lookupNamespaceURI","isEqualNode","getFeature","setUserData","getUserData","nodePos","thisPos","treePosition","isFollowing","foreachTreeNode","assert","msg","equal","utils","BN","minAssert","minUtils","toArray","zero2","encode","getNAF","bits","naf","bitLength","ws","mod","andln","isOdd","isubn","iushrn","getJSF","k1","k2","jsf","d1","d2","cmpn","u1","u2","m8","m14","m24","cachedProperty","computer","parseBytes","intFromLE","startOfUTCWeek","dirtyDate","_ref2","_ref3","_options$weekStartsOn","_options$locale","_options$locale$optio","_defaultOptions$local","_defaultOptions$local2","weekStartsOn","getUTCDay","setUTCDate","getUTCDate","setUTCHours","buildLocalizeFn","dirtyIndex","valuesArray","formattingValues","defaultWidth","defaultFormattingWidth","_defaultWidth","_width","argumentCallback","buildMatchFn","matchPattern","matchPatterns","defaultMatchWidth","matchResult","matchedString","parsePatterns","defaultParseWidth","pattern","findKey","valueCallback","predicate","Range","Comparator","parseRange","isNullSet","isAny","comps","memoKey","FLAG_INCLUDE_PRERELEASE","FLAG_LOOSE","hr","HYPHENRANGELOOSE","HYPHENRANGE","hyphenReplace","COMPARATORTRIM","comparatorTrimReplace","TILDETRIM","tildeTrimReplace","CARETTRIM","caretTrimReplace","rangeList","comp","parseComparator","replaceGTE0","COMPARATORLOOSE","rangeMap","comparators","thisComparators","isSatisfiable","rangeComparators","thisComparator","rangeComparator","intersects","er","testSet","remainingComparators","testComparator","otherComparator","replaceCarets","replaceTildes","replaceXRanges","replaceStars","isX","replaceTilde","TILDELOOSE","TILDE","_","pr","replaceCaret","CARETLOOSE","CARET","replaceXRange","XRANGELOOSE","XRANGE","gtlt","xM","xm","xp","anyX","STAR","GTE0PRE","GTE0","incPr","$0","fM","fm","fp","fpr","tM","tm","tpr","tb","semver","ANY","allowed","startOfUTCISOWeek","_excluded","_objectSpread","propTypes","Transition","baseClass","baseClassActive","defaultProps","appear","exit","in","Tag","otherProps","transitionProps","childProps","status","inherits","isSurrogatePair","htonl","word","zero8","enc","toHex32","endian","join32","split32","rotr32","rotl32","sum32","sum32_3","sum32_4","sum32_5","sum64","ah","al","bh","sum64_hi","bl","sum64_lo","sum64_4_hi","ch","cl","dh","dl","carry","sum64_4_lo","sum64_5_hi","eh","sum64_5_lo","rotr64_hi","rotr64_lo","shr64_hi","shr64_lo","getTimezoneOffsetInMilliseconds","utcDate","UTC","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","setUTCFullYear","protectedDayOfYearTokens","protectedWeekYearTokens","isProtectedDayOfYearToken","token","isProtectedWeekYearToken","throwProtectedError","isPlainObject","isBN","negative","words","red","wordSize","parseHex","parseBase","_initNumber","_initArray","_parseHex","_parseBase","strip","limbLen","limbPow","imuln","_iaddn","dest","_expand","_normSign","zeros","groupSizes","groupBases","smallMulTo","ncarry","rword","maxJ","groupSize","groupBase","isZero","modn","idivn","toNumber","toBuffer","toArrayLike","ArrayType","reqLength","q","clz32","_countBits","_zeroBits","zeroBits","toTwos","inotn","iaddn","fromTwos","testn","notn","ineg","isNeg","neg","iuor","ior","or","uor","iuand","iand","and","uand","iuxor","ixor","xor","uxor","bytesNeeded","bitsLeft","setn","bit","wbit","iadd","isub","comb10MulTo","al0","ah0","al1","ah1","a2","al2","ah2","a3","al3","ah3","a4","al4","ah4","a5","al5","ah5","a6","al6","ah6","a7","al7","ah7","a8","al8","ah8","a9","al9","ah9","b0","bl0","bh0","b1","bl1","bh1","b2","bl2","bh2","b3","bl3","bh3","b4","bl4","bh4","b5","bl5","bh5","b6","bl6","bh6","b7","bl7","bh7","b8","bl8","bh8","b9","bl9","bh9","w0","imul","w3","w4","w5","w6","w7","w8","w9","w10","w11","w12","w13","w14","w15","w16","w17","w18","jumboMulTo","FFTM","mulp","mulTo","hncarry","bigMulTo","makeRBT","revBin","rb","permute","rbt","rws","iws","rtws","itws","transform","rtwdf","itwdf","rtwdf_","itwdf_","ie","ro","io","rx","guessLen13b","odd","conjugate","normalize13b","convert13b","ph","rwst","iwst","nrws","nrwst","niwst","rmws","mulf","muln","sqr","isqr","toBitArray","iushln","carryMask","newCarry","ishln","hint","extended","mask","maskedWords","ishrn","shln","ushln","shrn","ushrn","imaskn","maskn","addn","subn","iabs","_ishlnsubmul","_wordDiv","bhi","qj","div","divmod","divn","umod","divRound","dm","r2","egcd","isEven","yp","im","jm","gcd","_invmp","invm","bincn","ucmp","gtn","gt","gten","gte","ltn","lt","lten","lte","eqn","Red","toRed","convertTo","_forceRed","fromRed","convertFrom","forceRed","redAdd","redIAdd","redSub","redISub","redShl","shl","redMul","_verify2","redIMul","redSqr","_verify1","redISqr","redSqrt","redInvm","redNeg","redPow","primes","k256","p224","p192","p25519","MPrime","_tmp","K256","P224","P192","P25519","prime","_prime","Mont","imod","rinv","minv","ireduce","rlen","imulK","_strip","output","outLen","mod3","one","nOne","lpow","inv","wnd","currentLen","mont","unwrapArray","safeInvoke","setRef","millisecondsInMinute","millisecondsInHour","millisecondsInSecond","Transform","StringDecoder","CipherBase","hashMode","_finalOrDigest","_final","__final","_decoder","_encoding","inputEnc","outputEnc","outData","_toString","setAutoPadding","getAuthTag","setAuthTag","setAAD","_transform","_flush","fin","DropdownContext","_CSSTransition","_interopRequireDefault","_ReplaceTransition","_TransitionGroup","_Transition","__esModule","TransitionGroup","ReplaceTransition","CSSTransition","buildFormatLongFn","pna","objectKeys","Duplex","util","Readable","Writable","readable","allowHalfOpen","onend","_writableState","ended","onEndNT","highWaterMark","_readableState","destroyed","webpackPolyfill","deprecate","paths","addMonths","dirtyAmount","dayOfMonth","endOfDesiredMonth","setMonth","daysInMonth","setFullYear","startOfDay","setHours","ReflectOwnKeys","ReflectApply","NumberIsNaN","EventEmitter","emitter","eventListener","errorListener","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","_getMaxListeners","_addListener","prepend","existing","newListener","onceWrapper","fired","wrapFn","_onceWrap","wrapped","unwrap","evlistener","unwrapListeners","arrayClone","setMaxListeners","getMaxListeners","doError","originalListener","rawListeners","eventNames","nb","nenc","retried","_normalizeEncoding","normalizeEncoding","utf16Text","utf16End","fillLast","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","lastNeed","lastTotal","lastChar","utf8CheckByte","byte","utf8CheckExtraBytes","utf8CheckIncomplete","crypto","msCrypto","getRandomValues","generated","codes","createErrorType","Base","NodeError","_Base","arg3","getMessage","oneOf","expected","determiner","this_len","getBuffer","Hash","blockSize","finalSize","_block","_finalSize","_blockSize","accum","assigned","remainder","digest","rem","lowBits","highBits","_hash","throwErrors","_unsupportedIterableToArray","minLen","addMilliseconds","getUTCWeekYear","_options$firstWeekCon","getUTCFullYear","firstWeekContainsDate","firstWeekOfNextYear","startOfNextYear","firstWeekOfThisYear","startOfThisYear","startOfWeek","getDay","setDate","decode","eqIdx","endIdx","tryDecode","serialize","opt","fieldContentRegExp","maxAge","domain","expires","__toString","isDate","toUTCString","httpOnly","secure","priority","sameSite","decodeURIComponent","encodeURIComponent","FaFileExcel","Stream","EE","PassThrough","pipe","ondata","pause","ondrain","resume","_isStdio","onclose","didOnEnd","destroy","onerror","cleanup","objectToString","isBoolean","isNull","isNullOrUndefined","isString","isSymbol","isUndefined","isRegExp","isError","isPrimitive","MD5","RIPEMD160","sha","alg","BlockHash","pending","pendingTotal","outSize","hmacStrength","padLength","_delta8","_delta32","_pad","_digest","Reporter","DecoderBuffer","EncoderBuffer","reporter","isEncoderBuffer","isDecoderBuffer","fail","_reporterState","MAX_SAFE_COMPONENT_LENGTH","MAX_SAFE_BUILD_LENGTH","safeRegexReplacements","createToken","isGlobal","safe","makeSafeRegex","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","COERCE","LONETILDE","LONECARET","addDays","getDaysInMonth","monthIndex","lastDayOfMonth","dirtyMonth","dateWithDesiredMonth","_arrayLikeToArray","arr2","dateLongFormatter","formatLong","timeLongFormatter","longFormatters","dateTimeFormat","datePattern","timePattern","dateTime","verify","JsonWebTokenError","NotBeforeError","TokenExpiredError","XMLCharacterData","__super__","extend","substringData","appendData","insertData","deleteData","replaceData","None","OpenTag","InsideTag","CloseTag","formatRegExp","objects","noDeprecation","throwDeprecation","traceDeprecation","trace","debugEnviron","debugs","seen","stylize","stylizeNoColor","depth","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","recurseTimes","primitive","simple","formatPrimitive","visibleKeys","arrayToHash","formatError","braces","formatProperty","formatArray","numLinesEst","reduceToSingleString","ar","pad","debuglog","NODE_DEBUG","pid","months","log","origin","kCustomPromisifiedSymbol","callbackifyOnRejected","reason","newReason","promisify","promiseResolve","promiseReject","callbackify","callbackified","maybeCb","asUInt32Array","scrubVec","cryptBlock","keySchedule","SUB_MIX","SBOX","nRounds","t0","t1","t2","t3","SUB_MIX0","SUB_MIX1","SUB_MIX2","SUB_MIX3","s0","s1","s2","s3","ksRow","RCON","INV_SBOX","INV_SUB_MIX","xi","sx","x4","x8","AES","_reset","keySize","keyWords","ksRows","invKeySchedule","ik","ksR","tt","_nRounds","_keySchedule","_invKeySchedule","encryptBlockRaw","encryptBlock","decryptBlock","m1","scrub","salt","keyBits","ivLen","keyLen","iv","used","keyStart","ivStart","BaseCurve","zero","two","pointFromJSON","gRed","_wnafT1","_wnafT2","_wnafT3","_wnafT4","_bitLength","adjustCount","redN","_maxwellTrick","BasePoint","curve","precomputed","validate","_fixedNafMul","doubles","_getDoubles","repr","nafW","jpoint","mixedAdd","toP","_wnafMul","nafPoints","_getNAFPoints","dblp","_wnafMulAdd","defW","coeffs","jacobianResult","wndWidth","comb","toJ","ja","jb","decodePoint","pointFromX","encodeCompressed","_encode","compact","getX","getY","precompute","power","beta","_getBeta","_hasDoubles","dbl","asn1","aesid","fixProc","ciphers","compat","parseKeys","passphrase","subtype","ndata","stripped","certificate","tbsCertificate","subjectPublicKeyInfo","PublicKey","algorithm","RSAPublicKey","subjectPublicKey","subjectPrivateKey","pub_key","DSAparam","decrypt","kde","kdeparams","iters","algo","cipher","cipherText","keylen","pbkdf2Sync","createDecipheriv","EncryptedPrivateKey","PrivateKey","RSAPrivateKey","privateKey","ECPrivateKey","priv_key","DSAPrivateKey","parameters","signature","captureStackTrace","RELEASE_TYPES","SEMVER_SPEC_VERSION","operator","COMPARATOR","__WEBPACK_EXTERNAL_MODULE__98__","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propFullName","secret","getShim","isRequired","ReactPropTypes","bigint","bool","instanceOf","objectOf","checkPropTypes","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","PageView","pageClassName","pageLinkClassName","page","activeLinkClassName","getEventListener","pageSelectedHandler","extraAriaContext","pageLabelBuilder","rel","ariaLabel","role","tabIndex","aria-label","aria-current","onKeyPress","BreakView","breakLabel","breakAriaLabel","breakClassName","breakLinkClassName","breakHandler","classNameIfDefined","orClassName","PaginationBoxView","initialSelected","handleClick","isPrevious","pageCount","isNext","callActiveCallback","callCallback","handlerFunction","nextSelectedPage","isBreak","returnValue","newPage","onClickReturn","isInteger","handlePageChange","getForwardJump","getBackwardJump","selectedItem","onPageChange","onPageActive","nextPageRel","prevPageRel","selectedPageRel","pageRangeDisplayed","marginPagesDisplayed","breakAriaLabels","getPageElement","leftSide","rightSide","breakView","createPageView","pagesBreaking","useBreakAriaLabel","backward","forward","handleBreakClick","pageElement","actualPageElement","initialPage","forcePage","disableInitialCallback","forwardJump","backwardJump","pageIndex","hrefBuilder","hrefAllControls","ariaLabelBuilder","handlePageSelected","getElementPageRel","getElementHref","renderOnZeroPageCount","disabledClassName","disabledLinkClassName","containerClassName","previousLabel","previousClassName","previousLinkClassName","previousAriaLabel","prevRel","nextLabel","nextClassName","nextLinkClassName","nextAriaLabel","nextRel","isPreviousDisabled","isNextDisabled","previousClasses","nextClasses","previousLinkClasses","nextLinkClasses","previousAriaDisabled","nextAriaDisabled","handlePreviousPage","aria-disabled","pagination","handleNextPage","ManagerReferenceNodeContext","ManagerReferenceNodeSetterContext","Manager","_React$Component","_this","newReferenceNode","referenceNode","forceUpdate","_proto","Provider","setReferenceNode","buildMatchPatternFn","parseResult","parsePattern","subMilliseconds","getUTCISOWeekYear","fourthOfJanuaryOfNextYear","fourthOfJanuaryOfThisYear","startOfQuarter","currentMonth","formatDistanceLocale","lessThanXSeconds","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","formatDistance","tokenValue","addSuffix","comparison","full","long","medium","short","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","formatRelative","_baseDate","localize","ordinalNumber","rem100","era","narrow","abbreviated","wide","dayPeriod","am","pm","midnight","noon","morning","afternoon","evening","night","defaultLocale","hasDocumentCookie","cookie","parseCookies","cookies","readCookie","cleanValue","cleanupCookieValue","doNotParse","Cookies","defaultSetOptions","changeListeners","HAS_DOCUMENT_COOKIE","previousCookies","_checkChanges","domCookies","newCookies","_emitChange","pollingInterval","setInterval","clearInterval","doNotUpdate","stringValue","finalOptions","cookieStore","_startPolling","_stopPolling","_objectWithoutProperties","sourceSymbolKeys","reforwardRef","setLabels","currentData","nextLabels","setDatasets","nextDatasets","datasetIdKey","addedDatasets","nextDataset","currentDataset","find","cloneData","nextData","ChartComponent","redraw","fallbackContent","updateMode","canvasRef","useRef","chartRef","renderChart","ChartJS","destroyChart","useEffect","nextOptions","setOptions","createTypedChart","registerables","Bar","startOfUTCWeekYear","firstWeek","getUTCWeek","startOfUTCISOWeekYear","fourthOfJanuary","getUTCISOWeek","arrayWithHoles","iterableToArrayLimit","nonIterableRest","explicitCharkey","normalizeTags","attrkey","charkey","explicitArray","ignoreAttrs","mergeAttrs","explicitRoot","validator","explicitChildren","childkey","charsAsChildren","includeWhiteChars","async","attrNameProcessors","attrValueProcessors","tagNameProcessors","valueProcessors","emptyTag","preserveChildrenOrder","rootName","renderOpts","headless","chunkSize","XMLAttribute","XMLNamedNodeMap","schemaTypeInfo","documentObject","attributeMap","att","attName","clonedSelf","clonedChild","attValue","keepNullAttributes","writer","filterOptions","getAttributeNode","setAttributeNode","newAttr","removeAttributeNode","oldAttr","getAttributeNS","localName","setAttributeNS","qualifiedName","removeAttributeNS","getAttributeNodeNS","setAttributeNodeNS","getElementsByTagNameNS","hasAttributeNS","setIdAttribute","isId","setIdAttributeNS","setIdAttributeNode","idAttr","tagname","getNamedItem","setNamedItem","oldNode","nodeName","removeNamedItem","getNamedItemNS","setNamedItemNS","removeNamedItemNS","xmlVersion","xmlEncoding","xmlStandalone","XMLDTDAttList","XMLDTDElement","XMLDTDEntity","XMLDTDNotation","dtdPubID","dtdSysID","pe","attList","elementName","attributeName","attributeType","defaultValueType","entity","pEntity","docType","ent","pent","not","publicId","systemId","dtdAttType","dtdAttDefault","dtdAttList","internal","nData","dtdNData","dtdEntityValue","dtdEntity","dtdElementValue","dtdElement","dtdNotation","previousSibling","nextSibling","splitText","replaceWholeText","processingInstruction","XMLWriterBase","XMLStringWriter","writeChildNode","newline","CorkedRequest","finish","corkReq","pendingcb","corkedRequestsFree","onCorkedFinish","asyncWrite","setImmediate","WritableState","internalUtil","OurUint8Array","realHasInstance","destroyImpl","nop","stream","isDuplex","objectMode","writableObjectMode","hwm","writableHwm","writableHighWaterMark","defaultHwm","finalCalled","needDrain","ending","finished","noDecode","decodeStrings","defaultEncoding","writing","corked","sync","bufferProcessing","onwrite","writecb","writelen","onwriteStateUpdate","finishMaybe","errorEmitted","onwriteError","needFinish","bufferedRequest","clearBuffer","afterWrite","lastBufferedRequest","prefinished","bufferedRequestCount","_write","writev","_writev","doWrite","onwriteDrain","holder","allBuffers","isBuf","callFinal","need","prefinish","hasInstance","_uint8ArrayToBuffer","writeAfterEnd","validChunk","newChunk","decodeChunk","writeOrBuffer","cork","uncork","setDefaultEncoding","endWritable","_undestroy","undestroy","implementation","hasSymbols","toStr","origDefineProperty","supportsDescriptors","arePropertyDescriptorsSupported","predicates","SignStream","VerifyStream","ALGORITHMS","isValid","createSign","createVerify","randomBytes","rng","pseudoRandomBytes","prng","createHash","createHmac","Hmac","algos","algoKeys","hashes","getHashes","pbkdf2","aes","Cipher","createCipher","Cipheriv","createCipheriv","Decipher","createDecipher","Decipheriv","getCiphers","listCiphers","DiffieHellmanGroup","createDiffieHellmanGroup","getDiffieHellman","createDiffieHellman","DiffieHellman","Sign","Verify","createECDH","publicEncrypt","privateEncrypt","publicDecrypt","privateDecrypt","rf","randomFill","randomFillSync","createCredentials","constants","HashBase","ARRAY16","_a","_b","_c","rotl","fnF","fnG","fnH","fnI","_blockOffset","ERR_STREAM_PREMATURE_CLOSE","eos","called","onlegacyfinish","onfinish","writableEnded","readableEnded","endEmitted","onrequest","req","setHeader","abort","isRequest","zl","zr","sl","sr","hl","fn1","fn2","fn3","fn4","fn5","br","cr","dr","tr","Algorithm","sha1","sha224","sha256","sha384","sha512","bufferOff","_updateDecrypt","_updateEncrypt","_buffer","_flushBuffer","inputOff","outputOff","_finalEncrypt","_finalDecrypt","_unpad","deciphers","modeModules","ECB","CBC","CFB","CFB8","CFB1","OFB","CTR","GCM","Rand","rand","_rand","getBytes","getByte","getr","priv","modulus","prime1","prime2","crt","blinds","blinder","publicExponent","unblinder","blind","blinded","qinv","coefficient","exponent1","m2","exponent2","_move","for","modrn","allocate","_toArrayLikeLE","_toArrayLikeBE","isNegNum","elliptic","curves","ec","eddsa","pre","PresetCurve","edwards","isInfinity","defineCurve","lambda","basis","ripemd","hmac","ripemd160","safer","Safer","kStringMaxLength","MAX_STRING_LENGTH","tags","methods","Node","_baseState","reverseArgs","choice","optional","use","useDecoder","explicit","implicit","_wrap","stateProps","cstate","_useArgs","def","newKey","_decode","wrapResult","prevObj","present","prevKey","enterKey","_peekTag","_decodeGeneric","_decodeChoice","enterObject","_decodeTag","track","_getUse","leaveObject","exitKey","leaveKey","_decodeList","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeBool","_decodeInt","_use","_createEncoderBuffer","_encodeValue","_skipDefault","_encodeChoice","_encodePrimitive","cls","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool","_isNumstr","_isPrintstr","errors","ReporterError","rethrow","pathLen","inherited","partial","tagClass","tagClassByName","tagByName","internalRe","identifiers","clean","rcompare","compareLoose","compareBuild","rsort","neq","coerce","satisfies","toComparators","maxSatisfying","minSatisfying","minVersion","validRange","gtr","ltr","simplifyRange","subset","tokens","rcompareIdentifiers","looseOption","emptyOpts","versionA","versionB","hilo","gtfn","ltefn","ltfn","ecomp","high","low","comparator","addMinutes","addHours","addWeeks","days","addQuarters","addYears","isarray","compile","tokensToFunction","tokensToRegExp","PATH_REGEXP","defaultDelimiter","delimiter","escaped","group","modifier","asterisk","repeat","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","flags","attachKeys","endsWithDelimiter","groups","regexpToRegexp","arrayToRegexp","stringToRegexp","timeoutDuration","longerTimeoutBrowsers","isBrowser","scheduled","functionToCheck","getType","getStyleComputedProperty","css","getParentNode","getScrollParent","overflowX","getReferenceNode","reference","isIE11","isIE10","isIE","getOffsetParent","noOffsetParent","offsetParent","getRoot","findCommonOffsetParent","element1","element2","commonAncestorContainer","isOffsetContainer","element1root","getScroll","side","upperSide","scrollingElement","includeScroll","subtract","scrollLeft","getBordersSize","sideA","sideB","getSize","computedStyle","getWindowSizes","getClientRect","sizes","horizScrollbar","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","runIsIE","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","isFixed","getFixedPositionOffsetParent","getBoundaries","boundaries","boundariesElement","boundariesNode","popper","isPaddingNumber","getArea","computeAutoPlacement","placement","sortedAreas","filteredAreas","computedPlacement","variation","getReferenceOffsets","commonOffsetParent","getOuterSizes","getOppositePlacement","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","check","runModifiers","modifiers","ends","positionFixed","isModifierEnabled","modifierName","getSupportedPropertyName","upperProp","toCheck","getWindow","ownerDocument","setupEventListeners","scrollElement","attachToScrollParents","scrollParents","isBody","enableEventListeners","disableEventListeners","removeEventListeners","isNumeric","setStyles","isFirefox","isModifierRequired","requesting","requested","validPlacements","placements","clockwise","counter","BEHAVIORS","parseOffset","useHeight","basePlacement","fragments","frag","divider","splitRegex","ops","mergeWithPrevious","op","toValue","index2","shiftvariation","isVertical","shiftOffsets","transformProp","popperStyles","opSide","arrowElement","sideCapitalized","altSide","arrowElementSize","popperMarginSide","popperBorderSide","sideValue","placementOpposite","flipOrder","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flippedVariationByContent","flippedVariation","getOppositeVariation","subtractLength","bound","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","bothOddWidth","getRoundedOffsets","prefixedProperty","invertTop","invertLeft","Popper","modifierOptions","eventsEnabled","Utils","PopperUtils","Defaults","_react2","_implementation2","$","ee","te","ae","ne","oe","se","le","de","ce","ue","fe","he","me","ye","ve","De","ge","we","ke","be","Se","Ce","Me","Pe","Ee","Ne","Oe","xe","Ye","Ie","Te","Le","Re","Fe","Ae","qe","Ke","We","Be","je","He","Ve","Ue","$e","ze","Ge","Je","Ze","et","rt","at","nt","ot","dt","ct","ut","ft","ht","mt","yt","vt","Dt","wt","kt","Mt","bt","St","Ct","Rt","_t","Pt","Et","Ot","Nt","xt","Yt","It","Tt","Lt","toPrimitive","At","Kt","qt","nr","Wt","awareOfUnicodeTokens","Bt","dateFormat","Qt","jt","Ht","Vt","Ut","$t","zt","Gt","Jt","Xt","Zt","rr","globalThis","__localeId__","__localeData__","ir","lr","minDate","maxDate","excludeDates","excludeDateIntervals","includeDates","includeDateIntervals","filterDate","yr","ur","fr","mr","vr","Dr","excludeTimes","includeTimes","filterTime","gr","minTime","maxTime","wr","kr","Sr","Cr","_r","Mr","Pr","Er","Nr","startPeriod","endPeriod","Or","xr","yearsList","onChange","incrementYears","decrementYears","onCancel","shiftYears","yearDropdownItemNumber","scrollableYearDropdown","dropdownRef","createRef","ariaSelected","offsetTop","renderOptions","Yr","Ir","dropdownVisible","onSelectChange","renderSelectOptions","visibility","toggleDropdown","renderReadView","renderDropdown","adjustDateOnChange","handleYearChange","onSelect","setOpen","dropdownMode","renderScrollMode","renderSelectMode","Tr","monthNames","isSelectedMonth","Lr","Rr","useShortMonthInDropdown","Fr","Ar","monthYearsList","scrollableMonthYearDropdown","qr","Kr","Wr","isDisabled","onMouseEnter","handleOnKeyDown","disabledKeyboardNavigation","isSameDay","preSelection","highlightDates","startDate","endDate","selectsStart","selectsEnd","selectsRange","selectsDisabledDaysInRange","selectingDate","isInSelectingRange","dayClassName","isExcluded","isKeyboardSelected","isRangeStart","isRangeEnd","isInRange","isSelectingRangeStart","isSelectingRangeEnd","isCurrentDay","isWeekend","isAfterMonth","isBeforeMonth","getHighLightedClass","ariaLabelPrefixWhenEnabled","ariaLabelPrefixWhenDisabled","getTabIndex","isInputFocused","inline","shouldFocusDayInline","containerRef","dayEl","preventScroll","monthShowsDuplicateDaysEnd","monthShowsDuplicateDaysStart","renderDayContents","getClassNames","onKeyDown","handleMouseEnter","getAriaLabel","handleFocusDay","Br","weekNumber","ariaLabelPrefix","Qr","onDayClick","onDayMouseEnter","onWeekSelect","shouldCloseOnSelect","formatWeekNumber","calendarStartDay","showWeekNumber","handleWeekClick","chooseDayAriaLabelPrefix","disabledDayAriaLabelPrefix","handleDayClick","handleDayMouseEnter","renderDays","jr","orderInDisplay","onMouseLeave","fixedHeight","weekAriaLabelPrefix","showWeekNumbers","isWeekInMonth","peekNextMonth","setPreSelection","MONTH_REFS","onMonthClick","handleMonthNavigation","QUARTER_REFS","onQuarterClick","handleQuarterNavigation","monthClassName","isRangeStartMonth","isRangeEndMonth","isCurrentMonth","isSelectedQuarter","isRangeStartQuarter","isRangeEndQuarter","showFullMonthYearPicker","showTwoColumnMonthYearPicker","showFourColumnMonthYearPicker","onMonthKeyDown","getMonthClassNames","onQuarterKeyDown","getQuarterClassNames","getQuarterTabIndex","isCurrentQuarter","showMonthYearPicker","showQuarterYearPicker","handleMouseLeave","renderMonths","renderQuarters","renderWeeks","Hr","timeClassName","isSelectedTime","injectTimes","intervals","openToDate","liClasses","centerLi","calcCenterPosition","monthRef","header","todayButton","showTimeSelectOnly","timeCaption","renderTimes","onTimeChange","Vr","yearItemNumber","YEAR_REFS","updateFocusOnPaginate","handleYearClick","onYearClick","handleYearNavigation","isCurrentYear","onYearKeyDown","getYearTabIndex","getYearClassNames","Ur","setMinutes","timeString","customTimeInput","cloneElement","timeInputLabel","renderTimeInput","$r","showPopperArrow","arrowProps","Gr","onClickOutside","onDropdownFocus","handleMonthChange","onMonthMouseLeave","onYearChange","isRenderAriaLiveMessage","onMonthChange","handleMonthYearChange","weekLabel","formatWeekday","weekDayClassName","formatWeekDay","useWeekdaysShort","showYearPicker","renderCustomHeader","forceShowMonthNavigation","showDisabledMonthNavigation","decreaseMonth","decreaseYear","previousMonthButtonLabel","previousYearButtonLabel","previousMonthAriaLabel","previousYearAriaLabel","showTimeSelect","increaseMonth","increaseYear","nextMonthButtonLabel","nextYearButtonLabel","nextMonthAriaLabel","nextYearAriaLabel","showYearDropdown","showMonthDropdown","showMonthYearDropdown","changeYear","changeMonth","changeMonthYear","handleTodayButtonClick","monthDate","renderCurrentMonth","onFocus","handleDropdownFocus","renderMonthDropdown","renderMonthYearDropdown","renderYearDropdown","monthContainer","customHeaderCount","prevMonthButtonDisabled","nextMonthButtonDisabled","prevYearButtonDisabled","nextYearButtonDisabled","renderYearHeader","renderDefaultHeader","showPreviousMonths","monthsShown","monthSelectedIn","renderHeader","monthAriaLabelPrefix","handleOnDayKeyDown","handleMonthMouseLeave","timeFormat","timeIntervals","withPortal","showTimeInput","getDateInView","assignMonthContainer","renderAriaLiveRegion","renderPreviousButton","renderNextButton","renderYears","renderTodayButton","renderTimeSection","renderInputTimeSection","renderChildren","Jr","portalRoot","portalHost","portalId","createPortal","Xr","Zr","tabLoopRef","getTabChildren","enableTabLoop","handleFocusStart","handleFocusEnd","ea","wrapperClassName","hidePopper","popperComponent","popperModifiers","popperPlacement","popperProps","targetComponent","popperOnKeyDown","popperContainer","Reference","ta","ra","aa","na","getPreSelection","open","startOpen","preventFocus","focused","preventFocusTimeout","cancelFocusInput","calcInitialState","lastPreSelectChange","sa","setBlur","readOnly","preventOpenOnFocus","inputFocusTimeout","onBlur","onChangeRaw","isDefaultPrevented","oa","strictParsing","hours","minutes","seconds","setSelected","allowSameDay","focusSelectedMonth","onInputClick","calendar","componentNode","inputOk","handleSelect","onInputError","onClearClick","closeOnScroll","isCalendarOpen","dateFormatCalendar","handleCalendarClickOutside","outsideClickIgnoreClass","handleTimeChange","calendarClassName","calendarContainer","excludeScrollbar","onDayKeyDown","customInput","customInputRef","handleBlur","handleChange","handleFocus","onInputKeyDown","form","autoFocus","placeholderText","autoComplete","ariaDescribedBy","ariaInvalid","ariaLabelledBy","ariaRequired","isClearable","clearButtonTitle","clearButtonClassName","ariaLabelClose","onScroll","onCalendarOpen","onCalendarClose","clearPreventFocusTimeout","renderDateInput","renderClearButton","renderCalendar","onPortalKeyDown","renderInputContainer","popperClassName","onPopperKeyDown","CalendarContainer","getDefaultLocale","registerLocale","setDefaultLocale","propIsEnumerable","toObject","test1","test2","test3","letter","shouldUseNative","superPropBase","isNativeReflectConstruct","possibleConstructorReturn","XMLDOMImplementation","hasFeature","createDocumentType","createDocument","createHTMLDocument","XMLDOMConfiguration","XMLStringifier","XMLDocument","documentURI","domConfig","writerOptions","createDocumentFragment","createTextNode","createComment","createCDATASection","createProcessingInstruction","createAttribute","createEntityReference","importNode","importedNode","createElementNS","createAttributeNS","elementId","adoptNode","normalizeDocument","renameNode","createEvent","eventInterface","createRange","createNodeIterator","whatToShow","createTreeWalker","assertLegalName","assertLegalChar","noValidation","textEscape","attEscape","regex","ampregex","noDoubleEncoding","WriterState","filteredOptions","ref4","ref5","ref6","allowEmpty","indent","dontPrettyTextNodes","dontprettytextnodes","spaceBeforeSlash","spacebeforeslash","suppressPrettyCount","user","level","indentLevel","endline","openAttribute","closeAttribute","openNode","closeNode","childNodeCount","firstChildNode","prettySuppressed","ReadableState","EElistenerCount","debugUtil","BufferList","kProxyEvents","readableObjectMode","readableHwm","readableHighWaterMark","pipes","pipesCount","flowing","reading","needReadable","emittedReadable","readableListening","resumeScheduled","awaitDrain","readingMore","decoder","_read","readableAddChunk","addToFront","skipChunkCheck","emitReadable","onEofChunk","chunkInvalid","addChunk","maybeReadMore","needMoreData","isPaused","setEncoding","howMuchToRead","computeNewHighWaterMark","emitReadable_","flow","maybeReadMore_","nReadingNextTick","resume_","fromList","hasStrings","tail","copyFromBufferString","copyFromBuffer","fromListPartial","endReadable","endReadableNT","xs","nOrig","doRead","pipeOpts","endFn","stdout","stderr","unpipe","onunpipe","unpipeInfo","hasUnpiped","cleanedUp","pipeOnDrain","increasedAwaitDrain","dests","ev","paused","_fromList","emitErrorNT","readableDestroyed","writableDestroyed","Timeout","clearFn","_id","_clearFn","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","clearImmediate","afterTransform","ts","_transformState","transforming","writechunk","rs","needTransform","writeencoding","flush","_this2","err2","prefixMatch","firstCharLowerCase","stripPrefix","parseNumbers","parseBooleans","UNMOUNTED","newObj","_interopRequireWildcard","_react","_reactDom","_reactLifecyclesCompat","_TransitionGroupContext","initialStatus","isMounting","appearStatus","unmountOnExit","mountOnEnter","nextCallback","getDerivedStateFromProps","prevState","updateStatus","nextStatus","cancelNextCallback","getTimeouts","mounting","findDOMNode","performEnter","performExit","appearing","timeouts","enterTimeout","onEnter","safeSetState","onEntering","onTransitionEnd","onEntered","_this3","onExit","onExiting","onExited","setNextCallback","_this4","doesNotHaveTimeoutOrListener","addEndListener","_this$props","Children","only","contextType","_default","polyfill","componentWillMount","componentWillReceiveProps","nextProps","componentWillUpdate","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","isReactComponent","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","newApiName","maybeSnapshot","snapshot","__suppressDeprecationWarning","classNamesShape","timeoutsShape","_ChildMapping","handleExited","contextValue","firstRender","mounted","prevChildMapping","getInitialChildMapping","getNextChildMapping","currentChildMapping","getChildMapping","childFactory","isArgs","origKeys","keysShim","originalKeys","callee","$Object","$TypeError","ignoreCase","multiline","dotAll","unicode","sticky","$gOPD","jws","jwt","decoded","payload","DataStream","bufferEqual","formatEcdsa","MSG_INVALID_SECRET","MSG_INVALID_VERIFIER_KEY","supportsKeyObjects","createPublicKey","checkIsPublicKey","typeError","asymmetricKeyType","export","checkIsPrivateKey","fromBase64","toBase64","base64url","errMsg","normalizeInput","createHmacSigner","checkIsSecretKey","createHmacVerifier","computedSig","createKeySigner","signer","createKeyVerifier","publicKey","verifier","createPSSKeySigner","RSA_PKCS1_PSS_PADDING","saltLength","RSA_PSS_SALTLEN_DIGEST","createPSSKeyVerifier","createECDSASigner","derToJose","createECDSAVerifer","joseToDer","createNoneSigner","createNoneVerifier","signerFactories","hs","ps","es","none","verifierFactories","_finalized","throwIfNotStringOrBuffer","pipeline","createReadableStreamAsyncIterator","getHighWaterMark","_require$codes","ERR_INVALID_ARG_TYPE","ERR_STREAM_PUSH_AFTER_EOF","ERR_METHOD_NOT_IMPLEMENTED","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","errorOrDestroy","emitClose","autoDestroy","updateReadableListening","consume","wState","asyncIterator","iterable","emitErrorAndCloseNT","emitCloseNT","rState","ERR_INVALID_OPT_VALUE","duplexKey","highWaterMarkFrom","ERR_MULTIPLE_CALLBACK","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_DESTROYED","ERR_STREAM_NULL_VALUES","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","ERR_TRANSFORM_ALREADY_TRANSFORMING","ERR_TRANSFORM_WITH_LENGTH_0","Sha256","_w","maj","sigma0","sigma1","gamma0","_f","_g","_h","T1","T2","Sha512","Ch","xl","Gamma0","Gamma0l","Gamma1","Gamma1l","getCarry","_ah","_bh","_ch","_dh","_eh","_fh","_gh","_hh","_al","_bl","_cl","_dl","_el","_fl","_gl","_hl","fh","gh","hh","fl","gl","xh","gamma0l","gamma1","gamma1l","Wi7h","Wi7l","Wi16h","Wi16l","Wil","Wih","majh","majl","sigma0h","sigma0l","sigma1h","sigma1l","Kih","Kil","chh","chl","t1l","t1h","t2l","t2h","writeInt64BE","Legacy","md5","ZEROS","blocksize","_alg","ipad","_ipad","opad","_opad","MAX_ALLOC","iterations","checkParameters","rmd160","saltLen","shaFunc","getDigest","ipad1","ipad2","DK","block1","destPos","hLen","ip","inL","inR","outL","outR","rip","pc1","r28shl","pc2table","pc2","expand","sTable","substitute","permuteTable","padSplit","DESState","DES","_desState","deriveKeys","shiftTable","kL","kR","inp","inOff","outOff","_encrypt","_decrypt","lStart","rStart","keyL","keyR","incr32","getBlock","_cipher","_prev","encrypt","chunkNum","GHASH","StreamCipher","ck","_ghash","_finID","ghash","toPad","ivBits","calcIv","_secCache","_alen","_mode","_authTag","_called","rump","xorTest","findPrime","simpleSieve","fermatTest","TWENTYFOUR","millerRabin","ONE","TWO","FIVE","TEN","THREE","ELEVEN","FOUR","_getPrimes","n2","bn","brorand","MillerRabin","_randbelow","min_bytes","_randrange","rone","n1","rn1","getDivisor","ch32","maj32","p32","ft_1","s0_256","s1_256","g0_256","g1_256","shaCommon","sha256_K","SHA256","sha512_K","SHA512","ch64_hi","yh","yl","zh","ch64_lo","maj64_hi","maj64_lo","s0_512_hi","s0_512_lo","s1_512_hi","s1_512_lo","g0_512_hi","g0_512_lo","g1_512_hi","g1_512_lo","_prepareBlock","c0_hi","c0_lo","c1_hi","c1_lo","c2_hi","c2_lo","c3_hi","c3_lo","c4_hi","c4_lo","T1_hi","T1_lo","T2_hi","T2_lo","bignum","define","decoders","encoders","der","pem","DEREncoder","DERNode","encodedTag","encodeTag","lenOctets","unused","relative","ident","objid","getUTCMonth","getUTCHours","getUTCMinutes","getUTCSeconds","numArray","_getEncoder","dataBuffer","defaultBuffer","DERDecoder","derDecodeTag","oct","tagStr","derDecodeLen","decodedTag","_skipUntilEnd","possibleEnd","numstr","printstr","subident","mon","sec","_getDecoder","i2ops","seed","paddedMsg","expiredAt","ms","iat","milliseconds","ASYMMETRIC_KEY_DETAILS_SUPPORTED","RSA_PSS_KEY_DETAILS_SUPPORTED","allowedAlgorithmsForKeys","allowedCurves","ES256","ES384","ES512","keyType","allowedAlgorithms","keyCurve","asymmetricKeyDetails","namedCurve","allowedCurve","hashAlgorithm","mgf1HashAlgorithm","anum","bnum","commonjsGlobal","createEventEmitter","handlers","newValue","changedBits","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","getUniqueId","_Component","getChildContext","oldValue","childContextTypes","_Component2","observedBits","_proto2","onlyChild","contextTypes","reactIs","REACT_STATICS","getDefaultProps","getDerivedStateFromError","mixins","KNOWN_STATICS","caller","arity","MEMO_STATICS","TYPE_STATICS","getStatics","isMemo","ForwardRef","Memo","objectPrototype","hoistNonReactStatics","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","outline","Button","btnOutlineColor","defaultAriaLabel","isArguments","is","isRegex","deepEqual","isUndefinedOrNull","aIsRegex","bIsRegex","aIsBuffer","bIsBuffer","ka","kb","objEquiv","_transitionStatusToCl","isOpen","navbar","transitionStatusToClassHash","getHeight","isAppearing","collapseClass","getTransitionClass","hasElementType","hasMap","hasSet","hasArrayBuffer","fs","os","LINE","_log","DotenvModule","envPath","dotenvPath","homedir","readFileSync","maybeQuote","formatRelativeLocalePlural","screen","deviceXDPI","logicalXDPI","updates","orient","x0","y0","dx","dy","ln","region","compute$1","anchor","r0","r1","clipped","vx","vy","aligned","ry","sy","rasterize","getScaleOrigin","drawFrame","model","bgColor","drawRoundedRect","drawTextLine","shadow","shadowBlur","stroked","filled","Label","_index","_model","_rects","_modelize","defaults$1","positioner","textShadowBlur","textShadowColor","th","tw","tx","ty","frame","geometry","textGeometry","shadowColor","drawText","MIN_INTEGER","MAX_INTEGER","rotated","cx","cy","projected","dp","toAxis","HitBox","_rotation","_rect","coordinates","vs","pr0","pr1","axes","prepare","$layout","_box","_hidable","_visible","_set","sb","dirty","collider","collide","h0","compute","lookup","EXPANDO_KEY","dispatchEvent","callback$1","$groups","_dirty","handleMoveEvents","expando","leave","_labels","_hovered","dispatchMoveEvents","beforeInit","_actives","_listened","_datasets","afterDatasetUpdate","datalabels","configs","afterDatasetsDraw","beforeEvent","handleClickEvents","actives","getActiveElements","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","refs","updater","isPureReactComponent","__self","__source","_owner","keyPrefix","escape","ca","da","ba","PureComponent","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","lazy","_ctor","_status","_result","useCallback","useImperativeHandle","useDebugValue","useLayoutEffect","useMemo","useReducer","useState","Fragment","Profiler","StrictMode","Suspense","createFactory","isValidElement","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","extractEvents","eventTypes","phasedRegistrationNames","ha","registrationName","ia","dependencies","onError","la","ma","pa","qa","va","wa","currentTarget","xa","ya","za","Aa","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","Ba","Ca","injectEventPluginOrder","injectEventPluginsByName","Da","stateNode","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","Ra","Sa","Ta","Ua","Wa","Xa","_debugOwner","_debugSource","fileName","lineNumber","return","Ya","Za","$a","ab","bb","db","eb","gb","hb","ib","lb","mb","ob","acceptsBooleans","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","ub","vb","qb","pb","wb","yb","_valueTracker","setValue","stopTracking","xb","zb","Ab","defaultChecked","_wrapperState","initialChecked","Bb","initialValue","controlled","Cb","Eb","Fb","Gb","Ib","Hb","Jb","defaultSelected","Kb","dangerouslySetInnerHTML","Lb","Mb","Nb","xlinkHref","Ob","Pb","Qb","Rb","Sb","MSApp","execUnsafeLocalFunction","firstChild","Tb","nodeValue","Ub","Vb","animationend","animationiteration","animationstart","transitionend","Wb","Xb","Yb","Zb","$b","ac","bc","cc","alternate","effectTag","fc","memoizedState","dehydrated","ic","hc","jc","kc","lc","mc","nc","oc","pc","qc","rc","sc","tc","uc","vc","zc","blockedOn","topLevelType","eventSystemFlags","nativeEvent","Ac","pointerId","Bc","Cc","Ec","Fc","unstable_runWithPriority","hydrate","containerInfo","Gc","Hc","Ic","Jc","Kc","unstable_scheduleCallback","unstable_NormalPriority","Lc","Mc","srcElement","correspondingUseElement","Nc","Oc","dispatchConfig","Pc","_targetInst","Qc","Rc","Sc","Tc","Uc","Interface","defaultPrevented","Wc","eventPool","Xc","destructor","Vc","getPooled","cancelBubble","persist","eventPhase","bubbles","timeStamp","isTrusted","Yc","animationName","elapsedTime","pseudoElement","Zc","clipboardData","$c","view","detail","ad","relatedTarget","bd","charCode","cd","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","dd","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","ed","Alt","Control","Meta","Shift","gd","getModifierState","hd","ctrlKey","altKey","metaKey","which","jd","kd","ld","md","nd","screenX","screenY","pageX","pageY","fromElement","toElement","movementX","movementY","od","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","pd","dataTransfer","qd","targetTouches","changedTouches","rd","sd","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","td","ud","vd","wd","yd","zd","Ad","Bd","Cd","Dd","bubbled","captured","eventPriority","Ed","getEventPriority","Fd","unstable_UserBlockingPriority","Gd","Hd","Jd","Kd","targetInst","ancestors","Ld","Md","Nd","Od","Pd","Qd","Dc","Rd","Sd","xc","yc","Td","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","Ud","Vd","Wd","Xd","menuitem","embed","img","keygen","link","wbr","Zd","$d","HTMLIFrameElement","contentWindow","contentEditable","__html","documentMode","beforeInput","compositionEnd","compositionStart","compositionUpdate","char","af","bf","cf","detachEvent","df","ef","attachEvent","ff","gf","hf","lf","jf","_isInputEventSupported","kf","mouseEnter","mouseLeave","pointerEnter","pointerLeave","mf","defaultView","parentWindow","of","pf","qf","sf","tf","uf","vf","wf","xf","selectionStart","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","yf","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","Af","Bf","Cf","Df","Ef","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","Gf","Hf","If","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","unstable_cancelCallback","Of","unstable_shouldYield","Pf","unstable_requestPaint","Qf","unstable_now","Rf","unstable_getCurrentPriorityLevel","Sf","unstable_ImmediatePriority","Tf","Uf","Vf","unstable_LowPriority","Wf","unstable_IdlePriority","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","childExpirationTime","vg","firstContext","expirationTime","wg","xg","responders","yg","zg","baseState","firstUpdate","lastUpdate","firstCapturedUpdate","lastCapturedUpdate","firstEffect","lastEffect","firstCapturedEffect","lastCapturedEffect","Ag","Bg","suspenseConfig","nextEffect","Cg","Dg","updateQueue","Eg","Fg","Gg","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Sg","_reactInternalFiber","Pg","Qg","Rg","Tg","shouldComponentUpdate","Ug","Vg","Wg","Xg","Yg","_stringRef","Zg","$g","ih","jh","kh","mh","nh","oh","qh","memoizedProps","revealOrder","rh","responder","sh","uh","vh","wh","Ah","Bh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","baseUpdate","Oh","Ph","Qh","lastRenderedReducer","dispatch","lastRenderedState","eagerReducer","eagerState","Rh","Sh","Th","Uh","deps","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","readContext","useResponder","useDeferredValue","useTransition","unstable_next","di","ei","fi","gi","pendingProps","ii","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","pendingContext","Hi","Ji","Ki","retryTime","yi","unstable_avoidThisFallback","zi","Ai","isBackwards","rendering","tailExpiration","tailMode","Bi","Ci","Li","Mi","Ni","Oi","WeakSet","Pi","Si","Ri","Ti","Ui","__reactInternalSnapshotBeforeUpdate","Vi","Wi","Qi","Xi","Yi","Zi","$i","_reactRootContainer","aj","wasMultiple","multiple","bj","cj","dj","ej","fj","gj","hj","ij","componentDidCatch","jj","componentStack","gk","kj","lj","mj","wj","xj","yj","zj","Aj","Bj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","timeoutMs","Kj","Lj","Mj","Nj","Oj","lastExpiredTime","Pj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Qj","Rj","Sj","Tj","Uj","Vj","Wj","finishedWork","finishedExpirationTime","lastSuspendedTime","Xj","timeoutHandle","Yj","busyMinDurationMs","busyDelayMs","Zj","bk","pingCache","dk","ek","fk","firstSuspendedTime","rangeCount","Db","focusedElem","selectionRange","jk","setStart","removeAllRanges","addRange","setEnd","Dh","dc","fd","hk","Eh","Fh","xk","Di","Ei","Fi","xd","Gi","kk","lk","mk","Va","unstable_observedBits","pk","pendingChildren","qk","rk","sk","tk","uk","vk","wc","_internalRoot","wk","zk","yk","Ak","Bk","unmount","ak","Ck","unstable_renderSubtreeIntoContainer","unmountComponentAtNode","unstable_createPortal","unstable_batchedUpdates","flushSync","Events","findFiberByHostInstance","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","Dk","Ek","MessageChannel","unstable_forceFrameRate","performance","cancelAnimationFrame","port2","port1","onmessage","postMessage","sortIndex","startTime","priorityLevel","unstable_wrapCallback","unstable_continueExecution","unstable_pauseExecution","unstable_getFirstCallbackNode","unstable_Profiling","_construct","Parent","Class","getGlobal","fetch","Headers","Request","Response","builder","processors","ValidationError","Builder","Parser","parseString","parseStringPromise","escapeCDATA","requiresCDATA","wrapCDATA","buildObject","rootObj","rootElement","allowSurrogateChars","XMLDocumentCB","XMLStreamWriter","begin","onData","onEnd","stringWriter","streamWriter","writerState","XMLDOMErrorHandler","XMLDOMStringList","getParameter","canSetParameter","setParameter","handleError","ContainedBy","onDataCallback","onEndCallback","currentNode","currentLevel","openTags","documentStarted","documentCompleted","createChildNode","openCurrent","oldValidationFlag","rootNodeName","isClosed","isLastRootNode","bom","processItem","sax","assignOrPush","processAsync","xmlnskey","saxParser","error1","errThrown","ontext","resultObject","EXPLICIT_CHARKEY","onopentag","processedKey","uri","onclosetag","emptyStr","objClone","old","xpath","charChild","oncdata","stripBOM","SAXParser","SAXStream","createStream","MAX_BUFFER_LENGTH","buffers","clearBuffers","bufferCheckPosition","lowercase","lowercasetags","looseCase","closed","closedRoot","sawRoot","noscript","BEGIN","strictEntities","ENTITIES","XML_ENTITIES","attribList","ns","rootNS","trackPosition","column","EVENTS","BEGIN_WHITESPACE","beginWhiteSpace","TEXT","starti","textNode","isWhitespace","strictFail","TEXT_ENTITY","OPEN_WAKA","startTagPosition","SCRIPT","SCRIPT_ENDING","script","CLOSE_TAG","SGML_DECL","sgmlDecl","isMatch","nameStart","OPEN_TAG","PROC_INST","procInstName","procInstBody","emitNode","CDATA","COMMENT","DOCTYPE","isQuote","SGML_DECL_QUOTED","DOCTYPE_DTD","DOCTYPE_QUOTED","DOCTYPE_DTD_QUOTED","COMMENT_ENDING","COMMENT_ENDED","textopts","CDATA_ENDING","CDATA_ENDING_2","PROC_INST_ENDING","PROC_INST_BODY","nameBody","newTag","openTag","OPEN_TAG_SLASH","ATTRIB","closeTag","attribName","attribValue","ATTRIB_NAME","ATTRIB_VALUE","attrib","ATTRIB_NAME_SAW_WHITE","ATTRIB_VALUE_QUOTED","ATTRIB_VALUE_UNQUOTED","ATTRIB_VALUE_ENTITY_Q","ATTRIB_VALUE_CLOSED","isAttribEnd","ATTRIB_VALUE_ENTITY_U","CLOSE_TAG_SAW_WHITE","notMatch","returnState","parseEntity","entityBody","entityStart","maxAllowed","maxActual","closeText","checkBufferLength","streamWraps","_parser","SD","XML_NAMESPACE","xml","STATE","COMMENT_STARTING","qname","qualName","qn","selfClosing","nv","isSelfClosing","closeTo","entityLC","numStr","fromCodePoint","stringFromCharCode","highSurrogate","lowSurrogate","MAX_SIZE","codeUnits","b64","lens","getLens","validLen","placeHoldersLen","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","len2","encodeChunk","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","LN2","registerImmediate","nextHandle","tasksByHandle","currentlyRunningATask","attachTo","handle","runIfPresent","importScripts","postMessageIsAsynchronous","oldOnMessage","canUsePostMessage","messagePrefix","onGlobalMessage","installPostMessageImplementation","channel","installMessageChannelImplementation","onreadystatechange","installReadyStateChangeImplementation","task","previousBuildUrl","buildUrl","encodedParam","builtUrl","caseChange","queryString","lowerCase","localVar","queryParams","disableCSV","noConflict","runtime","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","Context","_invoke","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","__await","unwrapped","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","isGeneratorFunction","genFun","mark","awrap","skipTempReset","rootRecord","rval","exception","loc","caught","hasCatch","hasFinally","finallyEntry","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","typeOf","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Lazy","Portal","isValidElementType","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","_addClass","_removeClass","removeClasses","reflowAndAddClass","appearClassName","doneClassName","enterClassName","isStringClassNames","_this$getClassNames6","_hasClass","baseVal","replaceClassName","origClass","classToRemove","_len2","_key2","handleLifecycle","handleEntering","_len3","_key3","handleEntered","_len4","_key4","handleExit","_len5","_key5","handleExiting","_len6","_key6","_len7","_key7","originalArgs","_child$props","inProp","_React$Children$toArr","mergeChildMappings","getProp","nextChildMapping","hasPrev","hasNext","prevChild","isLeaving","mapFn","mapper","getValueForKey","nextKeysPending","pendingKeys","childMapping","nextKey","pendingNextKey","isEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","theKeys","skipProto","skipConstructor","equalsConstructorPrototypeIfNotBuggy","hasToStringTag","isStandardArguments","isLegacyArguments","supportsStandardArguments","numberIsNaN","regexExec","gOPD","lastIndex","tryRegexExecCall","ERROR_MESSAGE","binder","boundLength","boundArgs","Empty","callBind","getPolyfill","flagsBound","$Function","GetIntrinsic","$apply","$call","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","asyncGenIterator","TypedArray","INTRINSICS","Atomics","DataView","eval","EvalError","Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","SharedArrayBuffer","SyntaxError","Uint8ClampedArray","Uint16Array","Uint32Array","$replace","rePropName","reEscapeChar","stringToPath","quote","subString","getBaseIntrinsic","allowMissing","origSymbol","hasSymbolSham","symObj","syms","TypeErr","tryDateObject","_propTypes2","_gud2","_temp","_temp2","subMinutes","subHours","subDays","subWeeks","subMonths","subQuarters","subYears","getQuarter","getYear","setSeconds","dirtySeconds","dirtyMinutes","dirtyHours","setQuarter","dirtyQuarter","oldQuarter","setYear","dirtyYear","dirtyDatesArray","datesArray","currentDate","differenceInCalendarDays","dirtyDateLeft","dirtyDateRight","startOfDayLeft","startOfDayRight","timestampLeft","timestampRight","differenceInCalendarMonths","dateLeft","dateRight","yearDiff","monthDiff","differenceInCalendarWeeks","startOfWeekLeft","startOfWeekRight","differenceInCalendarYears","startOfMonth","startOfYear","cleanDate","endOfDay","endOfWeek","endOfMonth","endOfYear","isEqual","dirtyLeftDate","dirtyRightDate","dateLeftStartOfDay","dateRightStartOfDay","isSameMonth","isSameYear","isSameQuarter","dateLeftStartOfQuarter","dateRightStartOfQuarter","isAfter","dirtyDateToCompare","dateToCompare","isBefore","isWithinInterval","endTime","parseISO","_options$additionalDi","additionalDigits","dateStrings","splitDateString","parseYearResult","parseYear","parseDate","restDateString","parseTime","timezone","getUTCMilliseconds","parseTimezone","patterns","dateTimeDelimiter","timeZoneDelimiter","dateRegex","timeRegex","timezoneRegex","dateString","captures","century","isWeekDate","dayOfYear","parseDateUnit","dayOfWeek","_year","validateWeekDate","isoWeekYear","fourthOfJanuaryDay","dayOfISOWeekYear","daysInMonths","isLeapYearIndex","validateDate","validateDayOfYearDate","parseTimeUnit","validateTime","timezoneString","_hours","validateTimezone","isNodeFound","ignoreClass","correspondingElement","passiveEventSupport","handlersMap","enabledInstances","touchEvents","IGNORE_CLASS_NAME","getEventHandlerOptions","eventName","handlerOptions","onClickOutsideHOC","WrappedComponent","_class","__outsideClickHandler","__clickOutsideHandlerProp","getInstance","handleClickOutside","__getComponentNode","setClickOutsideRef","enableOnClickOutside","_uid","testPassiveEventSupport","findHighest","composed","composedPath","disableOnClickOutside","getRef","instanceRef","wrappedRef","getClass","setMilliseconds","jwa","jwsSign","secretOrKey","securedInput","encodedHeader","encodedPayload","jwsSecuredInput","secretStream","bufferEq","install","origBufEqual","origSlowBufEqual","_getString","_getBuffer","_Object$setPrototypeO","kLastResolve","kLastReject","kError","kEnded","kLastPromise","kHandlePromise","kStream","createIterResult","readAndResolve","onReadable","AsyncIteratorPrototype","ReadableStreamAsyncIteratorPrototype","lastPromise","wrapForNext","_Object$create","ERR_MISSING_ARGS","destroyer","popCallback","streams","destroys","Sha","rotl30","Sha1","rotl5","Sha224","Sha384","ZERO_BUF","subtle","toBrowser","checks","browserPbkdf2","importKey","deriveBits","resolvePromise","prom","checkNative","resp","aesModes","desModes","ebtk","suite","des","instantiate","EDE","modeName","_des","des3","CBCState","_cbcInit","_cbcState","superProto","EDEState","k3","_edeState","MODES","AuthCipher","Splitter","_autopadding","PADDING","setTo","padBuff","encryptStart","encryptByte","byteParam","shiftIn","ZEROES","fromArray","_multiply","lsbVi","abl","_last","padded","unpad","generatePrime","DH","ENCODINGS","genc","SEVEN","setPublicKey","pub","_pub","setPrivateKey","_priv","primeCache","malleable","setGenerator","__prime","_primeLen","_primeCode","formatReturnValue","checkPrime","__gen","generateKeys","_gen","getPublicKey","computeSecret","getPrime","front","getPrivateKey","getGenerator","algorithms","_hashType","_tag","_signType","sig","EC","getKey","hlen","hbits","bits2int","bits2octets","obits","makeKey","kv","makeR","signType","curveId","keyFromPrivate","toDER","ecSign","dsaSign","ShortCurve","tinv","zeroA","threeA","endo","_getEndomorphism","_endoWnafT1","_endoWnafT2","Point","isRed","inf","JPoint","zOne","betas","_getEndoRoots","lambdas","vec","_getEndoBasis","ntinv","prevR","aprxSqrt","_endoSplit","q1","q2","ax","rhs","_endoWnafMulAdd","npoints","ncoeffs","fromJSON","endoMul","obj2point","nx","ny","ys1","dyinv","mulAdd","jmulAdd","_precompute","negate","zinv","zinv2","ay","pz2","z2","h3","nz","jx","jy","jz","jz4","jyd","jx2","jyd2","jyd4","dny","_zeroDbl","_threeDbl","_dbl","xx","yy","yyyy","yyyy8","c8","gamma","beta4","beta8","ggamma8","jy2","jxd4","jyd8","trpl","zz","mm","yyu4","kbase","z3","pz3","eqXToP","zs","MontCurve","i4","a24","diffAdd","jumlAdd","EdwardsCurve","twisted","mOneA","oneC","_mulA","_mulC","lhs","pointFromY","_extDbl","_projDbl","_extAdd","_projAdd","sha1_K","SHA1","SHA224","SHA384","HmacDRBG","KeyPair","Signature","keyPair","fromPrivate","keyFromPublic","fromPublic","genKeyPair","drbg","pers","persEnc","entropy","entropyEnc","nonce","ns2","_truncateToN","truncOnly","bkey","getPrivate","ns1","kp","kpX","recoveryParam","canonical","sinv","getPublic","recoverPubKey","isYOdd","isSecondKey","rInv","getKeyRecoveryParam","Qprime","predResist","minEntropy","_reseed","reseedInterval","nonceEnc","_hmac","kmac","reseed","addEnc","temp","_importPrivate","privEnc","_importPublic","pubEnc","derive","_importDER","Position","place","getLength","octetLen","rmPadding","constructLength","octets","slen","backHalf","EDDSA","pointClass","encodingLength","keyFromSecret","hashInt","Rencoded","encodePoint","s_","pubBytes","makeSignature","SG","fromSecret","lastIx","normed","xIsOdd","encodeInt","decodeInt","isPoint","_secret","_pubBytes","privBytes","getSecret","_R","_S","_Rencoded","_Sencoded","Sencoded","toBytes","seq","int","AlgorithmIdentifier","bitstr","null_","PrivateKeyInfo","octstr","EncryptedPrivateKeyInfo","ECParameters","Entity","_createNamed","Generated","_initNamed","PEMEncoder","PEMDecoder","_reverse","asn","Time","utcTime","utctime","generalTime","gentime","AttributeTypeValue","SubjectPublicKeyInfo","RelativeDistinguishedName","setof","RDNSequence","seqof","Name","rdnSequence","Validity","Extension","TBSCertificate","X509Certificate","findProc","startRegex","fullRegex","evp","okey","decrypted","cipherKey","match2","checkValue","pubkey","ecVerify","montp","dsaVerify","padNum","ECDH","aliases","secp256k1","secp224r1","prime256v1","prime192v1","ed25519","secp384r1","secp521r1","curveType","p256","secp256r1","secp192r1","p384","p521","inenc","mgf","withPublic","iHash","hLen2","dblen","maskedDb","maskedSeed","oaep","nonZero","pkcs1","zBuffer","dif","oldBrowser","safeBuffer","randombytes","kBufferMaxLength","kMaxUint32","assertOffset","actualFill","ourBuf","uint","getParamBytesForAlg","signatureAsBuffer","countPadding","paramBytes","maxEncodedParamLength","inputLength","TAG_SEQ","seqLength","TAG_INT","rLength","rOffset","sLength","sOffset","rPadding","sPadding","signatureBytes","rsBytes","shortLength","MAX_OCTET","getParamSize","paramBytesForAlg","JWS_REGEX","safeJsonParse","headerFromJWS","jwsSig","signatureFromJWS","isValidJws","jwsVerify","securedInputFromJWS","jwsDecode","payloadFromJWS","typ","json","timespan","validateAsymmetricKey","PS_SUPPORTED","KeyObject","createSecretKey","PUB_KEY_ALGS","EC_KEY_ALGS","RSA_KEY_ALGS","HS_ALGS","jwtString","secretOrPublicKey","clockTimestamp","allowInvalidAsymmetricKeyTypes","decodedToken","secretCallback","hasSignature","nbf","ignoreNotBefore","clockTolerance","ignoreExpiration","audience","audiences","aud","targetAudience","issuer","iss","subject","jwtid","jti","maxAgeTimestamp","plural","msAbs","isPlural","fmtLong","fmtShort","version1","version2","v1Higher","highVersion","lowVersion","highHasPre","COERCERTL","arrayWithoutHoles","iterableToArray","nonIterableSpread","Yallist","MAX","LENGTH","LENGTH_CALCULATOR","ALLOW_STALE","MAX_AGE","DISPOSE","NO_DISPOSE_ON_SET","LRU_LIST","CACHE","UPDATE_AGE_ON_GET","naiveLength","LRUCache","stale","dispose","noDisposeOnSet","updateAgeOnGet","thisp","walker","forEachStep","hit","isStale","del","Entry","expiresAt","mL","allowStale","mA","lC","doUse","unshiftNode","removeNode","insert","inserted","pushNode","forEachReverse","getReverse","mapReverse","reduceReverse","toArrayReverse","sliceReverse","deleteCount","maxSV","rangeObj","minSV","minver","compver","ranges","simplified","minimumVersionWithPreRelease","minimumVersion","simpleSubset","dom","gtltComp","eqSet","higherGT","lowerLT","higher","lower","hasDomLT","hasDomGT","needDomLTPre","needDomGTPre","sawNonNull","OUTER","simpleSub","simpleDom","isSub","createPrivateKey","SUPPORTED_ALGS","sign_options_schema","expiresIn","notBefore","noTimestamp","keyid","mutatePayload","allowInsecureKeySizes","registered_claims_schema","schema","allowUnknown","parameterName","options_to_payload","options_for_objects","secretOrPrivateKey","isObjectPayload","kid","failure","modulusLength","validatePayload","invalid_options","validateOptions","claim","reTrim","reIsBadHex","reIsBinary","reIsOctal","reIsUint","freeParseInt","baseIsNaN","baseValues","iteratee","arrayMap","objectProto","nativeKeys","nativeMax","arrayLikeKeys","isObjectLike","isArrayLike","isArrayLikeObject","baseTimes","skipIndexes","isIndex","baseKeys","Ctor","isPrototype","isLength","collection","guard","isBinary","toFinite","fromRight","baseFindIndex","baseIndexOf","funcProto","funcToString","objectCtorString","getPrototype","isHostObject","normalizeArray","allowAboveRoot","resolvedPath","resolvedAbsolute","trailingSlash","samePartsLength","outputParts","sep","dirname","hasRoot","matchedSlash","extname","startDot","startPart","preDotState","endianness","hostname","loadavg","uptime","freemem","MAX_VALUE","totalmem","cpus","appVersion","networkInterfaces","getNetworkInterfaces","arch","tmpdir","tmpDir","EOL","_React$useState","hasUnmounted","handleSetReferenceNode","fromEntries","useIsomorphicLayoutEffect","isHTMLElement","isShadowRoot","ShadowRoot","getUAString","uaData","userAgentData","brands","brand","isLayoutViewport","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","visualViewport","addVisualOffsets","getWindowScroll","win","pageXOffset","pageYOffset","getNodeName","getDocumentElement","getWindowScrollBarX","isScrollParent","_getComputedStyle","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","isElementScaled","scroll","getNodeScroll","clientLeft","clientTop","getLayoutRect","assignedSlot","listScrollParents","_element$ownerDocumen","updatedList","isTableElement","getTrueOffsetParent","perspective","contain","willChange","getContainingBlock","basePlacements","variationPlacements","modifierPhases","visited","requires","requiresIfExists","dep","depModifier","DEFAULT_OPTIONS","strategy","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","orderedModifiers","modifiersData","effectCleanupFns","isDestroyed","setOptionsAction","cleanupModifierEffects","contextElement","phase","orderModifiers","merged","mergeByName","_ref3$options","effect","cleanupFn","_state$elements","_state$orderedModifie","_state$orderedModifie2","onFirstUpdate","getBasePlacement","getVariation","getMainAxisFromPlacement","computeOffsets","commonX","commonY","mainAxis","unsetSides","mapToStyles","_Object$assign2","adaptive","roundOffsets","_offsets$x","_offsets$y","hasX","hasY","sideX","sideY","heightProp","widthProp","_Object$assign","commonStyles","_ref4","roundOffsetsByDPR","getOppositeVariationPlacement","rootNode","getRootNode","rectToClientRect","getClientRectFromMixedType","clippingParent","layoutViewport","getViewportRect","getInnerBoundingClientRect","winScroll","scrollWidth","getDocumentRect","getClippingRect","boundary","rootBoundary","mainClippingParents","clippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","mergePaddingObject","paddingObject","expandToHashMap","hashMap","detectOverflow","_options$placement","_options$strategy","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","within","mathMax","mathMin","getSideOffsets","preventedOffsets","isAnySideFullyClipped","createPopper","_options$scroll","_options$resize","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","arrow","initialStyles","_options$offset","invertDistance","skidding","distanceAndSkiddingToXY","_data$state$placement","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","flipVariations","allowedAutoPlacements","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","_options$allowedAutoP","allPlacements","allowedPlacements","overflows","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","mainVariationSide","altVariationSide","fittingPlacement","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","additive","maxLen","arrowRect","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","arrowOffsetParent","clientOffset","offsetModifierValue","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","withinMaxClamp","_state$modifiersData$","toPaddingObject","minProp","maxProp","endDiff","startDiff","clientSize","centerToReference","axisProp","centerOffset","_options$element","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","EMPTY_MODIFIERS","usePopper","referenceElement","popperElement","prevOptions","optionsWithDefaults","updateStateModifier","popperOptions","popperInstanceRef","popperInstance","defaultCreatePopper","NOOP","NOOP_PROMISE","_ref$placement","_ref$strategy","_ref$modifiers","setPopperElement","_React$useState2","setArrowElement","_usePopper","childrenProps","refHandler","hasNativeReflectConstruct","Setter","_utcDate","ValueSetter","_Setter","_super","validateValue","subPriority","DateToSystemTimezoneSetter","_Setter2","_super2","timestampIsSet","convertedDate","setter","_value","EraParser","_Parser","numericPatterns","timezonePatterns","mapValue","parseFnResult","parseNumericPattern","parseTimezonePattern","parseAnyDigitsSigned","parseNDigits","parseNDigitsSigned","dayPeriodEnumToHours","normalizeTwoDigitYear","twoDigitYear","currentYear","isCommonEra","absCurrentYear","rangeEnd","YearParser","isTwoDigitYear","normalizedTwoDigitYear","LocalWeekYearParser","ISOWeekYearParser","_flags","firstWeekOfYear","ExtendedYearParser","QuarterParser","setUTCMonth","StandAloneQuarterParser","MonthParser","StandAloneMonthParser","LocalWeekParser","dirtyWeek","setUTCWeek","ISOWeekParser","dirtyISOWeek","isoWeek","setUTCISOWeek","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP_YEAR","DateParser","isLeapYear","DayOfYearParser","setUTCDay","dirtyDay","currentDay","dayIndex","DayParser","LocalDayParser","wholeWeekDays","StandAloneLocalDayParser","ISODayParser","setUTCISODay","AMPMParser","AMPMMidnightParser","DayPeriodParser","Hour1to12Parser","isPM","Hour0to23Parser","Hour0To11Parser","Hour1To24Parser","MinuteParser","setUTCMinutes","SecondParser","setUTCSeconds","FractionOfSecondParser","setUTCMilliseconds","ISOTimezoneWithZParser","ISOTimezoneParser","TimestampSecondsParser","TimestampMillisecondsParser","parsers","allowArrayLike","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","notWhitespaceRegExp","unescapedLatinCharacterRegExp","dirtyDateString","dirtyFormatString","dirtyReferenceDate","_options$locale2","_options$locale2$opti","_ref6","_ref7","_options$locale3","_options$locale3$opti","_defaultOptions$local3","_defaultOptions$local4","formatString","_step","subFnOptions","setters","firstCharacter","longFormatter","usedTokens","_iterator","useAdditionalWeekYearTokens","useAdditionalDayOfYearTokens","incompatibleTokens","incompatibleToken","usedToken","fullToken","cleanEscapedString","_ret","uniquePrioritySetters","setterArray","_step2","_iterator2","addLeadingZeros","targetLength","signedYear","dayPeriodEnumValue","numberOfDigits","dayPeriodEnum","formatTimezoneShort","dirtyDelimiter","absOffset","formatTimezoneWithOptionalMinutes","formatTimezone","lightFormatters","signedWeekYear","weekYear","startOfYearTimestamp","difference","getUTCDayOfYear","localDayOfWeek","isoDayOfWeek","_localize","timezoneOffset","_originalDate","getTimezoneOffset","originalDate","dirtyFormatStr","formatStr","formatterOptions","startOfISOWeek","getISOWeekYear","startOfISOWeekYear","getISOWeek","initialStyle","initialArrowStyle","InnerPopper","popperNode","updatePopperInstance","arrowNode","applyStyle","arrowStyles","destroyPopperInstance","PopperJS","getOptions","setPopperNode","getPopperStyle","getPopperPlacement","outOfBoundaries","getOutOfBoundariesState","setArrowNode","getArrowStyle","inverse","Card","CardHeader","CardBody","bordered","borderless","striped","dark","responsiveTag","Table","ResponsiveTag","responsiveClassName","bsSize","invalid","plaintext","addon","Input","checkInput","isNotaNumber","formControlClass","wrapTag","closeAriaLabel","ModalHeader","WrapTag","closeIcon","ModalBody","ModalFooter","listClassName","listTag","Pagination","_classNames","ListTag","listClasses","PaginationItem","PaginationLink","defaultCaret","rowColsPropType","noGutters","sm","Row","colClasses","colWidth","colSize","isXs","stringOrNumberProp","columnProps","getColumnSizeClass","Col","columnProp","colSizeInterfix","colClass","_colClass","ListGroup","getHorizontalClass","handleDisabledOnClick","ListGroupItem","light","fixed","Navbar","getExpandClass","fluid","Container","containerClass","NavbarBrand","NavbarToggler","NavItem","NavLink","noFlipModifier","directionPositionMap","DropdownMenu","getRole","menuRole","attrs","inNavbar","poperPlacement","poperModifiers","popperPositionFixed","combinedStyle","tagRef","onMenuRef","DropdownItem","_this$props2","_omit","defaultOpen","toggler","toggleEvents","UncontrolledCollapse","togglers","FormGroup","htmlFor","extendStatics","__extends","__","SafeSubscriber","_parentSubscriber","Subject","placementPrefix","arrowClassName","hideArrow","fallbackPlacement","onClosed","fade","PopperContent","setTargetNode","getTargetNode","targetNode","getContainerNode","_arrowClassName","_popperClassName","extendedModifiers","behavior","popperTransition","ReactPopper","innerClassName","autohide","DEFAULT_DELAYS","isInDOMSubtree","subtreeRoot","isInDOMSubtrees","subtreeRoots","subTreeRoot","TooltipPopoverWrapper","_targets","currentTargetElement","addTargetEvents","handleDocumentClick","removeTargetEvents","showWithDelay","hideWithDelay","onMouseOverTooltipContent","onMouseLeaveTooltipContent","onEscKeyDown","_isMounted","updateTarget","clearShowTimeout","clearHideTimeout","_hideTimeout","_showTimeout","getDelay","_popover","getCurrentTarget","parentElement","triggers","addEventOnTargets","isBubble","removeEventOnTargets","newTarget","popperClasses","onMouseOver","UncontrolledTooltip","defaultNode","FadePropTypes","centered","scrollable","keyboard","labelledBy","onOpened","wrapClassName","modalClassName","backdropClassName","contentClassName","backdropTransition","modalTransition","unmountOnClose","returnFocusAfterClose","trapFocus","propsToOmit","_originalBodyPadding","getFocusableChildren","handleBackdropClick","handleBackdropMouseDown","handleEscape","handleStaticBackdropAnimation","manageFocusAfterClose","clearBackdropAnimationTimeout","showStaticBackdropAnimation","_dialog","modalIndex","openCount","getFocusedChild","currentFocus","focusableChildren","_mouseDownElement","totalFocusable","focusedIndex","_backdropAnimationTimeout","_triggeringElement","_mountContainer","modalOpenClassName","modalOpenClassNameRegex","renderModalDialog","dialogBaseClass","isModalHidden","modalAttributes","onMouseDown","onKeyUp","hasTransition","Backdrop","a11y","nav","addonType","setActiveFromChild","preventDefaultKeys","Dropdown","addEvents","handleKeyDown","removeEvents","handleMenuRef","menuRef","getContextValue","dropup","handleProps","getMenu","getMenuCtrl","_$menuCtrl","getItemType","getMenuItems","menuContainer","menu","clickIsInContainer","clickIsInMenu","isTargetMenuItem","isTargetMenuCtrl","isTab","$menuitems","_$menuitems","_$menuitems3","charPressed","subItemIsActive","dropdownItem","dropdown","UncontrolledDropdown","onToggle","InnerReference","DropdownToggle"],"mappings":"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mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,kEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,sEAINq7G,IAAK,CACH0e,IAAK,EACL/5H,OAAQ,CACN,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,iEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE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","file":"static/js/2.65ed681a.chunk.js","sourcesContent":["export var IconsManifest = [\n {\n \"id\": \"fa\",\n \"name\": \"Font Awesome\",\n \"projectUrl\": \"https://fontawesome.com/\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"io\",\n \"name\": \"Ionicons 4\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"io5\",\n \"name\": \"Ionicons 5\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"md\",\n \"name\": \"Material Design icons\",\n \"projectUrl\": \"http://google.github.io/material-design-icons/\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"https://github.com/google/material-design-icons/blob/master/LICENSE\"\n },\n {\n \"id\": \"ti\",\n \"name\": \"Typicons\",\n \"projectUrl\": \"http://s-ings.com/typicons/\",\n \"license\": \"CC BY-SA 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by-sa/3.0/\"\n },\n {\n \"id\": \"go\",\n \"name\": \"Github Octicons icons\",\n \"projectUrl\": \"https://octicons.github.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/primer/octicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"fi\",\n \"name\": \"Feather\",\n \"projectUrl\": \"https://feathericons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/feathericons/feather/blob/master/LICENSE\"\n },\n {\n \"id\": \"gi\",\n \"name\": \"Game Icons\",\n \"projectUrl\": \"https://game-icons.net/\",\n \"license\": \"CC BY 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/3.0/\"\n },\n {\n \"id\": \"wi\",\n \"name\": \"Weather Icons\",\n \"projectUrl\": \"https://erikflowers.github.io/weather-icons/\",\n \"license\": \"SIL OFL 1.1\",\n \"licenseUrl\": \"http://scripts.sil.org/OFL\"\n },\n {\n \"id\": \"di\",\n \"name\": \"Devicons\",\n \"projectUrl\": \"https://vorillaz.github.io/devicons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"ai\",\n \"name\": \"Ant Design Icons\",\n \"projectUrl\": \"https://github.com/ant-design/ant-design-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"bs\",\n \"name\": \"Bootstrap Icons\",\n \"projectUrl\": \"https://github.com/twbs/icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"ri\",\n \"name\": \"Remix Icon\",\n \"projectUrl\": \"https://github.com/Remix-Design/RemixIcon\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n },\n {\n \"id\": \"fc\",\n \"name\": \"Flat Color Icons\",\n \"projectUrl\": \"https://github.com/icons8/flat-color-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"gr\",\n \"name\": \"Grommet-Icons\",\n \"projectUrl\": \"https://github.com/grommet/grommet-icons\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n },\n {\n \"id\": \"hi\",\n \"name\": \"Heroicons\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"si\",\n \"name\": \"Simple Icons\",\n \"projectUrl\": \"https://simpleicons.org/\",\n \"license\": \"CC0 1.0 Universal\",\n \"licenseUrl\": \"https://creativecommons.org/publicdomain/zero/1.0/\"\n },\n {\n \"id\": \"im\",\n \"name\": \"IcoMoon Free\",\n \"projectUrl\": \"https://github.com/Keyamoon/IcoMoon-Free\",\n \"license\": \"CC BY 4.0 License\"\n },\n {\n \"id\": \"bi\",\n \"name\": \"BoxIcons\",\n \"projectUrl\": \"https://github.com/atisawd/boxicons\",\n \"license\": \"CC BY 4.0 License\"\n },\n {\n \"id\": \"cg\",\n \"name\": \"css.gg\",\n \"projectUrl\": \"https://github.com/astrit/css.gg\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"vsc\",\n \"name\": \"VS Code Icons\",\n \"projectUrl\": \"https://github.com/microsoft/vscode-codicons\",\n \"license\": \"CC BY 4.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"tb\",\n \"name\": \"Tabler Icons\",\n \"projectUrl\": \"https://github.com/tabler/tabler-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n }\n]","import React from 'react';\nexport var DefaultContext = {\n color: undefined,\n size: undefined,\n className: undefined,\n style: undefined,\n attr: undefined\n};\nexport var IconContext = React.createContext && React.createContext(DefaultContext);","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport React from 'react';\nimport { IconContext, DefaultContext } from './iconContext';\n\nfunction Tree2Element(tree) {\n return tree && tree.map(function (node, i) {\n return React.createElement(node.tag, __assign({\n key: i\n }, node.attr), Tree2Element(node.child));\n });\n}\n\nexport function GenIcon(data) {\n return function (props) {\n return React.createElement(IconBase, __assign({\n attr: __assign({}, data.attr)\n }, props), Tree2Element(data.child));\n };\n}\nexport function IconBase(props) {\n var elem = function (conf) {\n var attr = props.attr,\n size = props.size,\n title = props.title,\n svgProps = __rest(props, [\"attr\", \"size\", \"title\"]);\n\n var computedSize = size || conf.size || \"1em\";\n var className;\n if (conf.className) className = conf.className;\n if (props.className) className = (className ? className + ' ' : '') + props.className;\n return React.createElement(\"svg\", __assign({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: \"0\"\n }, conf.attr, attr, svgProps, {\n className: className,\n style: __assign(__assign({\n color: props.color || conf.color\n }, conf.style), props.style),\n height: computedSize,\n width: computedSize,\n xmlns: \"http://www.w3.org/2000/svg\"\n }), title && React.createElement(\"title\", null, title), props.children);\n };\n\n return IconContext !== undefined ? React.createElement(IconContext.Consumer, null, function (conf) {\n return elem(conf);\n }) : elem(DefaultContext);\n}","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/*!\n * Chart.js v3.9.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nfunction noop() {}\nconst uid = (function() {\n let id = 0;\n return function() {\n return id++;\n };\n}());\nfunction isNullOrUndef(value) {\n return value === null || typeof value === 'undefined';\n}\nfunction isArray(value) {\n if (Array.isArray && Array.isArray(value)) {\n return true;\n }\n const type = Object.prototype.toString.call(value);\n if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') {\n return true;\n }\n return false;\n}\nfunction isObject(value) {\n return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n}\nconst isNumberFinite = (value) => (typeof value === 'number' || value instanceof Number) && isFinite(+value);\nfunction finiteOrDefault(value, defaultValue) {\n return isNumberFinite(value) ? value : defaultValue;\n}\nfunction valueOrDefault(value, defaultValue) {\n return typeof value === 'undefined' ? defaultValue : value;\n}\nconst toPercentage = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100\n : value / dimension;\nconst toDimension = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100 * dimension\n : +value;\nfunction callback(fn, args, thisArg) {\n if (fn && typeof fn.call === 'function') {\n return fn.apply(thisArg, args);\n }\n}\nfunction each(loopable, fn, thisArg, reverse) {\n let i, len, keys;\n if (isArray(loopable)) {\n len = loopable.length;\n if (reverse) {\n for (i = len - 1; i >= 0; i--) {\n fn.call(thisArg, loopable[i], i);\n }\n } else {\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[i], i);\n }\n }\n } else if (isObject(loopable)) {\n keys = Object.keys(loopable);\n len = keys.length;\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[keys[i]], keys[i]);\n }\n }\n}\nfunction _elementsEqual(a0, a1) {\n let i, ilen, v0, v1;\n if (!a0 || !a1 || a0.length !== a1.length) {\n return false;\n }\n for (i = 0, ilen = a0.length; i < ilen; ++i) {\n v0 = a0[i];\n v1 = a1[i];\n if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {\n return false;\n }\n }\n return true;\n}\nfunction clone$1(source) {\n if (isArray(source)) {\n return source.map(clone$1);\n }\n if (isObject(source)) {\n const target = Object.create(null);\n const keys = Object.keys(source);\n const klen = keys.length;\n let k = 0;\n for (; k < klen; ++k) {\n target[keys[k]] = clone$1(source[keys[k]]);\n }\n return target;\n }\n return source;\n}\nfunction isValidKey(key) {\n return ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\n}\nfunction _merger(key, target, source, options) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n merge(tval, sval, options);\n } else {\n target[key] = clone$1(sval);\n }\n}\nfunction merge(target, source, options) {\n const sources = isArray(source) ? source : [source];\n const ilen = sources.length;\n if (!isObject(target)) {\n return target;\n }\n options = options || {};\n const merger = options.merger || _merger;\n for (let i = 0; i < ilen; ++i) {\n source = sources[i];\n if (!isObject(source)) {\n continue;\n }\n const keys = Object.keys(source);\n for (let k = 0, klen = keys.length; k < klen; ++k) {\n merger(keys[k], target, source, options);\n }\n }\n return target;\n}\nfunction mergeIf(target, source) {\n return merge(target, source, {merger: _mergerIf});\n}\nfunction _mergerIf(key, target, source) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n mergeIf(tval, sval);\n } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n target[key] = clone$1(sval);\n }\n}\nfunction _deprecated(scope, value, previous, current) {\n if (value !== undefined) {\n console.warn(scope + ': \"' + previous +\n\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\n }\n}\nconst keyResolvers = {\n '': v => v,\n x: o => o.x,\n y: o => o.y\n};\nfunction resolveObjectKey(obj, key) {\n const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key));\n return resolver(obj);\n}\nfunction _getKeyResolver(key) {\n const keys = _splitKey(key);\n return obj => {\n for (const k of keys) {\n if (k === '') {\n break;\n }\n obj = obj && obj[k];\n }\n return obj;\n };\n}\nfunction _splitKey(key) {\n const parts = key.split('.');\n const keys = [];\n let tmp = '';\n for (const part of parts) {\n tmp += part;\n if (tmp.endsWith('\\\\')) {\n tmp = tmp.slice(0, -1) + '.';\n } else {\n keys.push(tmp);\n tmp = '';\n }\n }\n return keys;\n}\nfunction _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nconst defined = (value) => typeof value !== 'undefined';\nconst isFunction = (value) => typeof value === 'function';\nconst setsEqual = (a, b) => {\n if (a.size !== b.size) {\n return false;\n }\n for (const item of a) {\n if (!b.has(item)) {\n return false;\n }\n }\n return true;\n};\nfunction _isClickEvent(e) {\n return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu';\n}\n\nconst PI = Math.PI;\nconst TAU = 2 * PI;\nconst PITAU = TAU + PI;\nconst INFINITY = Number.POSITIVE_INFINITY;\nconst RAD_PER_DEG = PI / 180;\nconst HALF_PI = PI / 2;\nconst QUARTER_PI = PI / 4;\nconst TWO_THIRDS_PI = PI * 2 / 3;\nconst log10 = Math.log10;\nconst sign = Math.sign;\nfunction niceNum(range) {\n const roundedRange = Math.round(range);\n range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range;\n const niceRange = Math.pow(10, Math.floor(log10(range)));\n const fraction = range / niceRange;\n const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;\n return niceFraction * niceRange;\n}\nfunction _factorize(value) {\n const result = [];\n const sqrt = Math.sqrt(value);\n let i;\n for (i = 1; i < sqrt; i++) {\n if (value % i === 0) {\n result.push(i);\n result.push(value / i);\n }\n }\n if (sqrt === (sqrt | 0)) {\n result.push(sqrt);\n }\n result.sort((a, b) => a - b).pop();\n return result;\n}\nfunction isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}\nfunction almostEquals(x, y, epsilon) {\n return Math.abs(x - y) < epsilon;\n}\nfunction almostWhole(x, epsilon) {\n const rounded = Math.round(x);\n return ((rounded - epsilon) <= x) && ((rounded + epsilon) >= x);\n}\nfunction _setMinAndMaxByKey(array, target, property) {\n let i, ilen, value;\n for (i = 0, ilen = array.length; i < ilen; i++) {\n value = array[i][property];\n if (!isNaN(value)) {\n target.min = Math.min(target.min, value);\n target.max = Math.max(target.max, value);\n }\n }\n}\nfunction toRadians(degrees) {\n return degrees * (PI / 180);\n}\nfunction toDegrees(radians) {\n return radians * (180 / PI);\n}\nfunction _decimalPlaces(x) {\n if (!isNumberFinite(x)) {\n return;\n }\n let e = 1;\n let p = 0;\n while (Math.round(x * e) / e !== x) {\n e *= 10;\n p++;\n }\n return p;\n}\nfunction getAngleFromPoint(centrePoint, anglePoint) {\n const distanceFromXCenter = anglePoint.x - centrePoint.x;\n const distanceFromYCenter = anglePoint.y - centrePoint.y;\n const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n if (angle < (-0.5 * PI)) {\n angle += TAU;\n }\n return {\n angle,\n distance: radialDistanceFromCenter\n };\n}\nfunction distanceBetweenPoints(pt1, pt2) {\n return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n}\nfunction _angleDiff(a, b) {\n return (a - b + PITAU) % TAU - PI;\n}\nfunction _normalizeAngle(a) {\n return (a % TAU + TAU) % TAU;\n}\nfunction _angleBetween(angle, start, end, sameAngleIsFullCircle) {\n const a = _normalizeAngle(angle);\n const s = _normalizeAngle(start);\n const e = _normalizeAngle(end);\n const angleToStart = _normalizeAngle(s - a);\n const angleToEnd = _normalizeAngle(e - a);\n const startToAngle = _normalizeAngle(a - s);\n const endToAngle = _normalizeAngle(a - e);\n return a === s || a === e || (sameAngleIsFullCircle && s === e)\n || (angleToStart > angleToEnd && startToAngle < endToAngle);\n}\nfunction _limitValue(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\nfunction _int16Range(value) {\n return _limitValue(value, -32768, 32767);\n}\nfunction _isBetween(value, start, end, epsilon = 1e-6) {\n return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon;\n}\n\nfunction _lookup(table, value, cmp) {\n cmp = cmp || ((index) => table[index] < value);\n let hi = table.length - 1;\n let lo = 0;\n let mid;\n while (hi - lo > 1) {\n mid = (lo + hi) >> 1;\n if (cmp(mid)) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n return {lo, hi};\n}\nconst _lookupByKey = (table, key, value, last) =>\n _lookup(table, value, last\n ? index => table[index][key] <= value\n : index => table[index][key] < value);\nconst _rlookupByKey = (table, key, value) =>\n _lookup(table, value, index => table[index][key] >= value);\nfunction _filterBetween(values, min, max) {\n let start = 0;\n let end = values.length;\n while (start < end && values[start] < min) {\n start++;\n }\n while (end > start && values[end - 1] > max) {\n end--;\n }\n return start > 0 || end < values.length\n ? values.slice(start, end)\n : values;\n}\nconst arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\nfunction listenArrayEvents(array, listener) {\n if (array._chartjs) {\n array._chartjs.listeners.push(listener);\n return;\n }\n Object.defineProperty(array, '_chartjs', {\n configurable: true,\n enumerable: false,\n value: {\n listeners: [listener]\n }\n });\n arrayEvents.forEach((key) => {\n const method = '_onData' + _capitalize(key);\n const base = array[key];\n Object.defineProperty(array, key, {\n configurable: true,\n enumerable: false,\n value(...args) {\n const res = base.apply(this, args);\n array._chartjs.listeners.forEach((object) => {\n if (typeof object[method] === 'function') {\n object[method](...args);\n }\n });\n return res;\n }\n });\n });\n}\nfunction unlistenArrayEvents(array, listener) {\n const stub = array._chartjs;\n if (!stub) {\n return;\n }\n const listeners = stub.listeners;\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n if (listeners.length > 0) {\n return;\n }\n arrayEvents.forEach((key) => {\n delete array[key];\n });\n delete array._chartjs;\n}\nfunction _arrayUnique(items) {\n const set = new Set();\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n set.add(items[i]);\n }\n if (set.size === ilen) {\n return items;\n }\n return Array.from(set);\n}\n\nfunction fontString(pixelSize, fontStyle, fontFamily) {\n return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n}\nconst requestAnimFrame = (function() {\n if (typeof window === 'undefined') {\n return function(callback) {\n return callback();\n };\n }\n return window.requestAnimationFrame;\n}());\nfunction throttled(fn, thisArg, updateFn) {\n const updateArgs = updateFn || ((args) => Array.prototype.slice.call(args));\n let ticking = false;\n let args = [];\n return function(...rest) {\n args = updateArgs(rest);\n if (!ticking) {\n ticking = true;\n requestAnimFrame.call(window, () => {\n ticking = false;\n fn.apply(thisArg, args);\n });\n }\n };\n}\nfunction debounce(fn, delay) {\n let timeout;\n return function(...args) {\n if (delay) {\n clearTimeout(timeout);\n timeout = setTimeout(fn, delay, args);\n } else {\n fn.apply(this, args);\n }\n return delay;\n };\n}\nconst _toLeftRightCenter = (align) => align === 'start' ? 'left' : align === 'end' ? 'right' : 'center';\nconst _alignStartEnd = (align, start, end) => align === 'start' ? start : align === 'end' ? end : (start + end) / 2;\nconst _textX = (align, left, right, rtl) => {\n const check = rtl ? 'left' : 'right';\n return align === check ? right : align === 'center' ? (left + right) / 2 : left;\n};\nfunction _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) {\n const pointCount = points.length;\n let start = 0;\n let count = pointCount;\n if (meta._sorted) {\n const {iScale, _parsed} = meta;\n const axis = iScale.axis;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(Math.min(\n _lookupByKey(_parsed, iScale.axis, min).lo,\n animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo),\n 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(Math.max(\n _lookupByKey(_parsed, iScale.axis, max, true).hi + 1,\n animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1),\n start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n }\n return {start, count};\n}\nfunction _scaleRangesChanged(meta) {\n const {xScale, yScale, _scaleRanges} = meta;\n const newRanges = {\n xmin: xScale.min,\n xmax: xScale.max,\n ymin: yScale.min,\n ymax: yScale.max\n };\n if (!_scaleRanges) {\n meta._scaleRanges = newRanges;\n return true;\n }\n const changed = _scaleRanges.xmin !== xScale.min\n\t\t|| _scaleRanges.xmax !== xScale.max\n\t\t|| _scaleRanges.ymin !== yScale.min\n\t\t|| _scaleRanges.ymax !== yScale.max;\n Object.assign(_scaleRanges, newRanges);\n return changed;\n}\n\nconst atEdge = (t) => t === 0 || t === 1;\nconst elasticIn = (t, s, p) => -(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p));\nconst elasticOut = (t, s, p) => Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1;\nconst effects = {\n linear: t => t,\n easeInQuad: t => t * t,\n easeOutQuad: t => -t * (t - 2),\n easeInOutQuad: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t\n : -0.5 * ((--t) * (t - 2) - 1),\n easeInCubic: t => t * t * t,\n easeOutCubic: t => (t -= 1) * t * t + 1,\n easeInOutCubic: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t\n : 0.5 * ((t -= 2) * t * t + 2),\n easeInQuart: t => t * t * t * t,\n easeOutQuart: t => -((t -= 1) * t * t * t - 1),\n easeInOutQuart: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t\n : -0.5 * ((t -= 2) * t * t * t - 2),\n easeInQuint: t => t * t * t * t * t,\n easeOutQuint: t => (t -= 1) * t * t * t * t + 1,\n easeInOutQuint: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t * t\n : 0.5 * ((t -= 2) * t * t * t * t + 2),\n easeInSine: t => -Math.cos(t * HALF_PI) + 1,\n easeOutSine: t => Math.sin(t * HALF_PI),\n easeInOutSine: t => -0.5 * (Math.cos(PI * t) - 1),\n easeInExpo: t => (t === 0) ? 0 : Math.pow(2, 10 * (t - 1)),\n easeOutExpo: t => (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1,\n easeInOutExpo: t => atEdge(t) ? t : t < 0.5\n ? 0.5 * Math.pow(2, 10 * (t * 2 - 1))\n : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2),\n easeInCirc: t => (t >= 1) ? t : -(Math.sqrt(1 - t * t) - 1),\n easeOutCirc: t => Math.sqrt(1 - (t -= 1) * t),\n easeInOutCirc: t => ((t /= 0.5) < 1)\n ? -0.5 * (Math.sqrt(1 - t * t) - 1)\n : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1),\n easeInElastic: t => atEdge(t) ? t : elasticIn(t, 0.075, 0.3),\n easeOutElastic: t => atEdge(t) ? t : elasticOut(t, 0.075, 0.3),\n easeInOutElastic(t) {\n const s = 0.1125;\n const p = 0.45;\n return atEdge(t) ? t :\n t < 0.5\n ? 0.5 * elasticIn(t * 2, s, p)\n : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p);\n },\n easeInBack(t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n },\n easeOutBack(t) {\n const s = 1.70158;\n return (t -= 1) * t * ((s + 1) * t + s) + 1;\n },\n easeInOutBack(t) {\n let s = 1.70158;\n if ((t /= 0.5) < 1) {\n return 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\n }\n return 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\n },\n easeInBounce: t => 1 - effects.easeOutBounce(1 - t),\n easeOutBounce(t) {\n const m = 7.5625;\n const d = 2.75;\n if (t < (1 / d)) {\n return m * t * t;\n }\n if (t < (2 / d)) {\n return m * (t -= (1.5 / d)) * t + 0.75;\n }\n if (t < (2.5 / d)) {\n return m * (t -= (2.25 / d)) * t + 0.9375;\n }\n return m * (t -= (2.625 / d)) * t + 0.984375;\n },\n easeInOutBounce: t => (t < 0.5)\n ? effects.easeInBounce(t * 2) * 0.5\n : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5,\n};\n\n/*!\n * @kurkle/color v0.2.1\n * https://github.com/kurkle/color#readme\n * (c) 2022 Jukka Kurkela\n * Released under the MIT License\n */\nfunction round(v) {\n return v + 0.5 | 0;\n}\nconst lim = (v, l, h) => Math.max(Math.min(v, h), l);\nfunction p2b(v) {\n return lim(round(v * 2.55), 0, 255);\n}\nfunction n2b(v) {\n return lim(round(v * 255), 0, 255);\n}\nfunction b2n(v) {\n return lim(round(v / 2.55) / 100, 0, 1);\n}\nfunction n2p(v) {\n return lim(round(v * 100), 0, 100);\n}\nconst map$1 = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15};\nconst hex = [...'0123456789ABCDEF'];\nconst h1 = b => hex[b & 0xF];\nconst h2 = b => hex[(b & 0xF0) >> 4] + hex[b & 0xF];\nconst eq = b => ((b & 0xF0) >> 4) === (b & 0xF);\nconst isShort = v => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\nfunction hexParse(str) {\n var len = str.length;\n var ret;\n if (str[0] === '#') {\n if (len === 4 || len === 5) {\n ret = {\n r: 255 & map$1[str[1]] * 17,\n g: 255 & map$1[str[2]] * 17,\n b: 255 & map$1[str[3]] * 17,\n a: len === 5 ? map$1[str[4]] * 17 : 255\n };\n } else if (len === 7 || len === 9) {\n ret = {\n r: map$1[str[1]] << 4 | map$1[str[2]],\n g: map$1[str[3]] << 4 | map$1[str[4]],\n b: map$1[str[5]] << 4 | map$1[str[6]],\n a: len === 9 ? (map$1[str[7]] << 4 | map$1[str[8]]) : 255\n };\n }\n }\n return ret;\n}\nconst alpha = (a, f) => a < 255 ? f(a) : '';\nfunction hexString(v) {\n var f = isShort(v) ? h1 : h2;\n return v\n ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f)\n : undefined;\n}\nconst HUE_RE = /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction hsl2rgbn(h, s, l) {\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return [f(0), f(8), f(4)];\n}\nfunction hsv2rgbn(h, s, v) {\n const f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n return [f(5), f(3), f(1)];\n}\nfunction hwb2rgbn(h, w, b) {\n const rgb = hsl2rgbn(h, 1, 0.5);\n let i;\n if (w + b > 1) {\n i = 1 / (w + b);\n w *= i;\n b *= i;\n }\n for (i = 0; i < 3; i++) {\n rgb[i] *= 1 - w - b;\n rgb[i] += w;\n }\n return rgb;\n}\nfunction hueValue(r, g, b, d, max) {\n if (r === max) {\n return ((g - b) / d) + (g < b ? 6 : 0);\n }\n if (g === max) {\n return (b - r) / d + 2;\n }\n return (r - g) / d + 4;\n}\nfunction rgb2hsl(v) {\n const range = 255;\n const r = v.r / range;\n const g = v.g / range;\n const b = v.b / range;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2;\n let h, s, d;\n if (max !== min) {\n d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n h = hueValue(r, g, b, d, max);\n h = h * 60 + 0.5;\n }\n return [h | 0, s || 0, l];\n}\nfunction calln(f, a, b, c) {\n return (\n Array.isArray(a)\n ? f(a[0], a[1], a[2])\n : f(a, b, c)\n ).map(n2b);\n}\nfunction hsl2rgb(h, s, l) {\n return calln(hsl2rgbn, h, s, l);\n}\nfunction hwb2rgb(h, w, b) {\n return calln(hwb2rgbn, h, w, b);\n}\nfunction hsv2rgb(h, s, v) {\n return calln(hsv2rgbn, h, s, v);\n}\nfunction hue(h) {\n return (h % 360 + 360) % 360;\n}\nfunction hueParse(str) {\n const m = HUE_RE.exec(str);\n let a = 255;\n let v;\n if (!m) {\n return;\n }\n if (m[5] !== v) {\n a = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n }\n const h = hue(+m[2]);\n const p1 = +m[3] / 100;\n const p2 = +m[4] / 100;\n if (m[1] === 'hwb') {\n v = hwb2rgb(h, p1, p2);\n } else if (m[1] === 'hsv') {\n v = hsv2rgb(h, p1, p2);\n } else {\n v = hsl2rgb(h, p1, p2);\n }\n return {\n r: v[0],\n g: v[1],\n b: v[2],\n a: a\n };\n}\nfunction rotate(v, deg) {\n var h = rgb2hsl(v);\n h[0] = hue(h[0] + deg);\n h = hsl2rgb(h);\n v.r = h[0];\n v.g = h[1];\n v.b = h[2];\n}\nfunction hslString(v) {\n if (!v) {\n return;\n }\n const a = rgb2hsl(v);\n const h = a[0];\n const s = n2p(a[1]);\n const l = n2p(a[2]);\n return v.a < 255\n ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`\n : `hsl(${h}, ${s}%, ${l}%)`;\n}\nconst map = {\n x: 'dark',\n Z: 'light',\n Y: 're',\n X: 'blu',\n W: 'gr',\n V: 'medium',\n U: 'slate',\n A: 'ee',\n T: 'ol',\n S: 'or',\n B: 'ra',\n C: 'lateg',\n D: 'ights',\n R: 'in',\n Q: 'turquois',\n E: 'hi',\n P: 'ro',\n O: 'al',\n N: 'le',\n M: 'de',\n L: 'yello',\n F: 'en',\n K: 'ch',\n G: 'arks',\n H: 'ea',\n I: 'ightg',\n J: 'wh'\n};\nconst names$1 = {\n OiceXe: 'f0f8ff',\n antiquewEte: 'faebd7',\n aqua: 'ffff',\n aquamarRe: '7fffd4',\n azuY: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '0',\n blanKedOmond: 'ffebcd',\n Xe: 'ff',\n XeviTet: '8a2be2',\n bPwn: 'a52a2a',\n burlywood: 'deb887',\n caMtXe: '5f9ea0',\n KartYuse: '7fff00',\n KocTate: 'd2691e',\n cSO: 'ff7f50',\n cSnflowerXe: '6495ed',\n cSnsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: 'ffff',\n xXe: '8b',\n xcyan: '8b8b',\n xgTMnPd: 'b8860b',\n xWay: 'a9a9a9',\n xgYF: '6400',\n xgYy: 'a9a9a9',\n xkhaki: 'bdb76b',\n xmagFta: '8b008b',\n xTivegYF: '556b2f',\n xSange: 'ff8c00',\n xScEd: '9932cc',\n xYd: '8b0000',\n xsOmon: 'e9967a',\n xsHgYF: '8fbc8f',\n xUXe: '483d8b',\n xUWay: '2f4f4f',\n xUgYy: '2f4f4f',\n xQe: 'ced1',\n xviTet: '9400d3',\n dAppRk: 'ff1493',\n dApskyXe: 'bfff',\n dimWay: '696969',\n dimgYy: '696969',\n dodgerXe: '1e90ff',\n fiYbrick: 'b22222',\n flSOwEte: 'fffaf0',\n foYstWAn: '228b22',\n fuKsia: 'ff00ff',\n gaRsbSo: 'dcdcdc',\n ghostwEte: 'f8f8ff',\n gTd: 'ffd700',\n gTMnPd: 'daa520',\n Way: '808080',\n gYF: '8000',\n gYFLw: 'adff2f',\n gYy: '808080',\n honeyMw: 'f0fff0',\n hotpRk: 'ff69b4',\n RdianYd: 'cd5c5c',\n Rdigo: '4b0082',\n ivSy: 'fffff0',\n khaki: 'f0e68c',\n lavFMr: 'e6e6fa',\n lavFMrXsh: 'fff0f5',\n lawngYF: '7cfc00',\n NmoncEffon: 'fffacd',\n ZXe: 'add8e6',\n ZcSO: 'f08080',\n Zcyan: 'e0ffff',\n ZgTMnPdLw: 'fafad2',\n ZWay: 'd3d3d3',\n ZgYF: '90ee90',\n ZgYy: 'd3d3d3',\n ZpRk: 'ffb6c1',\n ZsOmon: 'ffa07a',\n ZsHgYF: '20b2aa',\n ZskyXe: '87cefa',\n ZUWay: '778899',\n ZUgYy: '778899',\n ZstAlXe: 'b0c4de',\n ZLw: 'ffffe0',\n lime: 'ff00',\n limegYF: '32cd32',\n lRF: 'faf0e6',\n magFta: 'ff00ff',\n maPon: '800000',\n VaquamarRe: '66cdaa',\n VXe: 'cd',\n VScEd: 'ba55d3',\n VpurpN: '9370db',\n VsHgYF: '3cb371',\n VUXe: '7b68ee',\n VsprRggYF: 'fa9a',\n VQe: '48d1cc',\n VviTetYd: 'c71585',\n midnightXe: '191970',\n mRtcYam: 'f5fffa',\n mistyPse: 'ffe4e1',\n moccasR: 'ffe4b5',\n navajowEte: 'ffdead',\n navy: '80',\n Tdlace: 'fdf5e6',\n Tive: '808000',\n TivedBb: '6b8e23',\n Sange: 'ffa500',\n SangeYd: 'ff4500',\n ScEd: 'da70d6',\n pOegTMnPd: 'eee8aa',\n pOegYF: '98fb98',\n pOeQe: 'afeeee',\n pOeviTetYd: 'db7093',\n papayawEp: 'ffefd5',\n pHKpuff: 'ffdab9',\n peru: 'cd853f',\n pRk: 'ffc0cb',\n plum: 'dda0dd',\n powMrXe: 'b0e0e6',\n purpN: '800080',\n YbeccapurpN: '663399',\n Yd: 'ff0000',\n Psybrown: 'bc8f8f',\n PyOXe: '4169e1',\n saddNbPwn: '8b4513',\n sOmon: 'fa8072',\n sandybPwn: 'f4a460',\n sHgYF: '2e8b57',\n sHshell: 'fff5ee',\n siFna: 'a0522d',\n silver: 'c0c0c0',\n skyXe: '87ceeb',\n UXe: '6a5acd',\n UWay: '708090',\n UgYy: '708090',\n snow: 'fffafa',\n sprRggYF: 'ff7f',\n stAlXe: '4682b4',\n tan: 'd2b48c',\n teO: '8080',\n tEstN: 'd8bfd8',\n tomato: 'ff6347',\n Qe: '40e0d0',\n viTet: 'ee82ee',\n JHt: 'f5deb3',\n wEte: 'ffffff',\n wEtesmoke: 'f5f5f5',\n Lw: 'ffff00',\n LwgYF: '9acd32'\n};\nfunction unpack() {\n const unpacked = {};\n const keys = Object.keys(names$1);\n const tkeys = Object.keys(map);\n let i, j, k, ok, nk;\n for (i = 0; i < keys.length; i++) {\n ok = nk = keys[i];\n for (j = 0; j < tkeys.length; j++) {\n k = tkeys[j];\n nk = nk.replace(k, map[k]);\n }\n k = parseInt(names$1[ok], 16);\n unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n }\n return unpacked;\n}\nlet names;\nfunction nameParse(str) {\n if (!names) {\n names = unpack();\n names.transparent = [0, 0, 0, 0];\n }\n const a = names[str.toLowerCase()];\n return a && {\n r: a[0],\n g: a[1],\n b: a[2],\n a: a.length === 4 ? a[3] : 255\n };\n}\nconst RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction rgbParse(str) {\n const m = RGB_RE.exec(str);\n let a = 255;\n let r, g, b;\n if (!m) {\n return;\n }\n if (m[7] !== r) {\n const v = +m[7];\n a = m[8] ? p2b(v) : lim(v * 255, 0, 255);\n }\n r = +m[1];\n g = +m[3];\n b = +m[5];\n r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255));\n g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255));\n b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255));\n return {\n r: r,\n g: g,\n b: b,\n a: a\n };\n}\nfunction rgbString(v) {\n return v && (\n v.a < 255\n ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`\n : `rgb(${v.r}, ${v.g}, ${v.b})`\n );\n}\nconst to = v => v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055;\nconst from = v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\nfunction interpolate(rgb1, rgb2, t) {\n const r = from(b2n(rgb1.r));\n const g = from(b2n(rgb1.g));\n const b = from(b2n(rgb1.b));\n return {\n r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))),\n g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))),\n b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))),\n a: rgb1.a + t * (rgb2.a - rgb1.a)\n };\n}\nfunction modHSL(v, i, ratio) {\n if (v) {\n let tmp = rgb2hsl(v);\n tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1));\n tmp = hsl2rgb(tmp);\n v.r = tmp[0];\n v.g = tmp[1];\n v.b = tmp[2];\n }\n}\nfunction clone(v, proto) {\n return v ? Object.assign(proto || {}, v) : v;\n}\nfunction fromObject(input) {\n var v = {r: 0, g: 0, b: 0, a: 255};\n if (Array.isArray(input)) {\n if (input.length >= 3) {\n v = {r: input[0], g: input[1], b: input[2], a: 255};\n if (input.length > 3) {\n v.a = n2b(input[3]);\n }\n }\n } else {\n v = clone(input, {r: 0, g: 0, b: 0, a: 1});\n v.a = n2b(v.a);\n }\n return v;\n}\nfunction functionParse(str) {\n if (str.charAt(0) === 'r') {\n return rgbParse(str);\n }\n return hueParse(str);\n}\nclass Color {\n constructor(input) {\n if (input instanceof Color) {\n return input;\n }\n const type = typeof input;\n let v;\n if (type === 'object') {\n v = fromObject(input);\n } else if (type === 'string') {\n v = hexParse(input) || nameParse(input) || functionParse(input);\n }\n this._rgb = v;\n this._valid = !!v;\n }\n get valid() {\n return this._valid;\n }\n get rgb() {\n var v = clone(this._rgb);\n if (v) {\n v.a = b2n(v.a);\n }\n return v;\n }\n set rgb(obj) {\n this._rgb = fromObject(obj);\n }\n rgbString() {\n return this._valid ? rgbString(this._rgb) : undefined;\n }\n hexString() {\n return this._valid ? hexString(this._rgb) : undefined;\n }\n hslString() {\n return this._valid ? hslString(this._rgb) : undefined;\n }\n mix(color, weight) {\n if (color) {\n const c1 = this.rgb;\n const c2 = color.rgb;\n let w2;\n const p = weight === w2 ? 0.5 : weight;\n const w = 2 * p - 1;\n const a = c1.a - c2.a;\n const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n w2 = 1 - w1;\n c1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5;\n c1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5;\n c1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5;\n c1.a = p * c1.a + (1 - p) * c2.a;\n this.rgb = c1;\n }\n return this;\n }\n interpolate(color, t) {\n if (color) {\n this._rgb = interpolate(this._rgb, color._rgb, t);\n }\n return this;\n }\n clone() {\n return new Color(this.rgb);\n }\n alpha(a) {\n this._rgb.a = n2b(a);\n return this;\n }\n clearer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 - ratio;\n return this;\n }\n greyscale() {\n const rgb = this._rgb;\n const val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11);\n rgb.r = rgb.g = rgb.b = val;\n return this;\n }\n opaquer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 + ratio;\n return this;\n }\n negate() {\n const v = this._rgb;\n v.r = 255 - v.r;\n v.g = 255 - v.g;\n v.b = 255 - v.b;\n return this;\n }\n lighten(ratio) {\n modHSL(this._rgb, 2, ratio);\n return this;\n }\n darken(ratio) {\n modHSL(this._rgb, 2, -ratio);\n return this;\n }\n saturate(ratio) {\n modHSL(this._rgb, 1, ratio);\n return this;\n }\n desaturate(ratio) {\n modHSL(this._rgb, 1, -ratio);\n return this;\n }\n rotate(deg) {\n rotate(this._rgb, deg);\n return this;\n }\n}\nfunction index_esm(input) {\n return new Color(input);\n}\n\nfunction isPatternOrGradient(value) {\n if (value && typeof value === 'object') {\n const type = value.toString();\n return type === '[object CanvasPattern]' || type === '[object CanvasGradient]';\n }\n return false;\n}\nfunction color(value) {\n return isPatternOrGradient(value) ? value : index_esm(value);\n}\nfunction getHoverColor(value) {\n return isPatternOrGradient(value)\n ? value\n : index_esm(value).saturate(0.5).darken(0.1).hexString();\n}\n\nconst overrides = Object.create(null);\nconst descriptors = Object.create(null);\nfunction getScope$1(node, key) {\n if (!key) {\n return node;\n }\n const keys = key.split('.');\n for (let i = 0, n = keys.length; i < n; ++i) {\n const k = keys[i];\n node = node[k] || (node[k] = Object.create(null));\n }\n return node;\n}\nfunction set(root, scope, values) {\n if (typeof scope === 'string') {\n return merge(getScope$1(root, scope), values);\n }\n return merge(getScope$1(root, ''), scope);\n}\nclass Defaults {\n constructor(_descriptors) {\n this.animation = undefined;\n this.backgroundColor = 'rgba(0,0,0,0.1)';\n this.borderColor = 'rgba(0,0,0,0.1)';\n this.color = '#666';\n this.datasets = {};\n this.devicePixelRatio = (context) => context.chart.platform.getDevicePixelRatio();\n this.elements = {};\n this.events = [\n 'mousemove',\n 'mouseout',\n 'click',\n 'touchstart',\n 'touchmove'\n ];\n this.font = {\n family: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n size: 12,\n style: 'normal',\n lineHeight: 1.2,\n weight: null\n };\n this.hover = {};\n this.hoverBackgroundColor = (ctx, options) => getHoverColor(options.backgroundColor);\n this.hoverBorderColor = (ctx, options) => getHoverColor(options.borderColor);\n this.hoverColor = (ctx, options) => getHoverColor(options.color);\n this.indexAxis = 'x';\n this.interaction = {\n mode: 'nearest',\n intersect: true,\n includeInvisible: false\n };\n this.maintainAspectRatio = true;\n this.onHover = null;\n this.onClick = null;\n this.parsing = true;\n this.plugins = {};\n this.responsive = true;\n this.scale = undefined;\n this.scales = {};\n this.showLine = true;\n this.drawActiveElementsOnTop = true;\n this.describe(_descriptors);\n }\n set(scope, values) {\n return set(this, scope, values);\n }\n get(scope) {\n return getScope$1(this, scope);\n }\n describe(scope, values) {\n return set(descriptors, scope, values);\n }\n override(scope, values) {\n return set(overrides, scope, values);\n }\n route(scope, name, targetScope, targetName) {\n const scopeObject = getScope$1(this, scope);\n const targetScopeObject = getScope$1(this, targetScope);\n const privateName = '_' + name;\n Object.defineProperties(scopeObject, {\n [privateName]: {\n value: scopeObject[name],\n writable: true\n },\n [name]: {\n enumerable: true,\n get() {\n const local = this[privateName];\n const target = targetScopeObject[targetName];\n if (isObject(local)) {\n return Object.assign({}, target, local);\n }\n return valueOrDefault(local, target);\n },\n set(value) {\n this[privateName] = value;\n }\n }\n });\n }\n}\nvar defaults = new Defaults({\n _scriptable: (name) => !name.startsWith('on'),\n _indexable: (name) => name !== 'events',\n hover: {\n _fallback: 'interaction'\n },\n interaction: {\n _scriptable: false,\n _indexable: false,\n }\n});\n\nfunction toFontString(font) {\n if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) {\n return null;\n }\n return (font.style ? font.style + ' ' : '')\n\t\t+ (font.weight ? font.weight + ' ' : '')\n\t\t+ font.size + 'px '\n\t\t+ font.family;\n}\nfunction _measureText(ctx, data, gc, longest, string) {\n let textWidth = data[string];\n if (!textWidth) {\n textWidth = data[string] = ctx.measureText(string).width;\n gc.push(string);\n }\n if (textWidth > longest) {\n longest = textWidth;\n }\n return longest;\n}\nfunction _longestText(ctx, font, arrayOfThings, cache) {\n cache = cache || {};\n let data = cache.data = cache.data || {};\n let gc = cache.garbageCollect = cache.garbageCollect || [];\n if (cache.font !== font) {\n data = cache.data = {};\n gc = cache.garbageCollect = [];\n cache.font = font;\n }\n ctx.save();\n ctx.font = font;\n let longest = 0;\n const ilen = arrayOfThings.length;\n let i, j, jlen, thing, nestedThing;\n for (i = 0; i < ilen; i++) {\n thing = arrayOfThings[i];\n if (thing !== undefined && thing !== null && isArray(thing) !== true) {\n longest = _measureText(ctx, data, gc, longest, thing);\n } else if (isArray(thing)) {\n for (j = 0, jlen = thing.length; j < jlen; j++) {\n nestedThing = thing[j];\n if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) {\n longest = _measureText(ctx, data, gc, longest, nestedThing);\n }\n }\n }\n }\n ctx.restore();\n const gcLen = gc.length / 2;\n if (gcLen > arrayOfThings.length) {\n for (i = 0; i < gcLen; i++) {\n delete data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n return longest;\n}\nfunction _alignPixel(chart, pixel, width) {\n const devicePixelRatio = chart.currentDevicePixelRatio;\n const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0;\n return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\n}\nfunction clearCanvas(canvas, ctx) {\n ctx = ctx || canvas.getContext('2d');\n ctx.save();\n ctx.resetTransform();\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.restore();\n}\nfunction drawPoint(ctx, options, x, y) {\n drawPointLegend(ctx, options, x, y, null);\n}\nfunction drawPointLegend(ctx, options, x, y, w) {\n let type, xOffset, yOffset, size, cornerRadius, width;\n const style = options.pointStyle;\n const rotation = options.rotation;\n const radius = options.radius;\n let rad = (rotation || 0) * RAD_PER_DEG;\n if (style && typeof style === 'object') {\n type = style.toString();\n if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n ctx.save();\n ctx.translate(x, y);\n ctx.rotate(rad);\n ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n ctx.restore();\n return;\n }\n }\n if (isNaN(radius) || radius <= 0) {\n return;\n }\n ctx.beginPath();\n switch (style) {\n default:\n if (w) {\n ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU);\n } else {\n ctx.arc(x, y, radius, 0, TAU);\n }\n ctx.closePath();\n break;\n case 'triangle':\n ctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n ctx.closePath();\n break;\n case 'rectRounded':\n cornerRadius = radius * 0.516;\n size = radius - cornerRadius;\n xOffset = Math.cos(rad + QUARTER_PI) * size;\n yOffset = Math.sin(rad + QUARTER_PI) * size;\n ctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n ctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n ctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n ctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n ctx.closePath();\n break;\n case 'rect':\n if (!rotation) {\n size = Math.SQRT1_2 * radius;\n width = w ? w / 2 : size;\n ctx.rect(x - width, y - size, 2 * width, 2 * size);\n break;\n }\n rad += QUARTER_PI;\n case 'rectRot':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + yOffset, y - xOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n ctx.closePath();\n break;\n case 'crossRot':\n rad += QUARTER_PI;\n case 'cross':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'star':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n rad += QUARTER_PI;\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'line':\n xOffset = w ? w / 2 : Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n break;\n case 'dash':\n ctx.moveTo(x, y);\n ctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\n break;\n }\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n}\nfunction _isPointInArea(point, area, margin) {\n margin = margin || 0.5;\n return !area || (point && point.x > area.left - margin && point.x < area.right + margin &&\n\t\tpoint.y > area.top - margin && point.y < area.bottom + margin);\n}\nfunction clipArea(ctx, area) {\n ctx.save();\n ctx.beginPath();\n ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n ctx.clip();\n}\nfunction unclipArea(ctx) {\n ctx.restore();\n}\nfunction _steppedLineTo(ctx, previous, target, flip, mode) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n if (mode === 'middle') {\n const midpoint = (previous.x + target.x) / 2.0;\n ctx.lineTo(midpoint, previous.y);\n ctx.lineTo(midpoint, target.y);\n } else if (mode === 'after' !== !!flip) {\n ctx.lineTo(previous.x, target.y);\n } else {\n ctx.lineTo(target.x, previous.y);\n }\n ctx.lineTo(target.x, target.y);\n}\nfunction _bezierCurveTo(ctx, previous, target, flip) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n ctx.bezierCurveTo(\n flip ? previous.cp1x : previous.cp2x,\n flip ? previous.cp1y : previous.cp2y,\n flip ? target.cp2x : target.cp1x,\n flip ? target.cp2y : target.cp1y,\n target.x,\n target.y);\n}\nfunction renderText(ctx, text, x, y, font, opts = {}) {\n const lines = isArray(text) ? text : [text];\n const stroke = opts.strokeWidth > 0 && opts.strokeColor !== '';\n let i, line;\n ctx.save();\n ctx.font = font.string;\n setRenderOpts(ctx, opts);\n for (i = 0; i < lines.length; ++i) {\n line = lines[i];\n if (stroke) {\n if (opts.strokeColor) {\n ctx.strokeStyle = opts.strokeColor;\n }\n if (!isNullOrUndef(opts.strokeWidth)) {\n ctx.lineWidth = opts.strokeWidth;\n }\n ctx.strokeText(line, x, y, opts.maxWidth);\n }\n ctx.fillText(line, x, y, opts.maxWidth);\n decorateText(ctx, x, y, line, opts);\n y += font.lineHeight;\n }\n ctx.restore();\n}\nfunction setRenderOpts(ctx, opts) {\n if (opts.translation) {\n ctx.translate(opts.translation[0], opts.translation[1]);\n }\n if (!isNullOrUndef(opts.rotation)) {\n ctx.rotate(opts.rotation);\n }\n if (opts.color) {\n ctx.fillStyle = opts.color;\n }\n if (opts.textAlign) {\n ctx.textAlign = opts.textAlign;\n }\n if (opts.textBaseline) {\n ctx.textBaseline = opts.textBaseline;\n }\n}\nfunction decorateText(ctx, x, y, line, opts) {\n if (opts.strikethrough || opts.underline) {\n const metrics = ctx.measureText(line);\n const left = x - metrics.actualBoundingBoxLeft;\n const right = x + metrics.actualBoundingBoxRight;\n const top = y - metrics.actualBoundingBoxAscent;\n const bottom = y + metrics.actualBoundingBoxDescent;\n const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom;\n ctx.strokeStyle = ctx.fillStyle;\n ctx.beginPath();\n ctx.lineWidth = opts.decorationWidth || 2;\n ctx.moveTo(left, yDecoration);\n ctx.lineTo(right, yDecoration);\n ctx.stroke();\n }\n}\nfunction addRoundedRectPath(ctx, rect) {\n const {x, y, w, h, radius} = rect;\n ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, -HALF_PI, PI, true);\n ctx.lineTo(x, y + h - radius.bottomLeft);\n ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true);\n ctx.lineTo(x + w - radius.bottomRight, y + h);\n ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true);\n ctx.lineTo(x + w, y + radius.topRight);\n ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true);\n ctx.lineTo(x + radius.topLeft, y);\n}\n\nconst LINE_HEIGHT = new RegExp(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\nconst FONT_STYLE = new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/);\nfunction toLineHeight(value, size) {\n const matches = ('' + value).match(LINE_HEIGHT);\n if (!matches || matches[1] === 'normal') {\n return size * 1.2;\n }\n value = +matches[2];\n switch (matches[3]) {\n case 'px':\n return value;\n case '%':\n value /= 100;\n break;\n }\n return size * value;\n}\nconst numberOrZero = v => +v || 0;\nfunction _readValueToProps(value, props) {\n const ret = {};\n const objProps = isObject(props);\n const keys = objProps ? Object.keys(props) : props;\n const read = isObject(value)\n ? objProps\n ? prop => valueOrDefault(value[prop], value[props[prop]])\n : prop => value[prop]\n : () => value;\n for (const prop of keys) {\n ret[prop] = numberOrZero(read(prop));\n }\n return ret;\n}\nfunction toTRBL(value) {\n return _readValueToProps(value, {top: 'y', right: 'x', bottom: 'y', left: 'x'});\n}\nfunction toTRBLCorners(value) {\n return _readValueToProps(value, ['topLeft', 'topRight', 'bottomLeft', 'bottomRight']);\n}\nfunction toPadding(value) {\n const obj = toTRBL(value);\n obj.width = obj.left + obj.right;\n obj.height = obj.top + obj.bottom;\n return obj;\n}\nfunction toFont(options, fallback) {\n options = options || {};\n fallback = fallback || defaults.font;\n let size = valueOrDefault(options.size, fallback.size);\n if (typeof size === 'string') {\n size = parseInt(size, 10);\n }\n let style = valueOrDefault(options.style, fallback.style);\n if (style && !('' + style).match(FONT_STYLE)) {\n console.warn('Invalid font style specified: \"' + style + '\"');\n style = '';\n }\n const font = {\n family: valueOrDefault(options.family, fallback.family),\n lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size),\n size,\n style,\n weight: valueOrDefault(options.weight, fallback.weight),\n string: ''\n };\n font.string = toFontString(font);\n return font;\n}\nfunction resolve(inputs, context, index, info) {\n let cacheable = true;\n let i, ilen, value;\n for (i = 0, ilen = inputs.length; i < ilen; ++i) {\n value = inputs[i];\n if (value === undefined) {\n continue;\n }\n if (context !== undefined && typeof value === 'function') {\n value = value(context);\n cacheable = false;\n }\n if (index !== undefined && isArray(value)) {\n value = value[index % value.length];\n cacheable = false;\n }\n if (value !== undefined) {\n if (info && !cacheable) {\n info.cacheable = false;\n }\n return value;\n }\n }\n}\nfunction _addGrace(minmax, grace, beginAtZero) {\n const {min, max} = minmax;\n const change = toDimension(grace, (max - min) / 2);\n const keepZero = (value, add) => beginAtZero && value === 0 ? 0 : value + add;\n return {\n min: keepZero(min, -Math.abs(change)),\n max: keepZero(max, change)\n };\n}\nfunction createContext(parentContext, context) {\n return Object.assign(Object.create(parentContext), context);\n}\n\nfunction _createResolver(scopes, prefixes = [''], rootScopes = scopes, fallback, getTarget = () => scopes[0]) {\n if (!defined(fallback)) {\n fallback = _resolve('_fallback', scopes);\n }\n const cache = {\n [Symbol.toStringTag]: 'Object',\n _cacheable: true,\n _scopes: scopes,\n _rootScopes: rootScopes,\n _fallback: fallback,\n _getTarget: getTarget,\n override: (scope) => _createResolver([scope, ...scopes], prefixes, rootScopes, fallback),\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete target._keys;\n delete scopes[0][prop];\n return true;\n },\n get(target, prop) {\n return _cached(target, prop,\n () => _resolveWithPrefixes(prop, prefixes, scopes, target));\n },\n getOwnPropertyDescriptor(target, prop) {\n return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(scopes[0]);\n },\n has(target, prop) {\n return getKeysFromAllScopes(target).includes(prop);\n },\n ownKeys(target) {\n return getKeysFromAllScopes(target);\n },\n set(target, prop, value) {\n const storage = target._storage || (target._storage = getTarget());\n target[prop] = storage[prop] = value;\n delete target._keys;\n return true;\n }\n });\n}\nfunction _attachContext(proxy, context, subProxy, descriptorDefaults) {\n const cache = {\n _cacheable: false,\n _proxy: proxy,\n _context: context,\n _subProxy: subProxy,\n _stack: new Set(),\n _descriptors: _descriptors(proxy, descriptorDefaults),\n setContext: (ctx) => _attachContext(proxy, ctx, subProxy, descriptorDefaults),\n override: (scope) => _attachContext(proxy.override(scope), context, subProxy, descriptorDefaults)\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete proxy[prop];\n return true;\n },\n get(target, prop, receiver) {\n return _cached(target, prop,\n () => _resolveWithContext(target, prop, receiver));\n },\n getOwnPropertyDescriptor(target, prop) {\n return target._descriptors.allKeys\n ? Reflect.has(proxy, prop) ? {enumerable: true, configurable: true} : undefined\n : Reflect.getOwnPropertyDescriptor(proxy, prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(proxy);\n },\n has(target, prop) {\n return Reflect.has(proxy, prop);\n },\n ownKeys() {\n return Reflect.ownKeys(proxy);\n },\n set(target, prop, value) {\n proxy[prop] = value;\n delete target[prop];\n return true;\n }\n });\n}\nfunction _descriptors(proxy, defaults = {scriptable: true, indexable: true}) {\n const {_scriptable = defaults.scriptable, _indexable = defaults.indexable, _allKeys = defaults.allKeys} = proxy;\n return {\n allKeys: _allKeys,\n scriptable: _scriptable,\n indexable: _indexable,\n isScriptable: isFunction(_scriptable) ? _scriptable : () => _scriptable,\n isIndexable: isFunction(_indexable) ? _indexable : () => _indexable\n };\n}\nconst readKey = (prefix, name) => prefix ? prefix + _capitalize(name) : name;\nconst needsSubResolver = (prop, value) => isObject(value) && prop !== 'adapters' &&\n (Object.getPrototypeOf(value) === null || value.constructor === Object);\nfunction _cached(target, prop, resolve) {\n if (Object.prototype.hasOwnProperty.call(target, prop)) {\n return target[prop];\n }\n const value = resolve();\n target[prop] = value;\n return value;\n}\nfunction _resolveWithContext(target, prop, receiver) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n let value = _proxy[prop];\n if (isFunction(value) && descriptors.isScriptable(prop)) {\n value = _resolveScriptable(prop, value, target, receiver);\n }\n if (isArray(value) && value.length) {\n value = _resolveArray(prop, value, target, descriptors.isIndexable);\n }\n if (needsSubResolver(prop, value)) {\n value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors);\n }\n return value;\n}\nfunction _resolveScriptable(prop, value, target, receiver) {\n const {_proxy, _context, _subProxy, _stack} = target;\n if (_stack.has(prop)) {\n throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop);\n }\n _stack.add(prop);\n value = value(_context, _subProxy || receiver);\n _stack.delete(prop);\n if (needsSubResolver(prop, value)) {\n value = createSubResolver(_proxy._scopes, _proxy, prop, value);\n }\n return value;\n}\nfunction _resolveArray(prop, value, target, isIndexable) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n if (defined(_context.index) && isIndexable(prop)) {\n value = value[_context.index % value.length];\n } else if (isObject(value[0])) {\n const arr = value;\n const scopes = _proxy._scopes.filter(s => s !== arr);\n value = [];\n for (const item of arr) {\n const resolver = createSubResolver(scopes, _proxy, prop, item);\n value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors));\n }\n }\n return value;\n}\nfunction resolveFallback(fallback, prop, value) {\n return isFunction(fallback) ? fallback(prop, value) : fallback;\n}\nconst getScope = (key, parent) => key === true ? parent\n : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined;\nfunction addScopes(set, parentScopes, key, parentFallback, value) {\n for (const parent of parentScopes) {\n const scope = getScope(key, parent);\n if (scope) {\n set.add(scope);\n const fallback = resolveFallback(scope._fallback, key, value);\n if (defined(fallback) && fallback !== key && fallback !== parentFallback) {\n return fallback;\n }\n } else if (scope === false && defined(parentFallback) && key !== parentFallback) {\n return null;\n }\n }\n return false;\n}\nfunction createSubResolver(parentScopes, resolver, prop, value) {\n const rootScopes = resolver._rootScopes;\n const fallback = resolveFallback(resolver._fallback, prop, value);\n const allScopes = [...parentScopes, ...rootScopes];\n const set = new Set();\n set.add(value);\n let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value);\n if (key === null) {\n return false;\n }\n if (defined(fallback) && fallback !== prop) {\n key = addScopesFromKey(set, allScopes, fallback, key, value);\n if (key === null) {\n return false;\n }\n }\n return _createResolver(Array.from(set), [''], rootScopes, fallback,\n () => subGetTarget(resolver, prop, value));\n}\nfunction addScopesFromKey(set, allScopes, key, fallback, item) {\n while (key) {\n key = addScopes(set, allScopes, key, fallback, item);\n }\n return key;\n}\nfunction subGetTarget(resolver, prop, value) {\n const parent = resolver._getTarget();\n if (!(prop in parent)) {\n parent[prop] = {};\n }\n const target = parent[prop];\n if (isArray(target) && isObject(value)) {\n return value;\n }\n return target;\n}\nfunction _resolveWithPrefixes(prop, prefixes, scopes, proxy) {\n let value;\n for (const prefix of prefixes) {\n value = _resolve(readKey(prefix, prop), scopes);\n if (defined(value)) {\n return needsSubResolver(prop, value)\n ? createSubResolver(scopes, proxy, prop, value)\n : value;\n }\n }\n}\nfunction _resolve(key, scopes) {\n for (const scope of scopes) {\n if (!scope) {\n continue;\n }\n const value = scope[key];\n if (defined(value)) {\n return value;\n }\n }\n}\nfunction getKeysFromAllScopes(target) {\n let keys = target._keys;\n if (!keys) {\n keys = target._keys = resolveKeysFromAllScopes(target._scopes);\n }\n return keys;\n}\nfunction resolveKeysFromAllScopes(scopes) {\n const set = new Set();\n for (const scope of scopes) {\n for (const key of Object.keys(scope).filter(k => !k.startsWith('_'))) {\n set.add(key);\n }\n }\n return Array.from(set);\n}\nfunction _parseObjectDataRadialScale(meta, data, start, count) {\n const {iScale} = meta;\n const {key = 'r'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n r: iScale.parse(resolveObjectKey(item, key), index)\n };\n }\n return parsed;\n}\n\nconst EPSILON = Number.EPSILON || 1e-14;\nconst getPoint = (points, i) => i < points.length && !points[i].skip && points[i];\nconst getValueAxis = (indexAxis) => indexAxis === 'x' ? 'y' : 'x';\nfunction splineCurve(firstPoint, middlePoint, afterPoint, t) {\n const previous = firstPoint.skip ? middlePoint : firstPoint;\n const current = middlePoint;\n const next = afterPoint.skip ? middlePoint : afterPoint;\n const d01 = distanceBetweenPoints(current, previous);\n const d12 = distanceBetweenPoints(next, current);\n let s01 = d01 / (d01 + d12);\n let s12 = d12 / (d01 + d12);\n s01 = isNaN(s01) ? 0 : s01;\n s12 = isNaN(s12) ? 0 : s12;\n const fa = t * s01;\n const fb = t * s12;\n return {\n previous: {\n x: current.x - fa * (next.x - previous.x),\n y: current.y - fa * (next.y - previous.y)\n },\n next: {\n x: current.x + fb * (next.x - previous.x),\n y: current.y + fb * (next.y - previous.y)\n }\n };\n}\nfunction monotoneAdjust(points, deltaK, mK) {\n const pointsLen = points.length;\n let alphaK, betaK, tauK, squaredMagnitude, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen - 1; ++i) {\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent || !pointAfter) {\n continue;\n }\n if (almostEquals(deltaK[i], 0, EPSILON)) {\n mK[i] = mK[i + 1] = 0;\n continue;\n }\n alphaK = mK[i] / deltaK[i];\n betaK = mK[i + 1] / deltaK[i];\n squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n if (squaredMagnitude <= 9) {\n continue;\n }\n tauK = 3 / Math.sqrt(squaredMagnitude);\n mK[i] = alphaK * tauK * deltaK[i];\n mK[i + 1] = betaK * tauK * deltaK[i];\n }\n}\nfunction monotoneCompute(points, mK, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n let delta, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n const iPixel = pointCurrent[indexAxis];\n const vPixel = pointCurrent[valueAxis];\n if (pointBefore) {\n delta = (iPixel - pointBefore[indexAxis]) / 3;\n pointCurrent[`cp1${indexAxis}`] = iPixel - delta;\n pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];\n }\n if (pointAfter) {\n delta = (pointAfter[indexAxis] - iPixel) / 3;\n pointCurrent[`cp2${indexAxis}`] = iPixel + delta;\n pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];\n }\n }\n}\nfunction splineCurveMonotone(points, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n const deltaK = Array(pointsLen).fill(0);\n const mK = Array(pointsLen);\n let i, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n if (pointAfter) {\n const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];\n deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;\n }\n mK[i] = !pointBefore ? deltaK[i]\n : !pointAfter ? deltaK[i - 1]\n : (sign(deltaK[i - 1]) !== sign(deltaK[i])) ? 0\n : (deltaK[i - 1] + deltaK[i]) / 2;\n }\n monotoneAdjust(points, deltaK, mK);\n monotoneCompute(points, mK, indexAxis);\n}\nfunction capControlPoint(pt, min, max) {\n return Math.max(Math.min(pt, max), min);\n}\nfunction capBezierPoints(points, area) {\n let i, ilen, point, inArea, inAreaPrev;\n let inAreaNext = _isPointInArea(points[0], area);\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n inAreaPrev = inArea;\n inArea = inAreaNext;\n inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);\n if (!inArea) {\n continue;\n }\n point = points[i];\n if (inAreaPrev) {\n point.cp1x = capControlPoint(point.cp1x, area.left, area.right);\n point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);\n }\n if (inAreaNext) {\n point.cp2x = capControlPoint(point.cp2x, area.left, area.right);\n point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);\n }\n }\n}\nfunction _updateBezierControlPoints(points, options, area, loop, indexAxis) {\n let i, ilen, point, controlPoints;\n if (options.spanGaps) {\n points = points.filter((pt) => !pt.skip);\n }\n if (options.cubicInterpolationMode === 'monotone') {\n splineCurveMonotone(points, indexAxis);\n } else {\n let prev = loop ? points[points.length - 1] : points[0];\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n point = points[i];\n controlPoints = splineCurve(\n prev,\n point,\n points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen],\n options.tension\n );\n point.cp1x = controlPoints.previous.x;\n point.cp1y = controlPoints.previous.y;\n point.cp2x = controlPoints.next.x;\n point.cp2y = controlPoints.next.y;\n prev = point;\n }\n }\n if (options.capBezierPoints) {\n capBezierPoints(points, area);\n }\n}\n\nfunction _isDomSupported() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\nfunction _getParentNode(domNode) {\n let parent = domNode.parentNode;\n if (parent && parent.toString() === '[object ShadowRoot]') {\n parent = parent.host;\n }\n return parent;\n}\nfunction parseMaxStyle(styleValue, node, parentProperty) {\n let valueInPixels;\n if (typeof styleValue === 'string') {\n valueInPixels = parseInt(styleValue, 10);\n if (styleValue.indexOf('%') !== -1) {\n valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n }\n } else {\n valueInPixels = styleValue;\n }\n return valueInPixels;\n}\nconst getComputedStyle = (element) => window.getComputedStyle(element, null);\nfunction getStyle(el, property) {\n return getComputedStyle(el).getPropertyValue(property);\n}\nconst positions = ['top', 'right', 'bottom', 'left'];\nfunction getPositionedStyle(styles, style, suffix) {\n const result = {};\n suffix = suffix ? '-' + suffix : '';\n for (let i = 0; i < 4; i++) {\n const pos = positions[i];\n result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0;\n }\n result.width = result.left + result.right;\n result.height = result.top + result.bottom;\n return result;\n}\nconst useOffsetPos = (x, y, target) => (x > 0 || y > 0) && (!target || !target.shadowRoot);\nfunction getCanvasPosition(e, canvas) {\n const touches = e.touches;\n const source = touches && touches.length ? touches[0] : e;\n const {offsetX, offsetY} = source;\n let box = false;\n let x, y;\n if (useOffsetPos(offsetX, offsetY, e.target)) {\n x = offsetX;\n y = offsetY;\n } else {\n const rect = canvas.getBoundingClientRect();\n x = source.clientX - rect.left;\n y = source.clientY - rect.top;\n box = true;\n }\n return {x, y, box};\n}\nfunction getRelativePosition(evt, chart) {\n if ('native' in evt) {\n return evt;\n }\n const {canvas, currentDevicePixelRatio} = chart;\n const style = getComputedStyle(canvas);\n const borderBox = style.boxSizing === 'border-box';\n const paddings = getPositionedStyle(style, 'padding');\n const borders = getPositionedStyle(style, 'border', 'width');\n const {x, y, box} = getCanvasPosition(evt, canvas);\n const xOffset = paddings.left + (box && borders.left);\n const yOffset = paddings.top + (box && borders.top);\n let {width, height} = chart;\n if (borderBox) {\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n return {\n x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio),\n y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio)\n };\n}\nfunction getContainerSize(canvas, width, height) {\n let maxWidth, maxHeight;\n if (width === undefined || height === undefined) {\n const container = _getParentNode(canvas);\n if (!container) {\n width = canvas.clientWidth;\n height = canvas.clientHeight;\n } else {\n const rect = container.getBoundingClientRect();\n const containerStyle = getComputedStyle(container);\n const containerBorder = getPositionedStyle(containerStyle, 'border', 'width');\n const containerPadding = getPositionedStyle(containerStyle, 'padding');\n width = rect.width - containerPadding.width - containerBorder.width;\n height = rect.height - containerPadding.height - containerBorder.height;\n maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth');\n maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight');\n }\n }\n return {\n width,\n height,\n maxWidth: maxWidth || INFINITY,\n maxHeight: maxHeight || INFINITY\n };\n}\nconst round1 = v => Math.round(v * 10) / 10;\nfunction getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) {\n const style = getComputedStyle(canvas);\n const margins = getPositionedStyle(style, 'margin');\n const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY;\n const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY;\n const containerSize = getContainerSize(canvas, bbWidth, bbHeight);\n let {width, height} = containerSize;\n if (style.boxSizing === 'content-box') {\n const borders = getPositionedStyle(style, 'border', 'width');\n const paddings = getPositionedStyle(style, 'padding');\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n width = Math.max(0, width - margins.width);\n height = Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height - margins.height);\n width = round1(Math.min(width, maxWidth, containerSize.maxWidth));\n height = round1(Math.min(height, maxHeight, containerSize.maxHeight));\n if (width && !height) {\n height = round1(width / 2);\n }\n return {\n width,\n height\n };\n}\nfunction retinaScale(chart, forceRatio, forceStyle) {\n const pixelRatio = forceRatio || 1;\n const deviceHeight = Math.floor(chart.height * pixelRatio);\n const deviceWidth = Math.floor(chart.width * pixelRatio);\n chart.height = deviceHeight / pixelRatio;\n chart.width = deviceWidth / pixelRatio;\n const canvas = chart.canvas;\n if (canvas.style && (forceStyle || (!canvas.style.height && !canvas.style.width))) {\n canvas.style.height = `${chart.height}px`;\n canvas.style.width = `${chart.width}px`;\n }\n if (chart.currentDevicePixelRatio !== pixelRatio\n || canvas.height !== deviceHeight\n || canvas.width !== deviceWidth) {\n chart.currentDevicePixelRatio = pixelRatio;\n canvas.height = deviceHeight;\n canvas.width = deviceWidth;\n chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n return true;\n }\n return false;\n}\nconst supportsEventListenerOptions = (function() {\n let passiveSupported = false;\n try {\n const options = {\n get passive() {\n passiveSupported = true;\n return false;\n }\n };\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {\n }\n return passiveSupported;\n}());\nfunction readUsedSize(element, property) {\n const value = getStyle(element, property);\n const matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n return matches ? +matches[1] : undefined;\n}\n\nfunction _pointInLine(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: p1.y + t * (p2.y - p1.y)\n };\n}\nfunction _steppedInterpolation(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y\n : mode === 'after' ? t < 1 ? p1.y : p2.y\n : t > 0 ? p2.y : p1.y\n };\n}\nfunction _bezierInterpolation(p1, p2, t, mode) {\n const cp1 = {x: p1.cp2x, y: p1.cp2y};\n const cp2 = {x: p2.cp1x, y: p2.cp1y};\n const a = _pointInLine(p1, cp1, t);\n const b = _pointInLine(cp1, cp2, t);\n const c = _pointInLine(cp2, p2, t);\n const d = _pointInLine(a, b, t);\n const e = _pointInLine(b, c, t);\n return _pointInLine(d, e, t);\n}\n\nconst intlCache = new Map();\nfunction getNumberFormat(locale, options) {\n options = options || {};\n const cacheKey = locale + JSON.stringify(options);\n let formatter = intlCache.get(cacheKey);\n if (!formatter) {\n formatter = new Intl.NumberFormat(locale, options);\n intlCache.set(cacheKey, formatter);\n }\n return formatter;\n}\nfunction formatNumber(num, locale, options) {\n return getNumberFormat(locale, options).format(num);\n}\n\nconst getRightToLeftAdapter = function(rectX, width) {\n return {\n x(x) {\n return rectX + rectX + width - x;\n },\n setWidth(w) {\n width = w;\n },\n textAlign(align) {\n if (align === 'center') {\n return align;\n }\n return align === 'right' ? 'left' : 'right';\n },\n xPlus(x, value) {\n return x - value;\n },\n leftForLtr(x, itemWidth) {\n return x - itemWidth;\n },\n };\n};\nconst getLeftToRightAdapter = function() {\n return {\n x(x) {\n return x;\n },\n setWidth(w) {\n },\n textAlign(align) {\n return align;\n },\n xPlus(x, value) {\n return x + value;\n },\n leftForLtr(x, _itemWidth) {\n return x;\n },\n };\n};\nfunction getRtlAdapter(rtl, rectX, width) {\n return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter();\n}\nfunction overrideTextDirection(ctx, direction) {\n let style, original;\n if (direction === 'ltr' || direction === 'rtl') {\n style = ctx.canvas.style;\n original = [\n style.getPropertyValue('direction'),\n style.getPropertyPriority('direction'),\n ];\n style.setProperty('direction', direction, 'important');\n ctx.prevTextDirection = original;\n }\n}\nfunction restoreTextDirection(ctx, original) {\n if (original !== undefined) {\n delete ctx.prevTextDirection;\n ctx.canvas.style.setProperty('direction', original[0], original[1]);\n }\n}\n\nfunction propertyFn(property) {\n if (property === 'angle') {\n return {\n between: _angleBetween,\n compare: _angleDiff,\n normalize: _normalizeAngle,\n };\n }\n return {\n between: _isBetween,\n compare: (a, b) => a - b,\n normalize: x => x\n };\n}\nfunction normalizeSegment({start, end, count, loop, style}) {\n return {\n start: start % count,\n end: end % count,\n loop: loop && (end - start + 1) % count === 0,\n style\n };\n}\nfunction getSegment(segment, points, bounds) {\n const {property, start: startBound, end: endBound} = bounds;\n const {between, normalize} = propertyFn(property);\n const count = points.length;\n let {start, end, loop} = segment;\n let i, ilen;\n if (loop) {\n start += count;\n end += count;\n for (i = 0, ilen = count; i < ilen; ++i) {\n if (!between(normalize(points[start % count][property]), startBound, endBound)) {\n break;\n }\n start--;\n end--;\n }\n start %= count;\n end %= count;\n }\n if (end < start) {\n end += count;\n }\n return {start, end, loop, style: segment.style};\n}\nfunction _boundSegment(segment, points, bounds) {\n if (!bounds) {\n return [segment];\n }\n const {property, start: startBound, end: endBound} = bounds;\n const count = points.length;\n const {compare, between, normalize} = propertyFn(property);\n const {start, end, loop, style} = getSegment(segment, points, bounds);\n const result = [];\n let inside = false;\n let subStart = null;\n let value, point, prevValue;\n const startIsBefore = () => between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0;\n const endIsBefore = () => compare(endBound, value) === 0 || between(endBound, prevValue, value);\n const shouldStart = () => inside || startIsBefore();\n const shouldStop = () => !inside || endIsBefore();\n for (let i = start, prev = start; i <= end; ++i) {\n point = points[i % count];\n if (point.skip) {\n continue;\n }\n value = normalize(point[property]);\n if (value === prevValue) {\n continue;\n }\n inside = between(value, startBound, endBound);\n if (subStart === null && shouldStart()) {\n subStart = compare(value, startBound) === 0 ? i : prev;\n }\n if (subStart !== null && shouldStop()) {\n result.push(normalizeSegment({start: subStart, end: i, loop, count, style}));\n subStart = null;\n }\n prev = i;\n prevValue = value;\n }\n if (subStart !== null) {\n result.push(normalizeSegment({start: subStart, end, loop, count, style}));\n }\n return result;\n}\nfunction _boundSegments(line, bounds) {\n const result = [];\n const segments = line.segments;\n for (let i = 0; i < segments.length; i++) {\n const sub = _boundSegment(segments[i], line.points, bounds);\n if (sub.length) {\n result.push(...sub);\n }\n }\n return result;\n}\nfunction findStartAndEnd(points, count, loop, spanGaps) {\n let start = 0;\n let end = count - 1;\n if (loop && !spanGaps) {\n while (start < count && !points[start].skip) {\n start++;\n }\n }\n while (start < count && points[start].skip) {\n start++;\n }\n start %= count;\n if (loop) {\n end += start;\n }\n while (end > start && points[end % count].skip) {\n end--;\n }\n end %= count;\n return {start, end};\n}\nfunction solidSegments(points, start, max, loop) {\n const count = points.length;\n const result = [];\n let last = start;\n let prev = points[start];\n let end;\n for (end = start + 1; end <= max; ++end) {\n const cur = points[end % count];\n if (cur.skip || cur.stop) {\n if (!prev.skip) {\n loop = false;\n result.push({start: start % count, end: (end - 1) % count, loop});\n start = last = cur.stop ? end : null;\n }\n } else {\n last = end;\n if (prev.skip) {\n start = end;\n }\n }\n prev = cur;\n }\n if (last !== null) {\n result.push({start: start % count, end: last % count, loop});\n }\n return result;\n}\nfunction _computeSegments(line, segmentOptions) {\n const points = line.points;\n const spanGaps = line.options.spanGaps;\n const count = points.length;\n if (!count) {\n return [];\n }\n const loop = !!line._loop;\n const {start, end} = findStartAndEnd(points, count, loop, spanGaps);\n if (spanGaps === true) {\n return splitByStyles(line, [{start, end, loop}], points, segmentOptions);\n }\n const max = end < start ? end + count : end;\n const completeLoop = !!line._fullLoop && start === 0 && end === count - 1;\n return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions);\n}\nfunction splitByStyles(line, segments, points, segmentOptions) {\n if (!segmentOptions || !segmentOptions.setContext || !points) {\n return segments;\n }\n return doSplitByStyles(line, segments, points, segmentOptions);\n}\nfunction doSplitByStyles(line, segments, points, segmentOptions) {\n const chartContext = line._chart.getContext();\n const baseStyle = readStyle(line.options);\n const {_datasetIndex: datasetIndex, options: {spanGaps}} = line;\n const count = points.length;\n const result = [];\n let prevStyle = baseStyle;\n let start = segments[0].start;\n let i = start;\n function addStyle(s, e, l, st) {\n const dir = spanGaps ? -1 : 1;\n if (s === e) {\n return;\n }\n s += count;\n while (points[s % count].skip) {\n s -= dir;\n }\n while (points[e % count].skip) {\n e += dir;\n }\n if (s % count !== e % count) {\n result.push({start: s % count, end: e % count, loop: l, style: st});\n prevStyle = st;\n start = e % count;\n }\n }\n for (const segment of segments) {\n start = spanGaps ? start : segment.start;\n let prev = points[start % count];\n let style;\n for (i = start + 1; i <= segment.end; i++) {\n const pt = points[i % count];\n style = readStyle(segmentOptions.setContext(createContext(chartContext, {\n type: 'segment',\n p0: prev,\n p1: pt,\n p0DataIndex: (i - 1) % count,\n p1DataIndex: i % count,\n datasetIndex\n })));\n if (styleChanged(style, prevStyle)) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n prev = pt;\n prevStyle = style;\n }\n if (start < i - 1) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n }\n return result;\n}\nfunction readStyle(options) {\n return {\n backgroundColor: options.backgroundColor,\n borderCapStyle: options.borderCapStyle,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderJoinStyle: options.borderJoinStyle,\n borderWidth: options.borderWidth,\n borderColor: options.borderColor\n };\n}\nfunction styleChanged(style, prevStyle) {\n return prevStyle && JSON.stringify(style) !== JSON.stringify(prevStyle);\n}\n\nexport { _isPointInArea as $, _factorize as A, finiteOrDefault as B, callback as C, _addGrace as D, _limitValue as E, toDegrees as F, _measureText as G, HALF_PI as H, _int16Range as I, _alignPixel as J, toPadding as K, clipArea as L, renderText as M, unclipArea as N, toFont as O, PI as P, each as Q, _toLeftRightCenter as R, _alignStartEnd as S, TAU as T, overrides as U, merge as V, _capitalize as W, getRelativePosition as X, _rlookupByKey as Y, _lookupByKey as Z, _arrayUnique as _, resolve as a, toLineHeight as a$, getAngleFromPoint as a0, getMaximumSize as a1, _getParentNode as a2, readUsedSize as a3, throttled as a4, supportsEventListenerOptions as a5, _isDomSupported as a6, descriptors as a7, isFunction as a8, _attachContext as a9, getRtlAdapter as aA, overrideTextDirection as aB, _textX as aC, restoreTextDirection as aD, drawPointLegend as aE, noop as aF, distanceBetweenPoints as aG, _setMinAndMaxByKey as aH, niceNum as aI, almostWhole as aJ, almostEquals as aK, _decimalPlaces as aL, _longestText as aM, _filterBetween as aN, _lookup as aO, isPatternOrGradient as aP, getHoverColor as aQ, clone$1 as aR, _merger as aS, _mergerIf as aT, _deprecated as aU, _splitKey as aV, toFontString as aW, splineCurve as aX, splineCurveMonotone as aY, getStyle as aZ, fontString as a_, _createResolver as aa, _descriptors as ab, mergeIf as ac, uid as ad, debounce as ae, retinaScale as af, clearCanvas as ag, setsEqual as ah, _elementsEqual as ai, _isClickEvent as aj, _isBetween as ak, _readValueToProps as al, _updateBezierControlPoints as am, _computeSegments as an, _boundSegments as ao, _steppedInterpolation as ap, _bezierInterpolation as aq, _pointInLine as ar, _steppedLineTo as as, _bezierCurveTo as at, drawPoint as au, addRoundedRectPath as av, toTRBL as aw, toTRBLCorners as ax, _boundSegment as ay, _normalizeAngle as az, isArray as b, PITAU as b0, INFINITY as b1, RAD_PER_DEG as b2, QUARTER_PI as b3, TWO_THIRDS_PI as b4, _angleDiff as b5, color as c, defaults as d, effects as e, resolveObjectKey as f, isNumberFinite as g, createContext as h, isObject as i, defined as j, isNullOrUndef as k, listenArrayEvents as l, toPercentage as m, toDimension as n, formatNumber as o, _angleBetween as p, _getStartAndCountOfVisiblePoints as q, requestAnimFrame as r, sign as s, toRadians as t, unlistenArrayEvents as u, valueOrDefault as v, _scaleRangesChanged as w, isNumber as x, _parseObjectDataRadialScale as y, log10 as z };\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import PropTypes from 'prop-types'; // https://github.com/twbs/bootstrap/blob/v4.0.0-alpha.4/js/src/modal.js#L436-L443\n\nexport function getScrollbarWidth() {\n var scrollDiv = document.createElement('div'); // .modal-scrollbar-measure styles // https://github.com/twbs/bootstrap/blob/v4.0.0-alpha.4/scss/_modal.scss#L106-L113\n\n scrollDiv.style.position = 'absolute';\n scrollDiv.style.top = '-9999px';\n scrollDiv.style.width = '50px';\n scrollDiv.style.height = '50px';\n scrollDiv.style.overflow = 'scroll';\n document.body.appendChild(scrollDiv);\n var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n}\nexport function setScrollbarWidth(padding) {\n document.body.style.paddingRight = padding > 0 ? padding + \"px\" : null;\n}\nexport function isBodyOverflowing() {\n return document.body.clientWidth < window.innerWidth;\n}\nexport function getOriginalBodyPadding() {\n var style = window.getComputedStyle(document.body, null);\n return parseInt(style && style.getPropertyValue('padding-right') || 0, 10);\n}\nexport function conditionallyUpdateScrollbar() {\n var scrollbarWidth = getScrollbarWidth(); // https://github.com/twbs/bootstrap/blob/v4.0.0-alpha.6/js/src/modal.js#L433\n\n var fixedContent = document.querySelectorAll('.fixed-top, .fixed-bottom, .is-fixed, .sticky-top')[0];\n var bodyPadding = fixedContent ? parseInt(fixedContent.style.paddingRight || 0, 10) : 0;\n\n if (isBodyOverflowing()) {\n setScrollbarWidth(bodyPadding + scrollbarWidth);\n }\n}\nvar globalCssModule;\nexport function setGlobalCssModule(cssModule) {\n globalCssModule = cssModule;\n}\nexport function mapToCssModules(className, cssModule) {\n if (className === void 0) {\n className = '';\n }\n\n if (cssModule === void 0) {\n cssModule = globalCssModule;\n }\n\n if (!cssModule) return className;\n return className.split(' ').map(function (c) {\n return cssModule[c] || c;\n }).join(' ');\n}\n/**\n * Returns a new object with the key/value pairs from `obj` that are not in the array `omitKeys`.\n */\n\nexport function omit(obj, omitKeys) {\n var result = {};\n Object.keys(obj).forEach(function (key) {\n if (omitKeys.indexOf(key) === -1) {\n result[key] = obj[key];\n }\n });\n return result;\n}\n/**\n * Returns a filtered copy of an object with only the specified keys.\n */\n\nexport function pick(obj, keys) {\n var pickKeys = Array.isArray(keys) ? keys : [keys];\n var length = pickKeys.length;\n var key;\n var result = {};\n\n while (length > 0) {\n length -= 1;\n key = pickKeys[length];\n result[key] = obj[key];\n }\n\n return result;\n}\nvar warned = {};\nexport function warnOnce(message) {\n if (!warned[message]) {\n /* istanbul ignore else */\n if (typeof console !== 'undefined') {\n console.error(message); // eslint-disable-line no-console\n }\n\n warned[message] = true;\n }\n}\nexport function deprecated(propType, explanation) {\n return function validate(props, propName, componentName) {\n if (props[propName] !== null && typeof props[propName] !== 'undefined') {\n warnOnce(\"\\\"\" + propName + \"\\\" property of \\\"\" + componentName + \"\\\" has been deprecated.\\n\" + explanation);\n }\n\n for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n rest[_key - 3] = arguments[_key];\n }\n\n return propType.apply(void 0, [props, propName, componentName].concat(rest));\n };\n} // Shim Element if needed (e.g. in Node environment)\n\nvar Element = typeof window === 'object' && window.Element || function () {};\n\nexport function DOMElement(props, propName, componentName) {\n if (!(props[propName] instanceof Element)) {\n return new Error('Invalid prop `' + propName + '` supplied to `' + componentName + '`. Expected prop to be an instance of Element. Validation failed.');\n }\n}\nexport var targetPropType = PropTypes.oneOfType([PropTypes.string, PropTypes.func, DOMElement, PropTypes.shape({\n current: PropTypes.any\n})]);\nexport var tagPropType = PropTypes.oneOfType([PropTypes.func, PropTypes.string, PropTypes.shape({\n $$typeof: PropTypes.symbol,\n render: PropTypes.func\n}), PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.string, PropTypes.shape({\n $$typeof: PropTypes.symbol,\n render: PropTypes.func\n})]))]);\n/* eslint key-spacing: [\"error\", { afterColon: true, align: \"value\" }] */\n// These are all setup to match what is in the bootstrap _variables.scss\n// https://github.com/twbs/bootstrap/blob/v4-dev/scss/_variables.scss\n\nexport var TransitionTimeouts = {\n Fade: 150,\n // $transition-fade\n Collapse: 350,\n // $transition-collapse\n Modal: 300,\n // $modal-transition\n Carousel: 600 // $carousel-transition\n\n}; // Duplicated Transition.propType keys to ensure that Reactstrap builds\n// for distribution properly exclude these keys for nested child HTML attributes\n// since `react-transition-group` removes propTypes in production builds.\n\nexport var TransitionPropTypeKeys = ['in', 'mountOnEnter', 'unmountOnExit', 'appear', 'enter', 'exit', 'timeout', 'onEnter', 'onEntering', 'onEntered', 'onExit', 'onExiting', 'onExited'];\nexport var TransitionStatuses = {\n ENTERING: 'entering',\n ENTERED: 'entered',\n EXITING: 'exiting',\n EXITED: 'exited'\n};\nexport var keyCodes = {\n esc: 27,\n space: 32,\n enter: 13,\n tab: 9,\n up: 38,\n down: 40,\n home: 36,\n end: 35,\n n: 78,\n p: 80\n};\nexport var PopperPlacements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\nexport var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nexport function isReactRefObj(target) {\n if (target && typeof target === 'object') {\n return 'current' in target;\n }\n\n return false;\n}\n\nfunction getTag(value) {\n if (value == null) {\n return value === undefined ? '[object Undefined]' : '[object Null]';\n }\n\n return Object.prototype.toString.call(value);\n}\n\nexport function toNumber(value) {\n var type = typeof value;\n var NAN = 0 / 0;\n\n if (type === 'number') {\n return value;\n }\n\n if (type === 'symbol' || type === 'object' && getTag(value) === '[object Symbol]') {\n return NAN;\n }\n\n if (isObject(value)) {\n var other = typeof value.valueOf === 'function' ? value.valueOf() : value;\n value = isObject(other) ? \"\" + other : other;\n }\n\n if (type !== 'string') {\n return value === 0 ? value : +value;\n }\n\n value = value.replace(/^\\s+|\\s+$/g, '');\n var isBinary = /^0b[01]+$/i.test(value);\n return isBinary || /^0o[0-7]+$/i.test(value) ? parseInt(value.slice(2), isBinary ? 2 : 8) : /^[-+]0x[0-9a-f]+$/i.test(value) ? NAN : +value;\n}\nexport function isObject(value) {\n var type = typeof value;\n return value != null && (type === 'object' || type === 'function');\n}\nexport function isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n\n var tag = getTag(value);\n return tag === '[object Function]' || tag === '[object AsyncFunction]' || tag === '[object GeneratorFunction]' || tag === '[object Proxy]';\n}\nexport function findDOMElements(target) {\n if (isReactRefObj(target)) {\n return target.current;\n }\n\n if (isFunction(target)) {\n return target();\n }\n\n if (typeof target === 'string' && canUseDOM) {\n var selection = document.querySelectorAll(target);\n\n if (!selection.length) {\n selection = document.querySelectorAll(\"#\" + target);\n }\n\n if (!selection.length) {\n throw new Error(\"The target '\" + target + \"' could not be identified in the dom, tip: check spelling\");\n }\n\n return selection;\n }\n\n return target;\n}\nexport function isArrayOrNodeList(els) {\n if (els === null) {\n return false;\n }\n\n return Array.isArray(els) || canUseDOM && typeof els.length === 'number';\n}\nexport function getTarget(target, allElements) {\n var els = findDOMElements(target);\n\n if (allElements) {\n if (isArrayOrNodeList(els)) {\n return els;\n }\n\n if (els === null) {\n return [];\n }\n\n return [els];\n } else {\n if (isArrayOrNodeList(els)) {\n return els[0];\n }\n\n return els;\n }\n}\nexport var defaultToggleEvents = ['touchstart', 'click'];\nexport function addMultipleEventListeners(_els, handler, _events, useCapture) {\n var els = _els;\n\n if (!isArrayOrNodeList(els)) {\n els = [els];\n }\n\n var events = _events;\n\n if (typeof events === 'string') {\n events = events.split(/\\s+/);\n }\n\n if (!isArrayOrNodeList(els) || typeof handler !== 'function' || !Array.isArray(events)) {\n throw new Error(\"\\n The first argument of this function must be DOM node or an array on DOM nodes or NodeList.\\n The second must be a function.\\n The third is a string or an array of strings that represents DOM events\\n \");\n }\n\n Array.prototype.forEach.call(events, function (event) {\n Array.prototype.forEach.call(els, function (el) {\n el.addEventListener(event, handler, useCapture);\n });\n });\n return function removeEvents() {\n Array.prototype.forEach.call(events, function (event) {\n Array.prototype.forEach.call(els, function (el) {\n el.removeEventListener(event, handler, useCapture);\n });\n });\n };\n}\nexport var focusableElements = ['a[href]', 'area[href]', 'input:not([disabled]):not([type=hidden])', 'select:not([disabled])', 'textarea:not([disabled])', 'button:not([disabled])', 'object', 'embed', '[tabindex]:not(.modal)', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable=\"false\"])'];","import defineProperty from \"./defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","export default function requiredArgs(required, args) {\n if (args.length < required) {\n throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n }\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\n\nexport default function toDate(argument) {\n requiredArgs(1, arguments);\n var argStr = Object.prototype.toString.call(argument); // Clone the date\n\n if (argument instanceof Date || _typeof(argument) === 'object' && argStr === '[object Date]') {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n } else if (typeof argument === 'number' || argStr === '[object Number]') {\n return new Date(argument);\n } else {\n if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\"); // eslint-disable-next-line no-console\n\n console.warn(new Error().stack);\n }\n\n return new Date(NaN);\n }\n}","import arrayWithoutHoles from \"./arrayWithoutHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableSpread from \"./nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function toInteger(dirtyNumber) {\n if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n return NaN;\n }\n\n var number = Number(dirtyNumber);\n\n if (isNaN(number)) {\n return number;\n }\n\n return number < 0 ? Math.ceil(number) : Math.floor(number);\n}","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import _typeof from \"../../helpers/esm/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","import getPrototypeOf from \"./getPrototypeOf\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn\";\nexport default function _createSuper(Derived) {\n return function () {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (isNativeReflectConstruct()) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","module.exports = require(\"regenerator-runtime\");\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createBrowserHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses HTML5 history.\n */\nclass BrowserRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n BrowserRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n forceRefresh: PropTypes.bool,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number\n };\n\n BrowserRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\"\n );\n };\n}\n\nexport default BrowserRouter;\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createHashHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses window.location.hash.\n */\nclass HashRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n HashRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n getUserConfirmation: PropTypes.func,\n hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { HashRouter as Router }`.\"\n );\n };\n}\n\nexport default HashRouter;\n","import { createLocation } from \"history\";\n\nexport const resolveToLocation = (to, currentLocation) =>\n typeof to === \"function\" ? to(currentLocation) : to;\n\nexport const normalizeToLocation = (to, currentLocation) => {\n return typeof to === \"string\"\n ? createLocation(to, null, null, currentLocation)\n : to;\n};\n","import React from \"react\";\nimport { __RouterContext as RouterContext } from \"react-router\";\nimport { createPath } from 'history';\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nconst LinkAnchor = forwardRef(\n (\n {\n innerRef, // TODO: deprecate\n navigate,\n onClick,\n ...rest\n },\n forwardedRef\n ) => {\n const { target } = rest;\n\n let props = {\n ...rest,\n onClick: event => {\n try {\n if (onClick) onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (\n !event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n (!target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n\n /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n return ;\n }\n);\n\nif (__DEV__) {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nconst Link = forwardRef(\n (\n {\n component = LinkAnchor,\n replace,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history } = context;\n\n const location = normalizeToLocation(\n resolveToLocation(to, context.location),\n context.location\n );\n\n const href = location ? history.createHref(location) : \"\";\n const props = {\n ...rest,\n href,\n navigate() {\n const location = resolveToLocation(to, context.location);\n const isDuplicateNavigation = createPath(context.location) === createPath(normalizeToLocation(location));\n const method = (replace || isDuplicateNavigation) ? history.replace : history.push;\n\n method(location);\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return React.createElement(component, props);\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n const toType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func\n ]);\n const refType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any })\n ]);\n\n Link.displayName = \"Link\";\n\n Link.propTypes = {\n innerRef: refType,\n onClick: PropTypes.func,\n replace: PropTypes.bool,\n target: PropTypes.string,\n to: toType.isRequired\n };\n}\n\nexport default Link;\n","import React from \"react\";\nimport { __RouterContext as RouterContext, matchPath } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport Link from \"./Link.js\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction joinClassnames(...classnames) {\n return classnames.filter(i => i).join(\" \");\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = forwardRef(\n (\n {\n \"aria-current\": ariaCurrent = \"page\",\n activeClassName = \"active\", // TODO: deprecate\n activeStyle, // TODO: deprecate\n className: classNameProp,\n exact,\n isActive: isActiveProp,\n location: locationProp,\n sensitive,\n strict,\n style: styleProp,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const currentLocation = locationProp || context.location;\n const toLocation = normalizeToLocation(\n resolveToLocation(to, currentLocation),\n currentLocation\n );\n const { pathname: path } = toLocation;\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath =\n path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n const match = escapedPath\n ? matchPath(currentLocation.pathname, {\n path: escapedPath,\n exact,\n sensitive,\n strict\n })\n : null;\n const isActive = !!(isActiveProp\n ? isActiveProp(match, currentLocation)\n : match);\n\n let className =\n typeof classNameProp === \"function\"\n ? classNameProp(isActive)\n : classNameProp;\n\n let style =\n typeof styleProp === \"function\" ? styleProp(isActive) : styleProp;\n\n if (isActive) {\n className = joinClassnames(className, activeClassName);\n style = { ...style, ...activeStyle };\n }\n\n const props = {\n \"aria-current\": (isActive && ariaCurrent) || null,\n className,\n style,\n to: toLocation,\n ...rest\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return ;\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n\n const ariaCurrentType = PropTypes.oneOf([\n \"page\",\n \"step\",\n \"location\",\n \"date\",\n \"time\",\n \"true\",\n \"false\"\n ]);\n\n NavLink.propTypes = {\n ...Link.propTypes,\n \"aria-current\": ariaCurrentType,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.object,\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n exact: PropTypes.bool,\n isActive: PropTypes.func,\n location: PropTypes.object,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool,\n style: PropTypes.oneOfType([PropTypes.object, PropTypes.func])\n };\n}\n\nexport default NavLink;\n","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nexport default createNamedContext;\n","import createNamedContext from \"./createNamedContext\";\n\nconst historyContext = /*#__PURE__*/ createNamedContext(\"Router-History\");\nexport default historyContext;\n","import createNamedContext from \"./createNamedContext\";\n\nconst context = /*#__PURE__*/ createNamedContext(\"Router\");\nexport default context;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nimport HistoryContext from \"./HistoryContext.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for putting history on context.\n */\nclass Router extends React.Component {\n static computeRootMatch(pathname) {\n return { path: \"/\", url: \"/\", params: {}, isExact: pathname === \"/\" };\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n location: props.history.location\n };\n\n // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the is mounted.\n this._isMounted = false;\n this._pendingLocation = null;\n\n if (!props.staticContext) {\n this.unlisten = props.history.listen(location => {\n this._pendingLocation = location;\n });\n }\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this.unlisten) {\n // Any pre-mount location changes have been captured at\n // this point, so unregister the listener.\n this.unlisten();\n }\n if (!this.props.staticContext) {\n this.unlisten = this.props.history.listen(location => {\n if (this._isMounted) {\n this.setState({ location });\n }\n });\n }\n if (this._pendingLocation) {\n this.setState({ location: this._pendingLocation });\n }\n }\n\n componentWillUnmount() {\n if (this.unlisten) {\n this.unlisten();\n this._isMounted = false;\n this._pendingLocation = null;\n }\n }\n\n render() {\n return (\n \n \n \n );\n }\n}\n\nif (__DEV__) {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function(prevProps) {\n warning(\n prevProps.history === this.props.history,\n \"You cannot change \"\n );\n };\n}\n\nexport default Router;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\n/**\n * The public API for a that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\"\n );\n };\n}\n\nexport default MemoryRouter;\n","import React from \"react\";\n\nclass Lifecycle extends React.Component {\n componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n }\n\n componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n }\n\n render() {\n return null;\n }\n}\n\nexport default Lifecycle;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n\n const generator = pathToRegexp.compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\nfunction generatePath(path = \"/\", params = {}) {\n return path === \"/\" ? path : compilePath(path)(params, { pretty: true });\n}\n\nexport default generatePath;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, locationsAreEqual } from \"history\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle.js\";\nimport RouterContext from \"./RouterContext.js\";\nimport generatePath from \"./generatePath.js\";\n\n/**\n * The public API for navigating programmatically with a component.\n */\nfunction Redirect({ computedMatch, to, push = false }) {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history, staticContext } = context;\n\n const method = push ? history.push : history.replace;\n const location = createLocation(\n computedMatch\n ? typeof to === \"string\"\n ? generatePath(to, computedMatch.params)\n : {\n ...to,\n pathname: generatePath(to.pathname, computedMatch.params)\n }\n : to\n );\n\n // When rendering in a static context,\n // set the new location immediately.\n if (staticContext) {\n method(location);\n return null;\n }\n\n return (\n {\n method(location);\n }}\n onUpdate={(self, prevProps) => {\n const prevLocation = createLocation(prevProps.to);\n if (\n !locationsAreEqual(prevLocation, {\n ...location,\n key: prevLocation.key\n })\n ) {\n method(location);\n }\n }}\n to={to}\n />\n );\n }}\n \n );\n}\n\nif (__DEV__) {\n Redirect.propTypes = {\n push: PropTypes.bool,\n from: PropTypes.string,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n };\n}\n\nexport default Redirect;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path, options) {\n const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n const pathCache = cache[cacheKey] || (cache[cacheKey] = {});\n\n if (pathCache[path]) return pathCache[path];\n\n const keys = [];\n const regexp = pathToRegexp(path, keys, options);\n const result = { regexp, keys };\n\n if (cacheCount < cacheLimit) {\n pathCache[path] = result;\n cacheCount++;\n }\n\n return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nfunction matchPath(pathname, options = {}) {\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = { path: options };\n }\n\n const { path, exact = false, strict = false, sensitive = false } = options;\n\n const paths = [].concat(path);\n\n return paths.reduce((matched, path) => {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n const { regexp, keys } = compilePath(path, {\n end: exact,\n strict,\n sensitive\n });\n const match = regexp.exec(pathname);\n\n if (!match) return null;\n\n const [url, ...values] = match;\n const isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path, // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact, // whether or not we matched exactly\n params: keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nexport default matchPath;\n","import React from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n const value = children(props);\n\n warning(\n value !== undefined,\n \"You returned `undefined` from the `children` function of \" +\n `, but you ` +\n \"should have returned a React element or `null`\"\n );\n\n return value || null;\n}\n\n/**\n * The public API for matching a single path and rendering.\n */\nclass Route extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n const match = this.props.computedMatch\n ? this.props.computedMatch // already computed the match for us\n : this.props.path\n ? matchPath(location.pathname, this.props)\n : context.match;\n\n const props = { ...context, location, match };\n\n let { children, component, render } = this.props;\n\n // Preact uses an empty array as children by\n // default, so use null if that's the case.\n if (Array.isArray(children) && isEmptyChildren(children)) {\n children = null;\n }\n\n return (\n \n {props.match\n ? children\n ? typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : children\n : component\n ? React.createElement(component, props)\n : render\n ? render(props)\n : null\n : typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : null}\n \n );\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: (props, propName) => {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\n `Invalid prop 'component' supplied to 'Route': the prop is not a valid React component`\n );\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function() {\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.component\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.render\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(this.props.component && this.props.render),\n \"You should not use and in the same route; will be ignored\"\n );\n };\n\n Route.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Route;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n\n return {\n ...location,\n pathname: addLeadingSlash(basename) + location.pathname\n };\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n\n const base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return {\n ...location,\n pathname: location.pathname.substr(base.length)\n };\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return () => {\n invariant(false, \"You cannot %s with \", methodName);\n };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" , so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\nclass StaticRouter extends React.Component {\n navigateTo(location, action) {\n const { basename = \"\", context = {} } = this.props;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }\n\n handlePush = location => this.navigateTo(location, \"PUSH\");\n handleReplace = location => this.navigateTo(location, \"REPLACE\");\n handleListen = () => noop;\n handleBlock = () => noop;\n\n render() {\n const { basename = \"\", context = {}, location = \"/\", ...rest } = this.props;\n\n const history = {\n createHref: path => addLeadingSlash(basename + createURL(path)),\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return ;\n }\n}\n\nif (__DEV__) {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { StaticRouter as Router }`.\"\n );\n };\n}\n\nexport default StaticRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\n/**\n * The public API for rendering the first that matches.\n */\nclass Switch extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n\n let element, match;\n\n // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two s that render the same\n // component at different URLs.\n React.Children.forEach(this.props.children, child => {\n if (match == null && React.isValidElement(child)) {\n element = child;\n\n const path = child.props.path || child.props.from;\n\n match = path\n ? matchPath(location.pathname, { ...child.props, path })\n : context.match;\n }\n });\n\n return match\n ? React.cloneElement(element, { location, computedMatch: match })\n : null;\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Switch;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport hoistStatics from \"hoist-non-react-statics\";\nimport invariant from \"tiny-invariant\";\n\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * A public higher-order component to access the imperative API\n */\nfunction withRouter(Component) {\n const displayName = `withRouter(${Component.displayName || Component.name})`;\n const C = props => {\n const { wrappedComponentRef, ...remainingProps } = props;\n\n return (\n \n {context => {\n invariant(\n context,\n `You should not use <${displayName} /> outside a `\n );\n return (\n \n );\n }}\n \n );\n };\n\n C.displayName = displayName;\n C.WrappedComponent = Component;\n\n if (__DEV__) {\n C.propTypes = {\n wrappedComponentRef: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.object\n ])\n };\n }\n\n return hoistStatics(C, Component);\n}\n\nexport default withRouter;\n","import React from \"react\";\nimport invariant from \"tiny-invariant\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport HistoryContext from \"./HistoryContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nconst useContext = React.useContext;\n\nexport function useHistory() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useHistory()\"\n );\n }\n\n return useContext(HistoryContext);\n}\n\nexport function useLocation() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useLocation()\"\n );\n }\n\n return useContext(RouterContext).location;\n}\n\nexport function useParams() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useParams()\"\n );\n }\n\n const match = useContext(RouterContext).match;\n return match ? match.params : {};\n}\n\nexport function useRouteMatch(path) {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useRouteMatch()\"\n );\n }\n\n const location = useLocation();\n const match = useContext(RouterContext).match;\n return path ? matchPath(location.pathname, path) : match;\n}\n","/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nexport default function _createForOfIteratorHelper(o) {\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (o = unsupportedIterableToArray(o))) {\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var it,\n normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import superPropBase from \"./superPropBase\";\nexport default function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}","import getPrototypeOf from \"./getPrototypeOf\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","/*!\n * Chart.js v3.9.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nimport { r as requestAnimFrame, a as resolve, e as effects, c as color, d as defaults, i as isObject, b as isArray, v as valueOrDefault, u as unlistenArrayEvents, l as listenArrayEvents, f as resolveObjectKey, g as isNumberFinite, h as createContext, j as defined, s as sign, k as isNullOrUndef, _ as _arrayUnique, t as toRadians, m as toPercentage, n as toDimension, T as TAU, o as formatNumber, p as _angleBetween, H as HALF_PI, P as PI, q as _getStartAndCountOfVisiblePoints, w as _scaleRangesChanged, x as isNumber, y as _parseObjectDataRadialScale, z as log10, A as _factorize, B as finiteOrDefault, C as callback, D as _addGrace, E as _limitValue, F as toDegrees, G as _measureText, I as _int16Range, J as _alignPixel, K as toPadding, L as clipArea, M as renderText, N as unclipArea, O as toFont, Q as each, R as _toLeftRightCenter, S as _alignStartEnd, U as overrides, V as merge, W as _capitalize, X as getRelativePosition, Y as _rlookupByKey, Z as _lookupByKey, $ as _isPointInArea, a0 as getAngleFromPoint, a1 as getMaximumSize, a2 as _getParentNode, a3 as readUsedSize, a4 as throttled, a5 as supportsEventListenerOptions, a6 as _isDomSupported, a7 as descriptors, a8 as isFunction, a9 as _attachContext, aa as _createResolver, ab as _descriptors, ac as mergeIf, ad as uid, ae as debounce, af as retinaScale, ag as clearCanvas, ah as setsEqual, ai as _elementsEqual, aj as _isClickEvent, ak as _isBetween, al as _readValueToProps, am as _updateBezierControlPoints, an as _computeSegments, ao as _boundSegments, ap as _steppedInterpolation, aq as _bezierInterpolation, ar as _pointInLine, as as _steppedLineTo, at as _bezierCurveTo, au as drawPoint, av as addRoundedRectPath, aw as toTRBL, ax as toTRBLCorners, ay as _boundSegment, az as _normalizeAngle, aA as getRtlAdapter, aB as overrideTextDirection, aC as _textX, aD as restoreTextDirection, aE as drawPointLegend, aF as noop, aG as distanceBetweenPoints, aH as _setMinAndMaxByKey, aI as niceNum, aJ as almostWhole, aK as almostEquals, aL as _decimalPlaces, aM as _longestText, aN as _filterBetween, aO as _lookup } from './chunks/helpers.segment.mjs';\nexport { d as defaults } from './chunks/helpers.segment.mjs';\n\nclass Animator {\n constructor() {\n this._request = null;\n this._charts = new Map();\n this._running = false;\n this._lastDate = undefined;\n }\n _notify(chart, anims, date, type) {\n const callbacks = anims.listeners[type];\n const numSteps = anims.duration;\n callbacks.forEach(fn => fn({\n chart,\n initial: anims.initial,\n numSteps,\n currentStep: Math.min(date - anims.start, numSteps)\n }));\n }\n _refresh() {\n if (this._request) {\n return;\n }\n this._running = true;\n this._request = requestAnimFrame.call(window, () => {\n this._update();\n this._request = null;\n if (this._running) {\n this._refresh();\n }\n });\n }\n _update(date = Date.now()) {\n let remaining = 0;\n this._charts.forEach((anims, chart) => {\n if (!anims.running || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n let draw = false;\n let item;\n for (; i >= 0; --i) {\n item = items[i];\n if (item._active) {\n if (item._total > anims.duration) {\n anims.duration = item._total;\n }\n item.tick(date);\n draw = true;\n } else {\n items[i] = items[items.length - 1];\n items.pop();\n }\n }\n if (draw) {\n chart.draw();\n this._notify(chart, anims, date, 'progress');\n }\n if (!items.length) {\n anims.running = false;\n this._notify(chart, anims, date, 'complete');\n anims.initial = false;\n }\n remaining += items.length;\n });\n this._lastDate = date;\n if (remaining === 0) {\n this._running = false;\n }\n }\n _getAnims(chart) {\n const charts = this._charts;\n let anims = charts.get(chart);\n if (!anims) {\n anims = {\n running: false,\n initial: true,\n items: [],\n listeners: {\n complete: [],\n progress: []\n }\n };\n charts.set(chart, anims);\n }\n return anims;\n }\n listen(chart, event, cb) {\n this._getAnims(chart).listeners[event].push(cb);\n }\n add(chart, items) {\n if (!items || !items.length) {\n return;\n }\n this._getAnims(chart).items.push(...items);\n }\n has(chart) {\n return this._getAnims(chart).items.length > 0;\n }\n start(chart) {\n const anims = this._charts.get(chart);\n if (!anims) {\n return;\n }\n anims.running = true;\n anims.start = Date.now();\n anims.duration = anims.items.reduce((acc, cur) => Math.max(acc, cur._duration), 0);\n this._refresh();\n }\n running(chart) {\n if (!this._running) {\n return false;\n }\n const anims = this._charts.get(chart);\n if (!anims || !anims.running || !anims.items.length) {\n return false;\n }\n return true;\n }\n stop(chart) {\n const anims = this._charts.get(chart);\n if (!anims || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n for (; i >= 0; --i) {\n items[i].cancel();\n }\n anims.items = [];\n this._notify(chart, anims, Date.now(), 'complete');\n }\n remove(chart) {\n return this._charts.delete(chart);\n }\n}\nvar animator = new Animator();\n\nconst transparent = 'transparent';\nconst interpolators = {\n boolean(from, to, factor) {\n return factor > 0.5 ? to : from;\n },\n color(from, to, factor) {\n const c0 = color(from || transparent);\n const c1 = c0.valid && color(to || transparent);\n return c1 && c1.valid\n ? c1.mix(c0, factor).hexString()\n : to;\n },\n number(from, to, factor) {\n return from + (to - from) * factor;\n }\n};\nclass Animation {\n constructor(cfg, target, prop, to) {\n const currentValue = target[prop];\n to = resolve([cfg.to, to, currentValue, cfg.from]);\n const from = resolve([cfg.from, currentValue, to]);\n this._active = true;\n this._fn = cfg.fn || interpolators[cfg.type || typeof from];\n this._easing = effects[cfg.easing] || effects.linear;\n this._start = Math.floor(Date.now() + (cfg.delay || 0));\n this._duration = this._total = Math.floor(cfg.duration);\n this._loop = !!cfg.loop;\n this._target = target;\n this._prop = prop;\n this._from = from;\n this._to = to;\n this._promises = undefined;\n }\n active() {\n return this._active;\n }\n update(cfg, to, date) {\n if (this._active) {\n this._notify(false);\n const currentValue = this._target[this._prop];\n const elapsed = date - this._start;\n const remain = this._duration - elapsed;\n this._start = date;\n this._duration = Math.floor(Math.max(remain, cfg.duration));\n this._total += elapsed;\n this._loop = !!cfg.loop;\n this._to = resolve([cfg.to, to, currentValue, cfg.from]);\n this._from = resolve([cfg.from, currentValue, to]);\n }\n }\n cancel() {\n if (this._active) {\n this.tick(Date.now());\n this._active = false;\n this._notify(false);\n }\n }\n tick(date) {\n const elapsed = date - this._start;\n const duration = this._duration;\n const prop = this._prop;\n const from = this._from;\n const loop = this._loop;\n const to = this._to;\n let factor;\n this._active = from !== to && (loop || (elapsed < duration));\n if (!this._active) {\n this._target[prop] = to;\n this._notify(true);\n return;\n }\n if (elapsed < 0) {\n this._target[prop] = from;\n return;\n }\n factor = (elapsed / duration) % 2;\n factor = loop && factor > 1 ? 2 - factor : factor;\n factor = this._easing(Math.min(1, Math.max(0, factor)));\n this._target[prop] = this._fn(from, to, factor);\n }\n wait() {\n const promises = this._promises || (this._promises = []);\n return new Promise((res, rej) => {\n promises.push({res, rej});\n });\n }\n _notify(resolved) {\n const method = resolved ? 'res' : 'rej';\n const promises = this._promises || [];\n for (let i = 0; i < promises.length; i++) {\n promises[i][method]();\n }\n }\n}\n\nconst numbers = ['x', 'y', 'borderWidth', 'radius', 'tension'];\nconst colors = ['color', 'borderColor', 'backgroundColor'];\ndefaults.set('animation', {\n delay: undefined,\n duration: 1000,\n easing: 'easeOutQuart',\n fn: undefined,\n from: undefined,\n loop: undefined,\n to: undefined,\n type: undefined,\n});\nconst animationOptions = Object.keys(defaults.animation);\ndefaults.describe('animation', {\n _fallback: false,\n _indexable: false,\n _scriptable: (name) => name !== 'onProgress' && name !== 'onComplete' && name !== 'fn',\n});\ndefaults.set('animations', {\n colors: {\n type: 'color',\n properties: colors\n },\n numbers: {\n type: 'number',\n properties: numbers\n },\n});\ndefaults.describe('animations', {\n _fallback: 'animation',\n});\ndefaults.set('transitions', {\n active: {\n animation: {\n duration: 400\n }\n },\n resize: {\n animation: {\n duration: 0\n }\n },\n show: {\n animations: {\n colors: {\n from: 'transparent'\n },\n visible: {\n type: 'boolean',\n duration: 0\n },\n }\n },\n hide: {\n animations: {\n colors: {\n to: 'transparent'\n },\n visible: {\n type: 'boolean',\n easing: 'linear',\n fn: v => v | 0\n },\n }\n }\n});\nclass Animations {\n constructor(chart, config) {\n this._chart = chart;\n this._properties = new Map();\n this.configure(config);\n }\n configure(config) {\n if (!isObject(config)) {\n return;\n }\n const animatedProps = this._properties;\n Object.getOwnPropertyNames(config).forEach(key => {\n const cfg = config[key];\n if (!isObject(cfg)) {\n return;\n }\n const resolved = {};\n for (const option of animationOptions) {\n resolved[option] = cfg[option];\n }\n (isArray(cfg.properties) && cfg.properties || [key]).forEach((prop) => {\n if (prop === key || !animatedProps.has(prop)) {\n animatedProps.set(prop, resolved);\n }\n });\n });\n }\n _animateOptions(target, values) {\n const newOptions = values.options;\n const options = resolveTargetOptions(target, newOptions);\n if (!options) {\n return [];\n }\n const animations = this._createAnimations(options, newOptions);\n if (newOptions.$shared) {\n awaitAll(target.options.$animations, newOptions).then(() => {\n target.options = newOptions;\n }, () => {\n });\n }\n return animations;\n }\n _createAnimations(target, values) {\n const animatedProps = this._properties;\n const animations = [];\n const running = target.$animations || (target.$animations = {});\n const props = Object.keys(values);\n const date = Date.now();\n let i;\n for (i = props.length - 1; i >= 0; --i) {\n const prop = props[i];\n if (prop.charAt(0) === '$') {\n continue;\n }\n if (prop === 'options') {\n animations.push(...this._animateOptions(target, values));\n continue;\n }\n const value = values[prop];\n let animation = running[prop];\n const cfg = animatedProps.get(prop);\n if (animation) {\n if (cfg && animation.active()) {\n animation.update(cfg, value, date);\n continue;\n } else {\n animation.cancel();\n }\n }\n if (!cfg || !cfg.duration) {\n target[prop] = value;\n continue;\n }\n running[prop] = animation = new Animation(cfg, target, prop, value);\n animations.push(animation);\n }\n return animations;\n }\n update(target, values) {\n if (this._properties.size === 0) {\n Object.assign(target, values);\n return;\n }\n const animations = this._createAnimations(target, values);\n if (animations.length) {\n animator.add(this._chart, animations);\n return true;\n }\n }\n}\nfunction awaitAll(animations, properties) {\n const running = [];\n const keys = Object.keys(properties);\n for (let i = 0; i < keys.length; i++) {\n const anim = animations[keys[i]];\n if (anim && anim.active()) {\n running.push(anim.wait());\n }\n }\n return Promise.all(running);\n}\nfunction resolveTargetOptions(target, newOptions) {\n if (!newOptions) {\n return;\n }\n let options = target.options;\n if (!options) {\n target.options = newOptions;\n return;\n }\n if (options.$shared) {\n target.options = options = Object.assign({}, options, {$shared: false, $animations: {}});\n }\n return options;\n}\n\nfunction scaleClip(scale, allowedOverflow) {\n const opts = scale && scale.options || {};\n const reverse = opts.reverse;\n const min = opts.min === undefined ? allowedOverflow : 0;\n const max = opts.max === undefined ? allowedOverflow : 0;\n return {\n start: reverse ? max : min,\n end: reverse ? min : max\n };\n}\nfunction defaultClip(xScale, yScale, allowedOverflow) {\n if (allowedOverflow === false) {\n return false;\n }\n const x = scaleClip(xScale, allowedOverflow);\n const y = scaleClip(yScale, allowedOverflow);\n return {\n top: y.end,\n right: x.end,\n bottom: y.start,\n left: x.start\n };\n}\nfunction toClip(value) {\n let t, r, b, l;\n if (isObject(value)) {\n t = value.top;\n r = value.right;\n b = value.bottom;\n l = value.left;\n } else {\n t = r = b = l = value;\n }\n return {\n top: t,\n right: r,\n bottom: b,\n left: l,\n disabled: value === false\n };\n}\nfunction getSortedDatasetIndices(chart, filterVisible) {\n const keys = [];\n const metasets = chart._getSortedDatasetMetas(filterVisible);\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n keys.push(metasets[i].index);\n }\n return keys;\n}\nfunction applyStack(stack, value, dsIndex, options = {}) {\n const keys = stack.keys;\n const singleMode = options.mode === 'single';\n let i, ilen, datasetIndex, otherValue;\n if (value === null) {\n return;\n }\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n datasetIndex = +keys[i];\n if (datasetIndex === dsIndex) {\n if (options.all) {\n continue;\n }\n break;\n }\n otherValue = stack.values[datasetIndex];\n if (isNumberFinite(otherValue) && (singleMode || (value === 0 || sign(value) === sign(otherValue)))) {\n value += otherValue;\n }\n }\n return value;\n}\nfunction convertObjectDataToArray(data) {\n const keys = Object.keys(data);\n const adata = new Array(keys.length);\n let i, ilen, key;\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n key = keys[i];\n adata[i] = {\n x: key,\n y: data[key]\n };\n }\n return adata;\n}\nfunction isStacked(scale, meta) {\n const stacked = scale && scale.options.stacked;\n return stacked || (stacked === undefined && meta.stack !== undefined);\n}\nfunction getStackKey(indexScale, valueScale, meta) {\n return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`;\n}\nfunction getUserBounds(scale) {\n const {min, max, minDefined, maxDefined} = scale.getUserBounds();\n return {\n min: minDefined ? min : Number.NEGATIVE_INFINITY,\n max: maxDefined ? max : Number.POSITIVE_INFINITY\n };\n}\nfunction getOrCreateStack(stacks, stackKey, indexValue) {\n const subStack = stacks[stackKey] || (stacks[stackKey] = {});\n return subStack[indexValue] || (subStack[indexValue] = {});\n}\nfunction getLastIndexInStack(stack, vScale, positive, type) {\n for (const meta of vScale.getMatchingVisibleMetas(type).reverse()) {\n const value = stack[meta.index];\n if ((positive && value > 0) || (!positive && value < 0)) {\n return meta.index;\n }\n }\n return null;\n}\nfunction updateStacks(controller, parsed) {\n const {chart, _cachedMeta: meta} = controller;\n const stacks = chart._stacks || (chart._stacks = {});\n const {iScale, vScale, index: datasetIndex} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const key = getStackKey(iScale, vScale, meta);\n const ilen = parsed.length;\n let stack;\n for (let i = 0; i < ilen; ++i) {\n const item = parsed[i];\n const {[iAxis]: index, [vAxis]: value} = item;\n const itemStacks = item._stacks || (item._stacks = {});\n stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index);\n stack[datasetIndex] = value;\n stack._top = getLastIndexInStack(stack, vScale, true, meta.type);\n stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type);\n }\n}\nfunction getFirstScaleId(chart, axis) {\n const scales = chart.scales;\n return Object.keys(scales).filter(key => scales[key].axis === axis).shift();\n}\nfunction createDatasetContext(parent, index) {\n return createContext(parent,\n {\n active: false,\n dataset: undefined,\n datasetIndex: index,\n index,\n mode: 'default',\n type: 'dataset'\n }\n );\n}\nfunction createDataContext(parent, index, element) {\n return createContext(parent, {\n active: false,\n dataIndex: index,\n parsed: undefined,\n raw: undefined,\n element,\n index,\n mode: 'default',\n type: 'data'\n });\n}\nfunction clearStacks(meta, items) {\n const datasetIndex = meta.controller.index;\n const axis = meta.vScale && meta.vScale.axis;\n if (!axis) {\n return;\n }\n items = items || meta._parsed;\n for (const parsed of items) {\n const stacks = parsed._stacks;\n if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) {\n return;\n }\n delete stacks[axis][datasetIndex];\n }\n}\nconst isDirectUpdateMode = (mode) => mode === 'reset' || mode === 'none';\nconst cloneIfNotShared = (cached, shared) => shared ? cached : Object.assign({}, cached);\nconst createStack = (canStack, meta, chart) => canStack && !meta.hidden && meta._stacked\n && {keys: getSortedDatasetIndices(chart, true), values: null};\nclass DatasetController {\n constructor(chart, datasetIndex) {\n this.chart = chart;\n this._ctx = chart.ctx;\n this.index = datasetIndex;\n this._cachedDataOpts = {};\n this._cachedMeta = this.getMeta();\n this._type = this._cachedMeta.type;\n this.options = undefined;\n this._parsing = false;\n this._data = undefined;\n this._objectData = undefined;\n this._sharedOptions = undefined;\n this._drawStart = undefined;\n this._drawCount = undefined;\n this.enableOptionSharing = false;\n this.supportsDecimation = false;\n this.$context = undefined;\n this._syncList = [];\n this.initialize();\n }\n initialize() {\n const meta = this._cachedMeta;\n this.configure();\n this.linkScales();\n meta._stacked = isStacked(meta.vScale, meta);\n this.addElements();\n }\n updateIndex(datasetIndex) {\n if (this.index !== datasetIndex) {\n clearStacks(this._cachedMeta);\n }\n this.index = datasetIndex;\n }\n linkScales() {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n const chooseId = (axis, x, y, r) => axis === 'x' ? x : axis === 'r' ? r : y;\n const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x'));\n const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y'));\n const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r'));\n const indexAxis = meta.indexAxis;\n const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid);\n const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid);\n meta.xScale = this.getScaleForId(xid);\n meta.yScale = this.getScaleForId(yid);\n meta.rScale = this.getScaleForId(rid);\n meta.iScale = this.getScaleForId(iid);\n meta.vScale = this.getScaleForId(vid);\n }\n getDataset() {\n return this.chart.data.datasets[this.index];\n }\n getMeta() {\n return this.chart.getDatasetMeta(this.index);\n }\n getScaleForId(scaleID) {\n return this.chart.scales[scaleID];\n }\n _getOtherScale(scale) {\n const meta = this._cachedMeta;\n return scale === meta.iScale\n ? meta.vScale\n : meta.iScale;\n }\n reset() {\n this._update('reset');\n }\n _destroy() {\n const meta = this._cachedMeta;\n if (this._data) {\n unlistenArrayEvents(this._data, this);\n }\n if (meta._stacked) {\n clearStacks(meta);\n }\n }\n _dataCheck() {\n const dataset = this.getDataset();\n const data = dataset.data || (dataset.data = []);\n const _data = this._data;\n if (isObject(data)) {\n this._data = convertObjectDataToArray(data);\n } else if (_data !== data) {\n if (_data) {\n unlistenArrayEvents(_data, this);\n const meta = this._cachedMeta;\n clearStacks(meta);\n meta._parsed = [];\n }\n if (data && Object.isExtensible(data)) {\n listenArrayEvents(data, this);\n }\n this._syncList = [];\n this._data = data;\n }\n }\n addElements() {\n const meta = this._cachedMeta;\n this._dataCheck();\n if (this.datasetElementType) {\n meta.dataset = new this.datasetElementType();\n }\n }\n buildOrUpdateElements(resetNewElements) {\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n let stackChanged = false;\n this._dataCheck();\n const oldStacked = meta._stacked;\n meta._stacked = isStacked(meta.vScale, meta);\n if (meta.stack !== dataset.stack) {\n stackChanged = true;\n clearStacks(meta);\n meta.stack = dataset.stack;\n }\n this._resyncElements(resetNewElements);\n if (stackChanged || oldStacked !== meta._stacked) {\n updateStacks(this, meta._parsed);\n }\n }\n configure() {\n const config = this.chart.config;\n const scopeKeys = config.datasetScopeKeys(this._type);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true);\n this.options = config.createResolver(scopes, this.getContext());\n this._parsing = this.options.parsing;\n this._cachedDataOpts = {};\n }\n parse(start, count) {\n const {_cachedMeta: meta, _data: data} = this;\n const {iScale, _stacked} = meta;\n const iAxis = iScale.axis;\n let sorted = start === 0 && count === data.length ? true : meta._sorted;\n let prev = start > 0 && meta._parsed[start - 1];\n let i, cur, parsed;\n if (this._parsing === false) {\n meta._parsed = data;\n meta._sorted = true;\n parsed = data;\n } else {\n if (isArray(data[start])) {\n parsed = this.parseArrayData(meta, data, start, count);\n } else if (isObject(data[start])) {\n parsed = this.parseObjectData(meta, data, start, count);\n } else {\n parsed = this.parsePrimitiveData(meta, data, start, count);\n }\n const isNotInOrderComparedToPrev = () => cur[iAxis] === null || (prev && cur[iAxis] < prev[iAxis]);\n for (i = 0; i < count; ++i) {\n meta._parsed[i + start] = cur = parsed[i];\n if (sorted) {\n if (isNotInOrderComparedToPrev()) {\n sorted = false;\n }\n prev = cur;\n }\n }\n meta._sorted = sorted;\n }\n if (_stacked) {\n updateStacks(this, parsed);\n }\n }\n parsePrimitiveData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = new Array(count);\n let i, ilen, index;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n parsed[i] = {\n [iAxis]: singleScale || iScale.parse(labels[index], index),\n [vAxis]: vScale.parse(data[index], index)\n };\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(item[0], index),\n y: yScale.parse(item[1], index)\n };\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(resolveObjectKey(item, xAxisKey), index),\n y: yScale.parse(resolveObjectKey(item, yAxisKey), index)\n };\n }\n return parsed;\n }\n getParsed(index) {\n return this._cachedMeta._parsed[index];\n }\n getDataElement(index) {\n return this._cachedMeta.data[index];\n }\n applyStack(scale, parsed, mode) {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const value = parsed[scale.axis];\n const stack = {\n keys: getSortedDatasetIndices(chart, true),\n values: parsed._stacks[scale.axis]\n };\n return applyStack(stack, value, meta.index, {mode});\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n const parsedValue = parsed[scale.axis];\n let value = parsedValue === null ? NaN : parsedValue;\n const values = stack && parsed._stacks[scale.axis];\n if (stack && values) {\n stack.values = values;\n value = applyStack(stack, parsedValue, this._cachedMeta.index);\n }\n range.min = Math.min(range.min, value);\n range.max = Math.max(range.max, value);\n }\n getMinMax(scale, canStack) {\n const meta = this._cachedMeta;\n const _parsed = meta._parsed;\n const sorted = meta._sorted && scale === meta.iScale;\n const ilen = _parsed.length;\n const otherScale = this._getOtherScale(scale);\n const stack = createStack(canStack, meta, this.chart);\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n const {min: otherMin, max: otherMax} = getUserBounds(otherScale);\n let i, parsed;\n function _skip() {\n parsed = _parsed[i];\n const otherValue = parsed[otherScale.axis];\n return !isNumberFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue;\n }\n for (i = 0; i < ilen; ++i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n if (sorted) {\n break;\n }\n }\n if (sorted) {\n for (i = ilen - 1; i >= 0; --i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n break;\n }\n }\n return range;\n }\n getAllParsedValues(scale) {\n const parsed = this._cachedMeta._parsed;\n const values = [];\n let i, ilen, value;\n for (i = 0, ilen = parsed.length; i < ilen; ++i) {\n value = parsed[i][scale.axis];\n if (isNumberFinite(value)) {\n values.push(value);\n }\n }\n return values;\n }\n getMaxOverflow() {\n return false;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '',\n value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : ''\n };\n }\n _update(mode) {\n const meta = this._cachedMeta;\n this.update(mode || 'default');\n meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow())));\n }\n update(mode) {}\n draw() {\n const ctx = this._ctx;\n const chart = this.chart;\n const meta = this._cachedMeta;\n const elements = meta.data || [];\n const area = chart.chartArea;\n const active = [];\n const start = this._drawStart || 0;\n const count = this._drawCount || (elements.length - start);\n const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop;\n let i;\n if (meta.dataset) {\n meta.dataset.draw(ctx, area, start, count);\n }\n for (i = start; i < start + count; ++i) {\n const element = elements[i];\n if (element.hidden) {\n continue;\n }\n if (element.active && drawActiveElementsOnTop) {\n active.push(element);\n } else {\n element.draw(ctx, area);\n }\n }\n for (i = 0; i < active.length; ++i) {\n active[i].draw(ctx, area);\n }\n }\n getStyle(index, active) {\n const mode = active ? 'active' : 'default';\n return index === undefined && this._cachedMeta.dataset\n ? this.resolveDatasetElementOptions(mode)\n : this.resolveDataElementOptions(index || 0, mode);\n }\n getContext(index, active, mode) {\n const dataset = this.getDataset();\n let context;\n if (index >= 0 && index < this._cachedMeta.data.length) {\n const element = this._cachedMeta.data[index];\n context = element.$context ||\n (element.$context = createDataContext(this.getContext(), index, element));\n context.parsed = this.getParsed(index);\n context.raw = dataset.data[index];\n context.index = context.dataIndex = index;\n } else {\n context = this.$context ||\n (this.$context = createDatasetContext(this.chart.getContext(), this.index));\n context.dataset = dataset;\n context.index = context.datasetIndex = this.index;\n }\n context.active = !!active;\n context.mode = mode;\n return context;\n }\n resolveDatasetElementOptions(mode) {\n return this._resolveElementOptions(this.datasetElementType.id, mode);\n }\n resolveDataElementOptions(index, mode) {\n return this._resolveElementOptions(this.dataElementType.id, mode, index);\n }\n _resolveElementOptions(elementType, mode = 'default', index) {\n const active = mode === 'active';\n const cache = this._cachedDataOpts;\n const cacheKey = elementType + '-' + mode;\n const cached = cache[cacheKey];\n const sharing = this.enableOptionSharing && defined(index);\n if (cached) {\n return cloneIfNotShared(cached, sharing);\n }\n const config = this.chart.config;\n const scopeKeys = config.datasetElementScopeKeys(this._type, elementType);\n const prefixes = active ? [`${elementType}Hover`, 'hover', elementType, ''] : [elementType, ''];\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n const names = Object.keys(defaults.elements[elementType]);\n const context = () => this.getContext(index, active);\n const values = config.resolveNamedOptions(scopes, names, context, prefixes);\n if (values.$shared) {\n values.$shared = sharing;\n cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing));\n }\n return values;\n }\n _resolveAnimations(index, transition, active) {\n const chart = this.chart;\n const cache = this._cachedDataOpts;\n const cacheKey = `animation-${transition}`;\n const cached = cache[cacheKey];\n if (cached) {\n return cached;\n }\n let options;\n if (chart.options.animation !== false) {\n const config = this.chart.config;\n const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n options = config.createResolver(scopes, this.getContext(index, active, transition));\n }\n const animations = new Animations(chart, options && options.animations);\n if (options && options._cacheable) {\n cache[cacheKey] = Object.freeze(animations);\n }\n return animations;\n }\n getSharedOptions(options) {\n if (!options.$shared) {\n return;\n }\n return this._sharedOptions || (this._sharedOptions = Object.assign({}, options));\n }\n includeOptions(mode, sharedOptions) {\n return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled;\n }\n _getSharedOptions(start, mode) {\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const previouslySharedOptions = this._sharedOptions;\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions) || (sharedOptions !== previouslySharedOptions);\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n return {sharedOptions, includeOptions};\n }\n updateElement(element, index, properties, mode) {\n if (isDirectUpdateMode(mode)) {\n Object.assign(element, properties);\n } else {\n this._resolveAnimations(index, mode).update(element, properties);\n }\n }\n updateSharedOptions(sharedOptions, mode, newOptions) {\n if (sharedOptions && !isDirectUpdateMode(mode)) {\n this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions);\n }\n }\n _setStyle(element, index, mode, active) {\n element.active = active;\n const options = this.getStyle(index, active);\n this._resolveAnimations(index, mode, active).update(element, {\n options: (!active && this.getSharedOptions(options)) || options\n });\n }\n removeHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', false);\n }\n setHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', true);\n }\n _removeDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', false);\n }\n }\n _setDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', true);\n }\n }\n _resyncElements(resetNewElements) {\n const data = this._data;\n const elements = this._cachedMeta.data;\n for (const [method, arg1, arg2] of this._syncList) {\n this[method](arg1, arg2);\n }\n this._syncList = [];\n const numMeta = elements.length;\n const numData = data.length;\n const count = Math.min(numData, numMeta);\n if (count) {\n this.parse(0, count);\n }\n if (numData > numMeta) {\n this._insertElements(numMeta, numData - numMeta, resetNewElements);\n } else if (numData < numMeta) {\n this._removeElements(numData, numMeta - numData);\n }\n }\n _insertElements(start, count, resetNewElements = true) {\n const meta = this._cachedMeta;\n const data = meta.data;\n const end = start + count;\n let i;\n const move = (arr) => {\n arr.length += count;\n for (i = arr.length - 1; i >= end; i--) {\n arr[i] = arr[i - count];\n }\n };\n move(data);\n for (i = start; i < end; ++i) {\n data[i] = new this.dataElementType();\n }\n if (this._parsing) {\n move(meta._parsed);\n }\n this.parse(start, count);\n if (resetNewElements) {\n this.updateElements(data, start, count, 'reset');\n }\n }\n updateElements(element, start, count, mode) {}\n _removeElements(start, count) {\n const meta = this._cachedMeta;\n if (this._parsing) {\n const removed = meta._parsed.splice(start, count);\n if (meta._stacked) {\n clearStacks(meta, removed);\n }\n }\n meta.data.splice(start, count);\n }\n _sync(args) {\n if (this._parsing) {\n this._syncList.push(args);\n } else {\n const [method, arg1, arg2] = args;\n this[method](arg1, arg2);\n }\n this.chart._dataChanges.push([this.index, ...args]);\n }\n _onDataPush() {\n const count = arguments.length;\n this._sync(['_insertElements', this.getDataset().data.length - count, count]);\n }\n _onDataPop() {\n this._sync(['_removeElements', this._cachedMeta.data.length - 1, 1]);\n }\n _onDataShift() {\n this._sync(['_removeElements', 0, 1]);\n }\n _onDataSplice(start, count) {\n if (count) {\n this._sync(['_removeElements', start, count]);\n }\n const newCount = arguments.length - 2;\n if (newCount) {\n this._sync(['_insertElements', start, newCount]);\n }\n }\n _onDataUnshift() {\n this._sync(['_insertElements', 0, arguments.length]);\n }\n}\nDatasetController.defaults = {};\nDatasetController.prototype.datasetElementType = null;\nDatasetController.prototype.dataElementType = null;\n\nfunction getAllScaleValues(scale, type) {\n if (!scale._cache.$bar) {\n const visibleMetas = scale.getMatchingVisibleMetas(type);\n let values = [];\n for (let i = 0, ilen = visibleMetas.length; i < ilen; i++) {\n values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale));\n }\n scale._cache.$bar = _arrayUnique(values.sort((a, b) => a - b));\n }\n return scale._cache.$bar;\n}\nfunction computeMinSampleSize(meta) {\n const scale = meta.iScale;\n const values = getAllScaleValues(scale, meta.type);\n let min = scale._length;\n let i, ilen, curr, prev;\n const updateMinAndPrev = () => {\n if (curr === 32767 || curr === -32768) {\n return;\n }\n if (defined(prev)) {\n min = Math.min(min, Math.abs(curr - prev) || min);\n }\n prev = curr;\n };\n for (i = 0, ilen = values.length; i < ilen; ++i) {\n curr = scale.getPixelForValue(values[i]);\n updateMinAndPrev();\n }\n prev = undefined;\n for (i = 0, ilen = scale.ticks.length; i < ilen; ++i) {\n curr = scale.getPixelForTick(i);\n updateMinAndPrev();\n }\n return min;\n}\nfunction computeFitCategoryTraits(index, ruler, options, stackCount) {\n const thickness = options.barThickness;\n let size, ratio;\n if (isNullOrUndef(thickness)) {\n size = ruler.min * options.categoryPercentage;\n ratio = options.barPercentage;\n } else {\n size = thickness * stackCount;\n ratio = 1;\n }\n return {\n chunk: size / stackCount,\n ratio,\n start: ruler.pixels[index] - (size / 2)\n };\n}\nfunction computeFlexCategoryTraits(index, ruler, options, stackCount) {\n const pixels = ruler.pixels;\n const curr = pixels[index];\n let prev = index > 0 ? pixels[index - 1] : null;\n let next = index < pixels.length - 1 ? pixels[index + 1] : null;\n const percent = options.categoryPercentage;\n if (prev === null) {\n prev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n }\n if (next === null) {\n next = curr + curr - prev;\n }\n const start = curr - (curr - Math.min(prev, next)) / 2 * percent;\n const size = Math.abs(next - prev) / 2 * percent;\n return {\n chunk: size / stackCount,\n ratio: options.barPercentage,\n start\n };\n}\nfunction parseFloatBar(entry, item, vScale, i) {\n const startValue = vScale.parse(entry[0], i);\n const endValue = vScale.parse(entry[1], i);\n const min = Math.min(startValue, endValue);\n const max = Math.max(startValue, endValue);\n let barStart = min;\n let barEnd = max;\n if (Math.abs(min) > Math.abs(max)) {\n barStart = max;\n barEnd = min;\n }\n item[vScale.axis] = barEnd;\n item._custom = {\n barStart,\n barEnd,\n start: startValue,\n end: endValue,\n min,\n max\n };\n}\nfunction parseValue(entry, item, vScale, i) {\n if (isArray(entry)) {\n parseFloatBar(entry, item, vScale, i);\n } else {\n item[vScale.axis] = vScale.parse(entry, i);\n }\n return item;\n}\nfunction parseArrayOrPrimitive(meta, data, start, count) {\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = [];\n let i, ilen, item, entry;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n entry = data[i];\n item = {};\n item[iScale.axis] = singleScale || iScale.parse(labels[i], i);\n parsed.push(parseValue(entry, item, vScale, i));\n }\n return parsed;\n}\nfunction isFloatBar(custom) {\n return custom && custom.barStart !== undefined && custom.barEnd !== undefined;\n}\nfunction barSign(size, vScale, actualBase) {\n if (size !== 0) {\n return sign(size);\n }\n return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1);\n}\nfunction borderProps(properties) {\n let reverse, start, end, top, bottom;\n if (properties.horizontal) {\n reverse = properties.base > properties.x;\n start = 'left';\n end = 'right';\n } else {\n reverse = properties.base < properties.y;\n start = 'bottom';\n end = 'top';\n }\n if (reverse) {\n top = 'end';\n bottom = 'start';\n } else {\n top = 'start';\n bottom = 'end';\n }\n return {start, end, reverse, top, bottom};\n}\nfunction setBorderSkipped(properties, options, stack, index) {\n let edge = options.borderSkipped;\n const res = {};\n if (!edge) {\n properties.borderSkipped = res;\n return;\n }\n if (edge === true) {\n properties.borderSkipped = {top: true, right: true, bottom: true, left: true};\n return;\n }\n const {start, end, reverse, top, bottom} = borderProps(properties);\n if (edge === 'middle' && stack) {\n properties.enableBorderRadius = true;\n if ((stack._top || 0) === index) {\n edge = top;\n } else if ((stack._bottom || 0) === index) {\n edge = bottom;\n } else {\n res[parseEdge(bottom, start, end, reverse)] = true;\n edge = top;\n }\n }\n res[parseEdge(edge, start, end, reverse)] = true;\n properties.borderSkipped = res;\n}\nfunction parseEdge(edge, a, b, reverse) {\n if (reverse) {\n edge = swap(edge, a, b);\n edge = startEnd(edge, b, a);\n } else {\n edge = startEnd(edge, a, b);\n }\n return edge;\n}\nfunction swap(orig, v1, v2) {\n return orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\nfunction startEnd(v, start, end) {\n return v === 'start' ? start : v === 'end' ? end : v;\n}\nfunction setInflateAmount(properties, {inflateAmount}, ratio) {\n properties.inflateAmount = inflateAmount === 'auto'\n ? ratio === 1 ? 0.33 : 0\n : inflateAmount;\n}\nclass BarController extends DatasetController {\n parsePrimitiveData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseArrayData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseObjectData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey;\n const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey;\n const parsed = [];\n let i, ilen, item, obj;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n obj = data[i];\n item = {};\n item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i);\n parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i));\n }\n return parsed;\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n super.updateRangeFromParsed(range, scale, parsed, stack);\n const custom = parsed._custom;\n if (custom && scale === this._cachedMeta.vScale) {\n range.min = Math.min(range.min, custom.min);\n range.max = Math.max(range.max, custom.max);\n }\n }\n getMaxOverflow() {\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const {iScale, vScale} = meta;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const value = isFloatBar(custom)\n ? '[' + custom.start + ', ' + custom.end + ']'\n : '' + vScale.getLabelForValue(parsed[vScale.axis]);\n return {\n label: '' + iScale.getLabelForValue(parsed[iScale.axis]),\n value\n };\n }\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n const meta = this._cachedMeta;\n meta.stack = this.getDataset().stack;\n }\n update(mode) {\n const meta = this._cachedMeta;\n this.updateElements(meta.data, 0, meta.data.length, mode);\n }\n updateElements(bars, start, count, mode) {\n const reset = mode === 'reset';\n const {index, _cachedMeta: {vScale}} = this;\n const base = vScale.getBasePixel();\n const horizontal = vScale.isHorizontal();\n const ruler = this._getRuler();\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n for (let i = start; i < start + count; i++) {\n const parsed = this.getParsed(i);\n const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? {base, head: base} : this._calculateBarValuePixels(i);\n const ipixels = this._calculateBarIndexPixels(i, ruler);\n const stack = (parsed._stacks || {})[vScale.axis];\n const properties = {\n horizontal,\n base: vpixels.base,\n enableBorderRadius: !stack || isFloatBar(parsed._custom) || (index === stack._top || index === stack._bottom),\n x: horizontal ? vpixels.head : ipixels.center,\n y: horizontal ? ipixels.center : vpixels.head,\n height: horizontal ? ipixels.size : Math.abs(vpixels.size),\n width: horizontal ? Math.abs(vpixels.size) : ipixels.size\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode);\n }\n const options = properties.options || bars[i].options;\n setBorderSkipped(properties, options, stack, index);\n setInflateAmount(properties, options, ruler.ratio);\n this.updateElement(bars[i], i, properties, mode);\n }\n }\n _getStacks(last, dataIndex) {\n const {iScale} = this._cachedMeta;\n const metasets = iScale.getMatchingVisibleMetas(this._type)\n .filter(meta => meta.controller.options.grouped);\n const stacked = iScale.options.stacked;\n const stacks = [];\n const skipNull = (meta) => {\n const parsed = meta.controller.getParsed(dataIndex);\n const val = parsed && parsed[meta.vScale.axis];\n if (isNullOrUndef(val) || isNaN(val)) {\n return true;\n }\n };\n for (const meta of metasets) {\n if (dataIndex !== undefined && skipNull(meta)) {\n continue;\n }\n if (stacked === false || stacks.indexOf(meta.stack) === -1 ||\n\t\t\t\t(stacked === undefined && meta.stack === undefined)) {\n stacks.push(meta.stack);\n }\n if (meta.index === last) {\n break;\n }\n }\n if (!stacks.length) {\n stacks.push(undefined);\n }\n return stacks;\n }\n _getStackCount(index) {\n return this._getStacks(undefined, index).length;\n }\n _getStackIndex(datasetIndex, name, dataIndex) {\n const stacks = this._getStacks(datasetIndex, dataIndex);\n const index = (name !== undefined)\n ? stacks.indexOf(name)\n : -1;\n return (index === -1)\n ? stacks.length - 1\n : index;\n }\n _getRuler() {\n const opts = this.options;\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const pixels = [];\n let i, ilen;\n for (i = 0, ilen = meta.data.length; i < ilen; ++i) {\n pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i));\n }\n const barThickness = opts.barThickness;\n const min = barThickness || computeMinSampleSize(meta);\n return {\n min,\n pixels,\n start: iScale._startPixel,\n end: iScale._endPixel,\n stackCount: this._getStackCount(),\n scale: iScale,\n grouped: opts.grouped,\n ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage\n };\n }\n _calculateBarValuePixels(index) {\n const {_cachedMeta: {vScale, _stacked}, options: {base: baseValue, minBarLength}} = this;\n const actualBase = baseValue || 0;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const floating = isFloatBar(custom);\n let value = parsed[vScale.axis];\n let start = 0;\n let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value;\n let head, size;\n if (length !== value) {\n start = length - value;\n length = value;\n }\n if (floating) {\n value = custom.barStart;\n length = custom.barEnd - custom.barStart;\n if (value !== 0 && sign(value) !== sign(custom.barEnd)) {\n start = 0;\n }\n start += value;\n }\n const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start;\n let base = vScale.getPixelForValue(startValue);\n if (this.chart.getDataVisibility(index)) {\n head = vScale.getPixelForValue(start + length);\n } else {\n head = base;\n }\n size = head - base;\n if (Math.abs(size) < minBarLength) {\n size = barSign(size, vScale, actualBase) * minBarLength;\n if (value === actualBase) {\n base -= size / 2;\n }\n const startPixel = vScale.getPixelForDecimal(0);\n const endPixel = vScale.getPixelForDecimal(1);\n const min = Math.min(startPixel, endPixel);\n const max = Math.max(startPixel, endPixel);\n base = Math.max(Math.min(base, max), min);\n head = base + size;\n }\n if (base === vScale.getPixelForValue(actualBase)) {\n const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2;\n base += halfGrid;\n size -= halfGrid;\n }\n return {\n size,\n base,\n head,\n center: head + size / 2\n };\n }\n _calculateBarIndexPixels(index, ruler) {\n const scale = ruler.scale;\n const options = this.options;\n const skipNull = options.skipNull;\n const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity);\n let center, size;\n if (ruler.grouped) {\n const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount;\n const range = options.barThickness === 'flex'\n ? computeFlexCategoryTraits(index, ruler, options, stackCount)\n : computeFitCategoryTraits(index, ruler, options, stackCount);\n const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined);\n center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\n size = Math.min(maxBarThickness, range.chunk * range.ratio);\n } else {\n center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index);\n size = Math.min(maxBarThickness, ruler.min * ruler.ratio);\n }\n return {\n base: center - size / 2,\n head: center + size / 2,\n center,\n size\n };\n }\n draw() {\n const meta = this._cachedMeta;\n const vScale = meta.vScale;\n const rects = meta.data;\n const ilen = rects.length;\n let i = 0;\n for (; i < ilen; ++i) {\n if (this.getParsed(i)[vScale.axis] !== null) {\n rects[i].draw(this._ctx);\n }\n }\n }\n}\nBarController.id = 'bar';\nBarController.defaults = {\n datasetElementType: false,\n dataElementType: 'bar',\n categoryPercentage: 0.8,\n barPercentage: 0.9,\n grouped: true,\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'base', 'width', 'height']\n }\n }\n};\nBarController.overrides = {\n scales: {\n _index_: {\n type: 'category',\n offset: true,\n grid: {\n offset: true\n }\n },\n _value_: {\n type: 'linear',\n beginAtZero: true,\n }\n }\n};\n\nclass BubbleController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n }\n parsePrimitiveData(meta, data, start, count) {\n const parsed = super.parsePrimitiveData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n parsed[i]._custom = this.resolveDataElementOptions(i + start).radius;\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const parsed = super.parseArrayData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const parsed = super.parseObjectData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n getMaxOverflow() {\n const data = this._cachedMeta.data;\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const {xScale, yScale} = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n const r = parsed._custom;\n return {\n label: meta.label,\n value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')'\n };\n }\n update(mode) {\n const points = this._cachedMeta.data;\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale} = this._cachedMeta;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const parsed = !reset && this.getParsed(i);\n const properties = {};\n const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]);\n const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]);\n properties.skip = isNaN(iPixel) || isNaN(vPixel);\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n if (reset) {\n properties.options.radius = 0;\n }\n }\n this.updateElement(point, i, properties, mode);\n }\n }\n resolveDataElementOptions(index, mode) {\n const parsed = this.getParsed(index);\n let values = super.resolveDataElementOptions(index, mode);\n if (values.$shared) {\n values = Object.assign({}, values, {$shared: false});\n }\n const radius = values.radius;\n if (mode !== 'active') {\n values.radius = 0;\n }\n values.radius += valueOrDefault(parsed && parsed._custom, radius);\n return values;\n }\n}\nBubbleController.id = 'bubble';\nBubbleController.defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'borderWidth', 'radius']\n }\n }\n};\nBubbleController.overrides = {\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n }\n }\n }\n }\n};\n\nfunction getRatioAndOffset(rotation, circumference, cutout) {\n let ratioX = 1;\n let ratioY = 1;\n let offsetX = 0;\n let offsetY = 0;\n if (circumference < TAU) {\n const startAngle = rotation;\n const endAngle = startAngle + circumference;\n const startX = Math.cos(startAngle);\n const startY = Math.sin(startAngle);\n const endX = Math.cos(endAngle);\n const endY = Math.sin(endAngle);\n const calcMax = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout);\n const calcMin = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout);\n const maxX = calcMax(0, startX, endX);\n const maxY = calcMax(HALF_PI, startY, endY);\n const minX = calcMin(PI, startX, endX);\n const minY = calcMin(PI + HALF_PI, startY, endY);\n ratioX = (maxX - minX) / 2;\n ratioY = (maxY - minY) / 2;\n offsetX = -(maxX + minX) / 2;\n offsetY = -(maxY + minY) / 2;\n }\n return {ratioX, ratioY, offsetX, offsetY};\n}\nclass DoughnutController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.enableOptionSharing = true;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.offsetX = undefined;\n this.offsetY = undefined;\n }\n linkScales() {}\n parse(start, count) {\n const data = this.getDataset().data;\n const meta = this._cachedMeta;\n if (this._parsing === false) {\n meta._parsed = data;\n } else {\n let getter = (i) => +data[i];\n if (isObject(data[start])) {\n const {key = 'value'} = this._parsing;\n getter = (i) => +resolveObjectKey(data[i], key);\n }\n let i, ilen;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n meta._parsed[i] = getter(i);\n }\n }\n }\n _getRotation() {\n return toRadians(this.options.rotation - 90);\n }\n _getCircumference() {\n return toRadians(this.options.circumference);\n }\n _getRotationExtents() {\n let min = TAU;\n let max = -TAU;\n for (let i = 0; i < this.chart.data.datasets.length; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n const controller = this.chart.getDatasetMeta(i).controller;\n const rotation = controller._getRotation();\n const circumference = controller._getCircumference();\n min = Math.min(min, rotation);\n max = Math.max(max, rotation + circumference);\n }\n }\n return {\n rotation: min,\n circumference: max - min,\n };\n }\n update(mode) {\n const chart = this.chart;\n const {chartArea} = chart;\n const meta = this._cachedMeta;\n const arcs = meta.data;\n const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing;\n const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0);\n const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1);\n const chartWeight = this._getRingWeight(this.index);\n const {circumference, rotation} = this._getRotationExtents();\n const {ratioX, ratioY, offsetX, offsetY} = getRatioAndOffset(rotation, circumference, cutout);\n const maxWidth = (chartArea.width - spacing) / ratioX;\n const maxHeight = (chartArea.height - spacing) / ratioY;\n const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n const outerRadius = toDimension(this.options.radius, maxRadius);\n const innerRadius = Math.max(outerRadius * cutout, 0);\n const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal();\n this.offsetX = offsetX * outerRadius;\n this.offsetY = offsetY * outerRadius;\n meta.total = this.calculateTotal();\n this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index);\n this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0);\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n _circumference(i, reset) {\n const opts = this.options;\n const meta = this._cachedMeta;\n const circumference = this._getCircumference();\n if ((reset && opts.animation.animateRotate) || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) {\n return 0;\n }\n return this.calculateCircumference(meta._parsed[i] * circumference / TAU);\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const centerX = (chartArea.left + chartArea.right) / 2;\n const centerY = (chartArea.top + chartArea.bottom) / 2;\n const animateScale = reset && animationOpts.animateScale;\n const innerRadius = animateScale ? 0 : this.innerRadius;\n const outerRadius = animateScale ? 0 : this.outerRadius;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n let startAngle = this._getRotation();\n let i;\n for (i = 0; i < start; ++i) {\n startAngle += this._circumference(i, reset);\n }\n for (i = start; i < start + count; ++i) {\n const circumference = this._circumference(i, reset);\n const arc = arcs[i];\n const properties = {\n x: centerX + this.offsetX,\n y: centerY + this.offsetY,\n startAngle,\n endAngle: startAngle + circumference,\n circumference,\n outerRadius,\n innerRadius\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode);\n }\n startAngle += circumference;\n this.updateElement(arc, i, properties, mode);\n }\n }\n calculateTotal() {\n const meta = this._cachedMeta;\n const metaData = meta.data;\n let total = 0;\n let i;\n for (i = 0; i < metaData.length; i++) {\n const value = meta._parsed[i];\n if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) {\n total += Math.abs(value);\n }\n }\n return total;\n }\n calculateCircumference(value) {\n const total = this._cachedMeta.total;\n if (total > 0 && !isNaN(value)) {\n return TAU * (Math.abs(value) / total);\n }\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index], chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n getMaxBorderWidth(arcs) {\n let max = 0;\n const chart = this.chart;\n let i, ilen, meta, controller, options;\n if (!arcs) {\n for (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\n if (chart.isDatasetVisible(i)) {\n meta = chart.getDatasetMeta(i);\n arcs = meta.data;\n controller = meta.controller;\n break;\n }\n }\n }\n if (!arcs) {\n return 0;\n }\n for (i = 0, ilen = arcs.length; i < ilen; ++i) {\n options = controller.resolveDataElementOptions(i);\n if (options.borderAlign !== 'inner') {\n max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0);\n }\n }\n return max;\n }\n getMaxOffset(arcs) {\n let max = 0;\n for (let i = 0, ilen = arcs.length; i < ilen; ++i) {\n const options = this.resolveDataElementOptions(i);\n max = Math.max(max, options.offset || 0, options.hoverOffset || 0);\n }\n return max;\n }\n _getRingWeightOffset(datasetIndex) {\n let ringWeightOffset = 0;\n for (let i = 0; i < datasetIndex; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n ringWeightOffset += this._getRingWeight(i);\n }\n }\n return ringWeightOffset;\n }\n _getRingWeight(datasetIndex) {\n return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0);\n }\n _getVisibleDatasetWeightTotal() {\n return this._getRingWeightOffset(this.chart.data.datasets.length) || 1;\n }\n}\nDoughnutController.id = 'doughnut';\nDoughnutController.defaults = {\n datasetElementType: false,\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: false\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['circumference', 'endAngle', 'innerRadius', 'outerRadius', 'startAngle', 'x', 'y', 'offset', 'borderWidth', 'spacing']\n },\n },\n cutout: '50%',\n rotation: 0,\n circumference: 360,\n radius: '100%',\n spacing: 0,\n indexAxis: 'r',\n};\nDoughnutController.descriptors = {\n _scriptable: (name) => name !== 'spacing',\n _indexable: (name) => name !== 'spacing',\n};\nDoughnutController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(tooltipItem) {\n let dataLabel = tooltipItem.label;\n const value = ': ' + tooltipItem.formattedValue;\n if (isArray(dataLabel)) {\n dataLabel = dataLabel.slice();\n dataLabel[0] += value;\n } else {\n dataLabel += value;\n }\n return dataLabel;\n }\n }\n }\n }\n};\n\nclass LineController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n this.supportsDecimation = true;\n super.initialize();\n }\n update(mode) {\n const meta = this._cachedMeta;\n const {dataset: line, data: points = [], _dataset} = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n this.updateElements(points, start, count, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const {spanGaps, segment} = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for (let i = start; i < start + count; ++i) {\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n const data = meta.data || [];\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n draw() {\n const meta = this._cachedMeta;\n meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis);\n super.draw();\n }\n}\nLineController.id = 'line';\nLineController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n showLine: true,\n spanGaps: false,\n};\nLineController.overrides = {\n scales: {\n _index_: {\n type: 'category',\n },\n _value_: {\n type: 'linear',\n },\n }\n};\n\nclass PolarAreaController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index].r, chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const arcs = this._cachedMeta.data;\n this._updateRadius();\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n getMinMax() {\n const meta = this._cachedMeta;\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n meta.data.forEach((element, index) => {\n const parsed = this.getParsed(index).r;\n if (!isNaN(parsed) && this.chart.getDataVisibility(index)) {\n if (parsed < range.min) {\n range.min = parsed;\n }\n if (parsed > range.max) {\n range.max = parsed;\n }\n }\n });\n return range;\n }\n _updateRadius() {\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n const outerRadius = Math.max(minSize / 2, 0);\n const innerRadius = Math.max(opts.cutoutPercentage ? (outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\n const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount();\n this.outerRadius = outerRadius - (radiusLength * this.index);\n this.innerRadius = this.outerRadius - radiusLength;\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const scale = this._cachedMeta.rScale;\n const centerX = scale.xCenter;\n const centerY = scale.yCenter;\n const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI;\n let angle = datasetStartAngle;\n let i;\n const defaultAngle = 360 / this.countVisibleElements();\n for (i = 0; i < start; ++i) {\n angle += this._computeAngle(i, mode, defaultAngle);\n }\n for (i = start; i < start + count; i++) {\n const arc = arcs[i];\n let startAngle = angle;\n let endAngle = angle + this._computeAngle(i, mode, defaultAngle);\n let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0;\n angle = endAngle;\n if (reset) {\n if (animationOpts.animateScale) {\n outerRadius = 0;\n }\n if (animationOpts.animateRotate) {\n startAngle = endAngle = datasetStartAngle;\n }\n }\n const properties = {\n x: centerX,\n y: centerY,\n innerRadius: 0,\n outerRadius,\n startAngle,\n endAngle,\n options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode)\n };\n this.updateElement(arc, i, properties, mode);\n }\n }\n countVisibleElements() {\n const meta = this._cachedMeta;\n let count = 0;\n meta.data.forEach((element, index) => {\n if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) {\n count++;\n }\n });\n return count;\n }\n _computeAngle(index, mode, defaultAngle) {\n return this.chart.getDataVisibility(index)\n ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle)\n : 0;\n }\n}\nPolarAreaController.id = 'polarArea';\nPolarAreaController.defaults = {\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: true\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'startAngle', 'endAngle', 'innerRadius', 'outerRadius']\n },\n },\n indexAxis: 'r',\n startAngle: 0,\n};\nPolarAreaController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(context) {\n return context.chart.data.labels[context.dataIndex] + ': ' + context.formattedValue;\n }\n }\n }\n },\n scales: {\n r: {\n type: 'radialLinear',\n angleLines: {\n display: false\n },\n beginAtZero: true,\n grid: {\n circular: true\n },\n pointLabels: {\n display: false\n },\n startAngle: 0\n }\n }\n};\n\nclass PieController extends DoughnutController {\n}\nPieController.id = 'pie';\nPieController.defaults = {\n cutout: 0,\n rotation: 0,\n circumference: 360,\n radius: '100%'\n};\n\nclass RadarController extends DatasetController {\n getLabelAndValue(index) {\n const vScale = this._cachedMeta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: vScale.getLabels()[index],\n value: '' + vScale.getLabelForValue(parsed[vScale.axis])\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const meta = this._cachedMeta;\n const line = meta.dataset;\n const points = meta.data || [];\n const labels = meta.iScale.getLabels();\n line.points = points;\n if (mode !== 'resize') {\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n const properties = {\n _loop: true,\n _fullLoop: labels.length === points.length,\n options\n };\n this.updateElement(line, undefined, properties, mode);\n }\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const scale = this._cachedMeta.rScale;\n const reset = mode === 'reset';\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r);\n const x = reset ? scale.xCenter : pointPosition.x;\n const y = reset ? scale.yCenter : pointPosition.y;\n const properties = {\n x,\n y,\n angle: pointPosition.angle,\n skip: isNaN(x) || isNaN(y),\n options\n };\n this.updateElement(point, i, properties, mode);\n }\n }\n}\nRadarController.id = 'radar';\nRadarController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n indexAxis: 'r',\n showLine: true,\n elements: {\n line: {\n fill: 'start'\n }\n },\n};\nRadarController.overrides = {\n aspectRatio: 1,\n scales: {\n r: {\n type: 'radialLinear',\n }\n }\n};\n\nclass Element {\n constructor() {\n this.x = undefined;\n this.y = undefined;\n this.active = false;\n this.options = undefined;\n this.$animations = undefined;\n }\n tooltipPosition(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n hasValue() {\n return isNumber(this.x) && isNumber(this.y);\n }\n getProps(props, final) {\n const anims = this.$animations;\n if (!final || !anims) {\n return this;\n }\n const ret = {};\n props.forEach(prop => {\n ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop];\n });\n return ret;\n }\n}\nElement.defaults = {};\nElement.defaultRoutes = undefined;\n\nconst formatters = {\n values(value) {\n return isArray(value) ? value : '' + value;\n },\n numeric(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const locale = this.chart.options.locale;\n let notation;\n let delta = tickValue;\n if (ticks.length > 1) {\n const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value));\n if (maxTick < 1e-4 || maxTick > 1e+15) {\n notation = 'scientific';\n }\n delta = calculateDelta(tickValue, ticks);\n }\n const logDelta = log10(Math.abs(delta));\n const numDecimal = Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0);\n const options = {notation, minimumFractionDigits: numDecimal, maximumFractionDigits: numDecimal};\n Object.assign(options, this.options.ticks.format);\n return formatNumber(tickValue, locale, options);\n },\n logarithmic(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const remain = tickValue / (Math.pow(10, Math.floor(log10(tickValue))));\n if (remain === 1 || remain === 2 || remain === 5) {\n return formatters.numeric.call(this, tickValue, index, ticks);\n }\n return '';\n }\n};\nfunction calculateDelta(tickValue, ticks) {\n let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value;\n if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) {\n delta = tickValue - Math.floor(tickValue);\n }\n return delta;\n}\nvar Ticks = {formatters};\n\ndefaults.set('scale', {\n display: true,\n offset: false,\n reverse: false,\n beginAtZero: false,\n bounds: 'ticks',\n grace: 0,\n grid: {\n display: true,\n lineWidth: 1,\n drawBorder: true,\n drawOnChartArea: true,\n drawTicks: true,\n tickLength: 8,\n tickWidth: (_ctx, options) => options.lineWidth,\n tickColor: (_ctx, options) => options.color,\n offset: false,\n borderDash: [],\n borderDashOffset: 0.0,\n borderWidth: 1\n },\n title: {\n display: false,\n text: '',\n padding: {\n top: 4,\n bottom: 4\n }\n },\n ticks: {\n minRotation: 0,\n maxRotation: 50,\n mirror: false,\n textStrokeWidth: 0,\n textStrokeColor: '',\n padding: 3,\n display: true,\n autoSkip: true,\n autoSkipPadding: 3,\n labelOffset: 0,\n callback: Ticks.formatters.values,\n minor: {},\n major: {},\n align: 'center',\n crossAlign: 'near',\n showLabelBackdrop: false,\n backdropColor: 'rgba(255, 255, 255, 0.75)',\n backdropPadding: 2,\n }\n});\ndefaults.route('scale.ticks', 'color', '', 'color');\ndefaults.route('scale.grid', 'color', '', 'borderColor');\ndefaults.route('scale.grid', 'borderColor', '', 'borderColor');\ndefaults.route('scale.title', 'color', '', 'color');\ndefaults.describe('scale', {\n _fallback: false,\n _scriptable: (name) => !name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser',\n _indexable: (name) => name !== 'borderDash' && name !== 'tickBorderDash',\n});\ndefaults.describe('scales', {\n _fallback: 'scale',\n});\ndefaults.describe('scale.ticks', {\n _scriptable: (name) => name !== 'backdropPadding' && name !== 'callback',\n _indexable: (name) => name !== 'backdropPadding',\n});\n\nfunction autoSkip(scale, ticks) {\n const tickOpts = scale.options.ticks;\n const ticksLimit = tickOpts.maxTicksLimit || determineMaxTicks(scale);\n const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\n const numMajorIndices = majorIndices.length;\n const first = majorIndices[0];\n const last = majorIndices[numMajorIndices - 1];\n const newTicks = [];\n if (numMajorIndices > ticksLimit) {\n skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit);\n return newTicks;\n }\n const spacing = calculateSpacing(majorIndices, ticks, ticksLimit);\n if (numMajorIndices > 0) {\n let i, ilen;\n const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null;\n skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\n for (i = 0, ilen = numMajorIndices - 1; i < ilen; i++) {\n skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]);\n }\n skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\n return newTicks;\n }\n skip(ticks, newTicks, spacing);\n return newTicks;\n}\nfunction determineMaxTicks(scale) {\n const offset = scale.options.offset;\n const tickLength = scale._tickSize();\n const maxScale = scale._length / tickLength + (offset ? 0 : 1);\n const maxChart = scale._maxLength / tickLength;\n return Math.floor(Math.min(maxScale, maxChart));\n}\nfunction calculateSpacing(majorIndices, ticks, ticksLimit) {\n const evenMajorSpacing = getEvenSpacing(majorIndices);\n const spacing = ticks.length / ticksLimit;\n if (!evenMajorSpacing) {\n return Math.max(spacing, 1);\n }\n const factors = _factorize(evenMajorSpacing);\n for (let i = 0, ilen = factors.length - 1; i < ilen; i++) {\n const factor = factors[i];\n if (factor > spacing) {\n return factor;\n }\n }\n return Math.max(spacing, 1);\n}\nfunction getMajorIndices(ticks) {\n const result = [];\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (ticks[i].major) {\n result.push(i);\n }\n }\n return result;\n}\nfunction skipMajors(ticks, newTicks, majorIndices, spacing) {\n let count = 0;\n let next = majorIndices[0];\n let i;\n spacing = Math.ceil(spacing);\n for (i = 0; i < ticks.length; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = majorIndices[count * spacing];\n }\n }\n}\nfunction skip(ticks, newTicks, spacing, majorStart, majorEnd) {\n const start = valueOrDefault(majorStart, 0);\n const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length);\n let count = 0;\n let length, i, next;\n spacing = Math.ceil(spacing);\n if (majorEnd) {\n length = majorEnd - majorStart;\n spacing = length / Math.floor(length / spacing);\n }\n next = start;\n while (next < 0) {\n count++;\n next = Math.round(start + count * spacing);\n }\n for (i = Math.max(start, 0); i < end; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = Math.round(start + count * spacing);\n }\n }\n}\nfunction getEvenSpacing(arr) {\n const len = arr.length;\n let i, diff;\n if (len < 2) {\n return false;\n }\n for (diff = arr[0], i = 1; i < len; ++i) {\n if (arr[i] - arr[i - 1] !== diff) {\n return false;\n }\n }\n return diff;\n}\n\nconst reverseAlign = (align) => align === 'left' ? 'right' : align === 'right' ? 'left' : align;\nconst offsetFromEdge = (scale, edge, offset) => edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset;\nfunction sample(arr, numItems) {\n const result = [];\n const increment = arr.length / numItems;\n const len = arr.length;\n let i = 0;\n for (; i < len; i += increment) {\n result.push(arr[Math.floor(i)]);\n }\n return result;\n}\nfunction getPixelForGridLine(scale, index, offsetGridLines) {\n const length = scale.ticks.length;\n const validIndex = Math.min(index, length - 1);\n const start = scale._startPixel;\n const end = scale._endPixel;\n const epsilon = 1e-6;\n let lineValue = scale.getPixelForTick(validIndex);\n let offset;\n if (offsetGridLines) {\n if (length === 1) {\n offset = Math.max(lineValue - start, end - lineValue);\n } else if (index === 0) {\n offset = (scale.getPixelForTick(1) - lineValue) / 2;\n } else {\n offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\n }\n lineValue += validIndex < index ? offset : -offset;\n if (lineValue < start - epsilon || lineValue > end + epsilon) {\n return;\n }\n }\n return lineValue;\n}\nfunction garbageCollect(caches, length) {\n each(caches, (cache) => {\n const gc = cache.gc;\n const gcLen = gc.length / 2;\n let i;\n if (gcLen > length) {\n for (i = 0; i < gcLen; ++i) {\n delete cache.data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n });\n}\nfunction getTickMarkLength(options) {\n return options.drawTicks ? options.tickLength : 0;\n}\nfunction getTitleHeight(options, fallback) {\n if (!options.display) {\n return 0;\n }\n const font = toFont(options.font, fallback);\n const padding = toPadding(options.padding);\n const lines = isArray(options.text) ? options.text.length : 1;\n return (lines * font.lineHeight) + padding.height;\n}\nfunction createScaleContext(parent, scale) {\n return createContext(parent, {\n scale,\n type: 'scale'\n });\n}\nfunction createTickContext(parent, index, tick) {\n return createContext(parent, {\n tick,\n index,\n type: 'tick'\n });\n}\nfunction titleAlign(align, position, reverse) {\n let ret = _toLeftRightCenter(align);\n if ((reverse && position !== 'right') || (!reverse && position === 'right')) {\n ret = reverseAlign(ret);\n }\n return ret;\n}\nfunction titleArgs(scale, offset, position, align) {\n const {top, left, bottom, right, chart} = scale;\n const {chartArea, scales} = chart;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n const height = bottom - top;\n const width = right - left;\n if (scale.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleY = scales[positionAxisID].getPixelForValue(value) + height - offset;\n } else if (position === 'center') {\n titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset;\n } else {\n titleY = offsetFromEdge(scale, position, offset);\n }\n maxWidth = right - left;\n } else {\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleX = scales[positionAxisID].getPixelForValue(value) - width + offset;\n } else if (position === 'center') {\n titleX = (chartArea.left + chartArea.right) / 2 - width + offset;\n } else {\n titleX = offsetFromEdge(scale, position, offset);\n }\n titleY = _alignStartEnd(align, bottom, top);\n rotation = position === 'left' ? -HALF_PI : HALF_PI;\n }\n return {titleX, titleY, maxWidth, rotation};\n}\nclass Scale extends Element {\n constructor(cfg) {\n super();\n this.id = cfg.id;\n this.type = cfg.type;\n this.options = undefined;\n this.ctx = cfg.ctx;\n this.chart = cfg.chart;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this._margins = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n this.maxWidth = undefined;\n this.maxHeight = undefined;\n this.paddingTop = undefined;\n this.paddingBottom = undefined;\n this.paddingLeft = undefined;\n this.paddingRight = undefined;\n this.axis = undefined;\n this.labelRotation = undefined;\n this.min = undefined;\n this.max = undefined;\n this._range = undefined;\n this.ticks = [];\n this._gridLineItems = null;\n this._labelItems = null;\n this._labelSizes = null;\n this._length = 0;\n this._maxLength = 0;\n this._longestTextCache = {};\n this._startPixel = undefined;\n this._endPixel = undefined;\n this._reversePixels = false;\n this._userMax = undefined;\n this._userMin = undefined;\n this._suggestedMax = undefined;\n this._suggestedMin = undefined;\n this._ticksLength = 0;\n this._borderValue = 0;\n this._cache = {};\n this._dataLimitsCached = false;\n this.$context = undefined;\n }\n init(options) {\n this.options = options.setContext(this.getContext());\n this.axis = options.axis;\n this._userMin = this.parse(options.min);\n this._userMax = this.parse(options.max);\n this._suggestedMin = this.parse(options.suggestedMin);\n this._suggestedMax = this.parse(options.suggestedMax);\n }\n parse(raw, index) {\n return raw;\n }\n getUserBounds() {\n let {_userMin, _userMax, _suggestedMin, _suggestedMax} = this;\n _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY);\n _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY);\n _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY);\n _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY);\n return {\n min: finiteOrDefault(_userMin, _suggestedMin),\n max: finiteOrDefault(_userMax, _suggestedMax),\n minDefined: isNumberFinite(_userMin),\n maxDefined: isNumberFinite(_userMax)\n };\n }\n getMinMax(canStack) {\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n let range;\n if (minDefined && maxDefined) {\n return {min, max};\n }\n const metas = this.getMatchingVisibleMetas();\n for (let i = 0, ilen = metas.length; i < ilen; ++i) {\n range = metas[i].controller.getMinMax(this, canStack);\n if (!minDefined) {\n min = Math.min(min, range.min);\n }\n if (!maxDefined) {\n max = Math.max(max, range.max);\n }\n }\n min = maxDefined && min > max ? max : min;\n max = minDefined && min > max ? min : max;\n return {\n min: finiteOrDefault(min, finiteOrDefault(max, min)),\n max: finiteOrDefault(max, finiteOrDefault(min, max))\n };\n }\n getPadding() {\n return {\n left: this.paddingLeft || 0,\n top: this.paddingTop || 0,\n right: this.paddingRight || 0,\n bottom: this.paddingBottom || 0\n };\n }\n getTicks() {\n return this.ticks;\n }\n getLabels() {\n const data = this.chart.data;\n return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\n }\n beforeLayout() {\n this._cache = {};\n this._dataLimitsCached = false;\n }\n beforeUpdate() {\n callback(this.options.beforeUpdate, [this]);\n }\n update(maxWidth, maxHeight, margins) {\n const {beginAtZero, grace, ticks: tickOpts} = this.options;\n const sampleSize = tickOpts.sampleSize;\n this.beforeUpdate();\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins = Object.assign({\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }, margins);\n this.ticks = null;\n this._labelSizes = null;\n this._gridLineItems = null;\n this._labelItems = null;\n this.beforeSetDimensions();\n this.setDimensions();\n this.afterSetDimensions();\n this._maxLength = this.isHorizontal()\n ? this.width + margins.left + margins.right\n : this.height + margins.top + margins.bottom;\n if (!this._dataLimitsCached) {\n this.beforeDataLimits();\n this.determineDataLimits();\n this.afterDataLimits();\n this._range = _addGrace(this, grace, beginAtZero);\n this._dataLimitsCached = true;\n }\n this.beforeBuildTicks();\n this.ticks = this.buildTicks() || [];\n this.afterBuildTicks();\n const samplingEnabled = sampleSize < this.ticks.length;\n this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks);\n this.configure();\n this.beforeCalculateLabelRotation();\n this.calculateLabelRotation();\n this.afterCalculateLabelRotation();\n if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) {\n this.ticks = autoSkip(this, this.ticks);\n this._labelSizes = null;\n this.afterAutoSkip();\n }\n if (samplingEnabled) {\n this._convertTicksToLabels(this.ticks);\n }\n this.beforeFit();\n this.fit();\n this.afterFit();\n this.afterUpdate();\n }\n configure() {\n let reversePixels = this.options.reverse;\n let startPixel, endPixel;\n if (this.isHorizontal()) {\n startPixel = this.left;\n endPixel = this.right;\n } else {\n startPixel = this.top;\n endPixel = this.bottom;\n reversePixels = !reversePixels;\n }\n this._startPixel = startPixel;\n this._endPixel = endPixel;\n this._reversePixels = reversePixels;\n this._length = endPixel - startPixel;\n this._alignToPixels = this.options.alignToPixels;\n }\n afterUpdate() {\n callback(this.options.afterUpdate, [this]);\n }\n beforeSetDimensions() {\n callback(this.options.beforeSetDimensions, [this]);\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = 0;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = 0;\n this.bottom = this.height;\n }\n this.paddingLeft = 0;\n this.paddingTop = 0;\n this.paddingRight = 0;\n this.paddingBottom = 0;\n }\n afterSetDimensions() {\n callback(this.options.afterSetDimensions, [this]);\n }\n _callHooks(name) {\n this.chart.notifyPlugins(name, this.getContext());\n callback(this.options[name], [this]);\n }\n beforeDataLimits() {\n this._callHooks('beforeDataLimits');\n }\n determineDataLimits() {}\n afterDataLimits() {\n this._callHooks('afterDataLimits');\n }\n beforeBuildTicks() {\n this._callHooks('beforeBuildTicks');\n }\n buildTicks() {\n return [];\n }\n afterBuildTicks() {\n this._callHooks('afterBuildTicks');\n }\n beforeTickToLabelConversion() {\n callback(this.options.beforeTickToLabelConversion, [this]);\n }\n generateTickLabels(ticks) {\n const tickOpts = this.options.ticks;\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n tick = ticks[i];\n tick.label = callback(tickOpts.callback, [tick.value, i, ticks], this);\n }\n }\n afterTickToLabelConversion() {\n callback(this.options.afterTickToLabelConversion, [this]);\n }\n beforeCalculateLabelRotation() {\n callback(this.options.beforeCalculateLabelRotation, [this]);\n }\n calculateLabelRotation() {\n const options = this.options;\n const tickOpts = options.ticks;\n const numTicks = this.ticks.length;\n const minRotation = tickOpts.minRotation || 0;\n const maxRotation = tickOpts.maxRotation;\n let labelRotation = minRotation;\n let tickWidth, maxHeight, maxLabelDiagonal;\n if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) {\n this.labelRotation = minRotation;\n return;\n }\n const labelSizes = this._getLabelSizes();\n const maxLabelWidth = labelSizes.widest.width;\n const maxLabelHeight = labelSizes.highest.height;\n const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth);\n tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1);\n if (maxLabelWidth + 6 > tickWidth) {\n tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\n maxHeight = this.maxHeight - getTickMarkLength(options.grid)\n\t\t\t\t- tickOpts.padding - getTitleHeight(options.title, this.chart.options.font);\n maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\n labelRotation = toDegrees(Math.min(\n Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)),\n Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1))\n ));\n labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\n }\n this.labelRotation = labelRotation;\n }\n afterCalculateLabelRotation() {\n callback(this.options.afterCalculateLabelRotation, [this]);\n }\n afterAutoSkip() {}\n beforeFit() {\n callback(this.options.beforeFit, [this]);\n }\n fit() {\n const minSize = {\n width: 0,\n height: 0\n };\n const {chart, options: {ticks: tickOpts, title: titleOpts, grid: gridOpts}} = this;\n const display = this._isVisible();\n const isHorizontal = this.isHorizontal();\n if (display) {\n const titleHeight = getTitleHeight(titleOpts, chart.options.font);\n if (isHorizontal) {\n minSize.width = this.maxWidth;\n minSize.height = getTickMarkLength(gridOpts) + titleHeight;\n } else {\n minSize.height = this.maxHeight;\n minSize.width = getTickMarkLength(gridOpts) + titleHeight;\n }\n if (tickOpts.display && this.ticks.length) {\n const {first, last, widest, highest} = this._getLabelSizes();\n const tickPadding = tickOpts.padding * 2;\n const angleRadians = toRadians(this.labelRotation);\n const cos = Math.cos(angleRadians);\n const sin = Math.sin(angleRadians);\n if (isHorizontal) {\n const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height;\n minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding);\n } else {\n const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height;\n minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding);\n }\n this._calculatePadding(first, last, sin, cos);\n }\n }\n this._handleMargins();\n if (isHorizontal) {\n this.width = this._length = chart.width - this._margins.left - this._margins.right;\n this.height = minSize.height;\n } else {\n this.width = minSize.width;\n this.height = this._length = chart.height - this._margins.top - this._margins.bottom;\n }\n }\n _calculatePadding(first, last, sin, cos) {\n const {ticks: {align, padding}, position} = this.options;\n const isRotated = this.labelRotation !== 0;\n const labelsBelowTicks = position !== 'top' && this.axis === 'x';\n if (this.isHorizontal()) {\n const offsetLeft = this.getPixelForTick(0) - this.left;\n const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1);\n let paddingLeft = 0;\n let paddingRight = 0;\n if (isRotated) {\n if (labelsBelowTicks) {\n paddingLeft = cos * first.width;\n paddingRight = sin * last.height;\n } else {\n paddingLeft = sin * first.height;\n paddingRight = cos * last.width;\n }\n } else if (align === 'start') {\n paddingRight = last.width;\n } else if (align === 'end') {\n paddingLeft = first.width;\n } else if (align !== 'inner') {\n paddingLeft = first.width / 2;\n paddingRight = last.width / 2;\n }\n this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0);\n this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0);\n } else {\n let paddingTop = last.height / 2;\n let paddingBottom = first.height / 2;\n if (align === 'start') {\n paddingTop = 0;\n paddingBottom = first.height;\n } else if (align === 'end') {\n paddingTop = last.height;\n paddingBottom = 0;\n }\n this.paddingTop = paddingTop + padding;\n this.paddingBottom = paddingBottom + padding;\n }\n }\n _handleMargins() {\n if (this._margins) {\n this._margins.left = Math.max(this.paddingLeft, this._margins.left);\n this._margins.top = Math.max(this.paddingTop, this._margins.top);\n this._margins.right = Math.max(this.paddingRight, this._margins.right);\n this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom);\n }\n }\n afterFit() {\n callback(this.options.afterFit, [this]);\n }\n isHorizontal() {\n const {axis, position} = this.options;\n return position === 'top' || position === 'bottom' || axis === 'x';\n }\n isFullSize() {\n return this.options.fullSize;\n }\n _convertTicksToLabels(ticks) {\n this.beforeTickToLabelConversion();\n this.generateTickLabels(ticks);\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (isNullOrUndef(ticks[i].label)) {\n ticks.splice(i, 1);\n ilen--;\n i--;\n }\n }\n this.afterTickToLabelConversion();\n }\n _getLabelSizes() {\n let labelSizes = this._labelSizes;\n if (!labelSizes) {\n const sampleSize = this.options.ticks.sampleSize;\n let ticks = this.ticks;\n if (sampleSize < ticks.length) {\n ticks = sample(ticks, sampleSize);\n }\n this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length);\n }\n return labelSizes;\n }\n _computeLabelSizes(ticks, length) {\n const {ctx, _longestTextCache: caches} = this;\n const widths = [];\n const heights = [];\n let widestLabelSize = 0;\n let highestLabelSize = 0;\n let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel;\n for (i = 0; i < length; ++i) {\n label = ticks[i].label;\n tickFont = this._resolveTickFontOptions(i);\n ctx.font = fontString = tickFont.string;\n cache = caches[fontString] = caches[fontString] || {data: {}, gc: []};\n lineHeight = tickFont.lineHeight;\n width = height = 0;\n if (!isNullOrUndef(label) && !isArray(label)) {\n width = _measureText(ctx, cache.data, cache.gc, width, label);\n height = lineHeight;\n } else if (isArray(label)) {\n for (j = 0, jlen = label.length; j < jlen; ++j) {\n nestedLabel = label[j];\n if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) {\n width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel);\n height += lineHeight;\n }\n }\n }\n widths.push(width);\n heights.push(height);\n widestLabelSize = Math.max(width, widestLabelSize);\n highestLabelSize = Math.max(height, highestLabelSize);\n }\n garbageCollect(caches, length);\n const widest = widths.indexOf(widestLabelSize);\n const highest = heights.indexOf(highestLabelSize);\n const valueAt = (idx) => ({width: widths[idx] || 0, height: heights[idx] || 0});\n return {\n first: valueAt(0),\n last: valueAt(length - 1),\n widest: valueAt(widest),\n highest: valueAt(highest),\n widths,\n heights,\n };\n }\n getLabelForValue(value) {\n return value;\n }\n getPixelForValue(value, index) {\n return NaN;\n }\n getValueForPixel(pixel) {}\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getPixelForDecimal(decimal) {\n if (this._reversePixels) {\n decimal = 1 - decimal;\n }\n const pixel = this._startPixel + decimal * this._length;\n return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel);\n }\n getDecimalForPixel(pixel) {\n const decimal = (pixel - this._startPixel) / this._length;\n return this._reversePixels ? 1 - decimal : decimal;\n }\n getBasePixel() {\n return this.getPixelForValue(this.getBaseValue());\n }\n getBaseValue() {\n const {min, max} = this;\n return min < 0 && max < 0 ? max :\n min > 0 && max > 0 ? min :\n 0;\n }\n getContext(index) {\n const ticks = this.ticks || [];\n if (index >= 0 && index < ticks.length) {\n const tick = ticks[index];\n return tick.$context ||\n\t\t\t\t(tick.$context = createTickContext(this.getContext(), index, tick));\n }\n return this.$context ||\n\t\t\t(this.$context = createScaleContext(this.chart.getContext(), this));\n }\n _tickSize() {\n const optionTicks = this.options.ticks;\n const rot = toRadians(this.labelRotation);\n const cos = Math.abs(Math.cos(rot));\n const sin = Math.abs(Math.sin(rot));\n const labelSizes = this._getLabelSizes();\n const padding = optionTicks.autoSkipPadding || 0;\n const w = labelSizes ? labelSizes.widest.width + padding : 0;\n const h = labelSizes ? labelSizes.highest.height + padding : 0;\n return this.isHorizontal()\n ? h * cos > w * sin ? w / cos : h / sin\n : h * sin < w * cos ? h / cos : w / sin;\n }\n _isVisible() {\n const display = this.options.display;\n if (display !== 'auto') {\n return !!display;\n }\n return this.getMatchingVisibleMetas().length > 0;\n }\n _computeGridLineItems(chartArea) {\n const axis = this.axis;\n const chart = this.chart;\n const options = this.options;\n const {grid, position} = options;\n const offset = grid.offset;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const ticksLength = ticks.length + (offset ? 1 : 0);\n const tl = getTickMarkLength(grid);\n const items = [];\n const borderOpts = grid.setContext(this.getContext());\n const axisWidth = borderOpts.drawBorder ? borderOpts.borderWidth : 0;\n const axisHalfWidth = axisWidth / 2;\n const alignBorderValue = function(pixel) {\n return _alignPixel(chart, pixel, axisWidth);\n };\n let borderValue, i, lineValue, alignedLineValue;\n let tx1, ty1, tx2, ty2, x1, y1, x2, y2;\n if (position === 'top') {\n borderValue = alignBorderValue(this.bottom);\n ty1 = this.bottom - tl;\n ty2 = borderValue - axisHalfWidth;\n y1 = alignBorderValue(chartArea.top) + axisHalfWidth;\n y2 = chartArea.bottom;\n } else if (position === 'bottom') {\n borderValue = alignBorderValue(this.top);\n y1 = chartArea.top;\n y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\n ty1 = borderValue + axisHalfWidth;\n ty2 = this.top + tl;\n } else if (position === 'left') {\n borderValue = alignBorderValue(this.right);\n tx1 = this.right - tl;\n tx2 = borderValue - axisHalfWidth;\n x1 = alignBorderValue(chartArea.left) + axisHalfWidth;\n x2 = chartArea.right;\n } else if (position === 'right') {\n borderValue = alignBorderValue(this.left);\n x1 = chartArea.left;\n x2 = alignBorderValue(chartArea.right) - axisHalfWidth;\n tx1 = borderValue + axisHalfWidth;\n tx2 = this.left + tl;\n } else if (axis === 'x') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n y1 = chartArea.top;\n y2 = chartArea.bottom;\n ty1 = borderValue + axisHalfWidth;\n ty2 = ty1 + tl;\n } else if (axis === 'y') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n tx1 = borderValue - axisHalfWidth;\n tx2 = tx1 - tl;\n x1 = chartArea.left;\n x2 = chartArea.right;\n }\n const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength);\n const step = Math.max(1, Math.ceil(ticksLength / limit));\n for (i = 0; i < ticksLength; i += step) {\n const optsAtIndex = grid.setContext(this.getContext(i));\n const lineWidth = optsAtIndex.lineWidth;\n const lineColor = optsAtIndex.color;\n const borderDash = optsAtIndex.borderDash || [];\n const borderDashOffset = optsAtIndex.borderDashOffset;\n const tickWidth = optsAtIndex.tickWidth;\n const tickColor = optsAtIndex.tickColor;\n const tickBorderDash = optsAtIndex.tickBorderDash || [];\n const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset;\n lineValue = getPixelForGridLine(this, i, offset);\n if (lineValue === undefined) {\n continue;\n }\n alignedLineValue = _alignPixel(chart, lineValue, lineWidth);\n if (isHorizontal) {\n tx1 = tx2 = x1 = x2 = alignedLineValue;\n } else {\n ty1 = ty2 = y1 = y2 = alignedLineValue;\n }\n items.push({\n tx1,\n ty1,\n tx2,\n ty2,\n x1,\n y1,\n x2,\n y2,\n width: lineWidth,\n color: lineColor,\n borderDash,\n borderDashOffset,\n tickWidth,\n tickColor,\n tickBorderDash,\n tickBorderDashOffset,\n });\n }\n this._ticksLength = ticksLength;\n this._borderValue = borderValue;\n return items;\n }\n _computeLabelItems(chartArea) {\n const axis = this.axis;\n const options = this.options;\n const {position, ticks: optionTicks} = options;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const {align, crossAlign, padding, mirror} = optionTicks;\n const tl = getTickMarkLength(options.grid);\n const tickAndPadding = tl + padding;\n const hTickAndPadding = mirror ? -padding : tickAndPadding;\n const rotation = -toRadians(this.labelRotation);\n const items = [];\n let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\n let textBaseline = 'middle';\n if (position === 'top') {\n y = this.bottom - hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'bottom') {\n y = this.top + hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'left') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (position === 'right') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (axis === 'x') {\n if (position === 'center') {\n y = ((chartArea.top + chartArea.bottom) / 2) + tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding;\n }\n textAlign = this._getXAxisLabelAlignment();\n } else if (axis === 'y') {\n if (position === 'center') {\n x = ((chartArea.left + chartArea.right) / 2) - tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n x = this.chart.scales[positionAxisID].getPixelForValue(value);\n }\n textAlign = this._getYAxisLabelAlignment(tl).textAlign;\n }\n if (axis === 'y') {\n if (align === 'start') {\n textBaseline = 'top';\n } else if (align === 'end') {\n textBaseline = 'bottom';\n }\n }\n const labelSizes = this._getLabelSizes();\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n label = tick.label;\n const optsAtIndex = optionTicks.setContext(this.getContext(i));\n pixel = this.getPixelForTick(i) + optionTicks.labelOffset;\n font = this._resolveTickFontOptions(i);\n lineHeight = font.lineHeight;\n lineCount = isArray(label) ? label.length : 1;\n const halfCount = lineCount / 2;\n const color = optsAtIndex.color;\n const strokeColor = optsAtIndex.textStrokeColor;\n const strokeWidth = optsAtIndex.textStrokeWidth;\n let tickTextAlign = textAlign;\n if (isHorizontal) {\n x = pixel;\n if (textAlign === 'inner') {\n if (i === ilen - 1) {\n tickTextAlign = !this.options.reverse ? 'right' : 'left';\n } else if (i === 0) {\n tickTextAlign = !this.options.reverse ? 'left' : 'right';\n } else {\n tickTextAlign = 'center';\n }\n }\n if (position === 'top') {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = -lineCount * lineHeight + lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight;\n } else {\n textOffset = -labelSizes.highest.height + lineHeight / 2;\n }\n } else {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight;\n } else {\n textOffset = labelSizes.highest.height - lineCount * lineHeight;\n }\n }\n if (mirror) {\n textOffset *= -1;\n }\n } else {\n y = pixel;\n textOffset = (1 - lineCount) * lineHeight / 2;\n }\n let backdrop;\n if (optsAtIndex.showLabelBackdrop) {\n const labelPadding = toPadding(optsAtIndex.backdropPadding);\n const height = labelSizes.heights[i];\n const width = labelSizes.widths[i];\n let top = y + textOffset - labelPadding.top;\n let left = x - labelPadding.left;\n switch (textBaseline) {\n case 'middle':\n top -= height / 2;\n break;\n case 'bottom':\n top -= height;\n break;\n }\n switch (textAlign) {\n case 'center':\n left -= width / 2;\n break;\n case 'right':\n left -= width;\n break;\n }\n backdrop = {\n left,\n top,\n width: width + labelPadding.width,\n height: height + labelPadding.height,\n color: optsAtIndex.backdropColor,\n };\n }\n items.push({\n rotation,\n label,\n font,\n color,\n strokeColor,\n strokeWidth,\n textOffset,\n textAlign: tickTextAlign,\n textBaseline,\n translation: [x, y],\n backdrop,\n });\n }\n return items;\n }\n _getXAxisLabelAlignment() {\n const {position, ticks} = this.options;\n const rotation = -toRadians(this.labelRotation);\n if (rotation) {\n return position === 'top' ? 'left' : 'right';\n }\n let align = 'center';\n if (ticks.align === 'start') {\n align = 'left';\n } else if (ticks.align === 'end') {\n align = 'right';\n } else if (ticks.align === 'inner') {\n align = 'inner';\n }\n return align;\n }\n _getYAxisLabelAlignment(tl) {\n const {position, ticks: {crossAlign, mirror, padding}} = this.options;\n const labelSizes = this._getLabelSizes();\n const tickAndPadding = tl + padding;\n const widest = labelSizes.widest.width;\n let textAlign;\n let x;\n if (position === 'left') {\n if (mirror) {\n x = this.right + padding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += (widest / 2);\n } else {\n textAlign = 'right';\n x += widest;\n }\n } else {\n x = this.right - tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x = this.left;\n }\n }\n } else if (position === 'right') {\n if (mirror) {\n x = this.left + padding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x -= widest;\n }\n } else {\n x = this.left + tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x = this.right;\n }\n }\n } else {\n textAlign = 'right';\n }\n return {textAlign, x};\n }\n _computeLabelArea() {\n if (this.options.ticks.mirror) {\n return;\n }\n const chart = this.chart;\n const position = this.options.position;\n if (position === 'left' || position === 'right') {\n return {top: 0, left: this.left, bottom: chart.height, right: this.right};\n } if (position === 'top' || position === 'bottom') {\n return {top: this.top, left: 0, bottom: this.bottom, right: chart.width};\n }\n }\n drawBackground() {\n const {ctx, options: {backgroundColor}, left, top, width, height} = this;\n if (backgroundColor) {\n ctx.save();\n ctx.fillStyle = backgroundColor;\n ctx.fillRect(left, top, width, height);\n ctx.restore();\n }\n }\n getLineWidthForValue(value) {\n const grid = this.options.grid;\n if (!this._isVisible() || !grid.display) {\n return 0;\n }\n const ticks = this.ticks;\n const index = ticks.findIndex(t => t.value === value);\n if (index >= 0) {\n const opts = grid.setContext(this.getContext(index));\n return opts.lineWidth;\n }\n return 0;\n }\n drawGrid(chartArea) {\n const grid = this.options.grid;\n const ctx = this.ctx;\n const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea));\n let i, ilen;\n const drawLine = (p1, p2, style) => {\n if (!style.width || !style.color) {\n return;\n }\n ctx.save();\n ctx.lineWidth = style.width;\n ctx.strokeStyle = style.color;\n ctx.setLineDash(style.borderDash || []);\n ctx.lineDashOffset = style.borderDashOffset;\n ctx.beginPath();\n ctx.moveTo(p1.x, p1.y);\n ctx.lineTo(p2.x, p2.y);\n ctx.stroke();\n ctx.restore();\n };\n if (grid.display) {\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n if (grid.drawOnChartArea) {\n drawLine(\n {x: item.x1, y: item.y1},\n {x: item.x2, y: item.y2},\n item\n );\n }\n if (grid.drawTicks) {\n drawLine(\n {x: item.tx1, y: item.ty1},\n {x: item.tx2, y: item.ty2},\n {\n color: item.tickColor,\n width: item.tickWidth,\n borderDash: item.tickBorderDash,\n borderDashOffset: item.tickBorderDashOffset\n }\n );\n }\n }\n }\n }\n drawBorder() {\n const {chart, ctx, options: {grid}} = this;\n const borderOpts = grid.setContext(this.getContext());\n const axisWidth = grid.drawBorder ? borderOpts.borderWidth : 0;\n if (!axisWidth) {\n return;\n }\n const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth;\n const borderValue = this._borderValue;\n let x1, x2, y1, y2;\n if (this.isHorizontal()) {\n x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2;\n x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2;\n y1 = y2 = borderValue;\n } else {\n y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2;\n y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2;\n x1 = x2 = borderValue;\n }\n ctx.save();\n ctx.lineWidth = borderOpts.borderWidth;\n ctx.strokeStyle = borderOpts.borderColor;\n ctx.beginPath();\n ctx.moveTo(x1, y1);\n ctx.lineTo(x2, y2);\n ctx.stroke();\n ctx.restore();\n }\n drawLabels(chartArea) {\n const optionTicks = this.options.ticks;\n if (!optionTicks.display) {\n return;\n }\n const ctx = this.ctx;\n const area = this._computeLabelArea();\n if (area) {\n clipArea(ctx, area);\n }\n const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea));\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n const tickFont = item.font;\n const label = item.label;\n if (item.backdrop) {\n ctx.fillStyle = item.backdrop.color;\n ctx.fillRect(item.backdrop.left, item.backdrop.top, item.backdrop.width, item.backdrop.height);\n }\n let y = item.textOffset;\n renderText(ctx, label, 0, y, tickFont, item);\n }\n if (area) {\n unclipArea(ctx);\n }\n }\n drawTitle() {\n const {ctx, options: {position, title, reverse}} = this;\n if (!title.display) {\n return;\n }\n const font = toFont(title.font);\n const padding = toPadding(title.padding);\n const align = title.align;\n let offset = font.lineHeight / 2;\n if (position === 'bottom' || position === 'center' || isObject(position)) {\n offset += padding.bottom;\n if (isArray(title.text)) {\n offset += font.lineHeight * (title.text.length - 1);\n }\n } else {\n offset += padding.top;\n }\n const {titleX, titleY, maxWidth, rotation} = titleArgs(this, offset, position, align);\n renderText(ctx, title.text, 0, 0, font, {\n color: title.color,\n maxWidth,\n rotation,\n textAlign: titleAlign(align, position, reverse),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n draw(chartArea) {\n if (!this._isVisible()) {\n return;\n }\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawBorder();\n this.drawTitle();\n this.drawLabels(chartArea);\n }\n _layers() {\n const opts = this.options;\n const tz = opts.ticks && opts.ticks.z || 0;\n const gz = valueOrDefault(opts.grid && opts.grid.z, -1);\n if (!this._isVisible() || this.draw !== Scale.prototype.draw) {\n return [{\n z: tz,\n draw: (chartArea) => {\n this.draw(chartArea);\n }\n }];\n }\n return [{\n z: gz,\n draw: (chartArea) => {\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawTitle();\n }\n }, {\n z: gz + 1,\n draw: () => {\n this.drawBorder();\n }\n }, {\n z: tz,\n draw: (chartArea) => {\n this.drawLabels(chartArea);\n }\n }];\n }\n getMatchingVisibleMetas(type) {\n const metas = this.chart.getSortedVisibleDatasetMetas();\n const axisID = this.axis + 'AxisID';\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n const meta = metas[i];\n if (meta[axisID] === this.id && (!type || meta.type === type)) {\n result.push(meta);\n }\n }\n return result;\n }\n _resolveTickFontOptions(index) {\n const opts = this.options.ticks.setContext(this.getContext(index));\n return toFont(opts.font);\n }\n _maxDigits() {\n const fontSize = this._resolveTickFontOptions(0).lineHeight;\n return (this.isHorizontal() ? this.width : this.height) / fontSize;\n }\n}\n\nclass TypedRegistry {\n constructor(type, scope, override) {\n this.type = type;\n this.scope = scope;\n this.override = override;\n this.items = Object.create(null);\n }\n isForType(type) {\n return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype);\n }\n register(item) {\n const proto = Object.getPrototypeOf(item);\n let parentScope;\n if (isIChartComponent(proto)) {\n parentScope = this.register(proto);\n }\n const items = this.items;\n const id = item.id;\n const scope = this.scope + '.' + id;\n if (!id) {\n throw new Error('class does not have id: ' + item);\n }\n if (id in items) {\n return scope;\n }\n items[id] = item;\n registerDefaults(item, scope, parentScope);\n if (this.override) {\n defaults.override(item.id, item.overrides);\n }\n return scope;\n }\n get(id) {\n return this.items[id];\n }\n unregister(item) {\n const items = this.items;\n const id = item.id;\n const scope = this.scope;\n if (id in items) {\n delete items[id];\n }\n if (scope && id in defaults[scope]) {\n delete defaults[scope][id];\n if (this.override) {\n delete overrides[id];\n }\n }\n }\n}\nfunction registerDefaults(item, scope, parentScope) {\n const itemDefaults = merge(Object.create(null), [\n parentScope ? defaults.get(parentScope) : {},\n defaults.get(scope),\n item.defaults\n ]);\n defaults.set(scope, itemDefaults);\n if (item.defaultRoutes) {\n routeDefaults(scope, item.defaultRoutes);\n }\n if (item.descriptors) {\n defaults.describe(scope, item.descriptors);\n }\n}\nfunction routeDefaults(scope, routes) {\n Object.keys(routes).forEach(property => {\n const propertyParts = property.split('.');\n const sourceName = propertyParts.pop();\n const sourceScope = [scope].concat(propertyParts).join('.');\n const parts = routes[property].split('.');\n const targetName = parts.pop();\n const targetScope = parts.join('.');\n defaults.route(sourceScope, sourceName, targetScope, targetName);\n });\n}\nfunction isIChartComponent(proto) {\n return 'id' in proto && 'defaults' in proto;\n}\n\nclass Registry {\n constructor() {\n this.controllers = new TypedRegistry(DatasetController, 'datasets', true);\n this.elements = new TypedRegistry(Element, 'elements');\n this.plugins = new TypedRegistry(Object, 'plugins');\n this.scales = new TypedRegistry(Scale, 'scales');\n this._typedRegistries = [this.controllers, this.scales, this.elements];\n }\n add(...args) {\n this._each('register', args);\n }\n remove(...args) {\n this._each('unregister', args);\n }\n addControllers(...args) {\n this._each('register', args, this.controllers);\n }\n addElements(...args) {\n this._each('register', args, this.elements);\n }\n addPlugins(...args) {\n this._each('register', args, this.plugins);\n }\n addScales(...args) {\n this._each('register', args, this.scales);\n }\n getController(id) {\n return this._get(id, this.controllers, 'controller');\n }\n getElement(id) {\n return this._get(id, this.elements, 'element');\n }\n getPlugin(id) {\n return this._get(id, this.plugins, 'plugin');\n }\n getScale(id) {\n return this._get(id, this.scales, 'scale');\n }\n removeControllers(...args) {\n this._each('unregister', args, this.controllers);\n }\n removeElements(...args) {\n this._each('unregister', args, this.elements);\n }\n removePlugins(...args) {\n this._each('unregister', args, this.plugins);\n }\n removeScales(...args) {\n this._each('unregister', args, this.scales);\n }\n _each(method, args, typedRegistry) {\n [...args].forEach(arg => {\n const reg = typedRegistry || this._getRegistryForType(arg);\n if (typedRegistry || reg.isForType(arg) || (reg === this.plugins && arg.id)) {\n this._exec(method, reg, arg);\n } else {\n each(arg, item => {\n const itemReg = typedRegistry || this._getRegistryForType(item);\n this._exec(method, itemReg, item);\n });\n }\n });\n }\n _exec(method, registry, component) {\n const camelMethod = _capitalize(method);\n callback(component['before' + camelMethod], [], component);\n registry[method](component);\n callback(component['after' + camelMethod], [], component);\n }\n _getRegistryForType(type) {\n for (let i = 0; i < this._typedRegistries.length; i++) {\n const reg = this._typedRegistries[i];\n if (reg.isForType(type)) {\n return reg;\n }\n }\n return this.plugins;\n }\n _get(id, typedRegistry, type) {\n const item = typedRegistry.get(id);\n if (item === undefined) {\n throw new Error('\"' + id + '\" is not a registered ' + type + '.');\n }\n return item;\n }\n}\nvar registry = new Registry();\n\nclass ScatterController extends DatasetController {\n update(mode) {\n const meta = this._cachedMeta;\n const {data: points = []} = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n if (this.options.showLine) {\n const {dataset: line, _dataset} = meta;\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n }\n this.updateElements(points, start, count, mode);\n }\n addElements() {\n const {showLine} = this.options;\n if (!this.datasetElementType && showLine) {\n this.datasetElementType = registry.getElement('line');\n }\n super.addElements();\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const {spanGaps, segment} = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for (let i = start; i < start + count; ++i) {\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const data = meta.data || [];\n if (!this.options.showLine) {\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n}\nScatterController.id = 'scatter';\nScatterController.defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n showLine: false,\n fill: false\n};\nScatterController.overrides = {\n interaction: {\n mode: 'point'\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(item) {\n return '(' + item.label + ', ' + item.formattedValue + ')';\n }\n }\n }\n },\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n};\n\nvar controllers = /*#__PURE__*/Object.freeze({\n__proto__: null,\nBarController: BarController,\nBubbleController: BubbleController,\nDoughnutController: DoughnutController,\nLineController: LineController,\nPolarAreaController: PolarAreaController,\nPieController: PieController,\nRadarController: RadarController,\nScatterController: ScatterController\n});\n\nfunction abstract() {\n throw new Error('This method is not implemented: Check that a complete date adapter is provided.');\n}\nclass DateAdapter {\n constructor(options) {\n this.options = options || {};\n }\n init(chartOptions) {}\n formats() {\n return abstract();\n }\n parse(value, format) {\n return abstract();\n }\n format(timestamp, format) {\n return abstract();\n }\n add(timestamp, amount, unit) {\n return abstract();\n }\n diff(a, b, unit) {\n return abstract();\n }\n startOf(timestamp, unit, weekday) {\n return abstract();\n }\n endOf(timestamp, unit) {\n return abstract();\n }\n}\nDateAdapter.override = function(members) {\n Object.assign(DateAdapter.prototype, members);\n};\nvar adapters = {\n _date: DateAdapter\n};\n\nfunction binarySearch(metaset, axis, value, intersect) {\n const {controller, data, _sorted} = metaset;\n const iScale = controller._cachedMeta.iScale;\n if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) {\n const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey;\n if (!intersect) {\n return lookupMethod(data, axis, value);\n } else if (controller._sharedOptions) {\n const el = data[0];\n const range = typeof el.getRange === 'function' && el.getRange(axis);\n if (range) {\n const start = lookupMethod(data, axis, value - range);\n const end = lookupMethod(data, axis, value + range);\n return {lo: start.lo, hi: end.hi};\n }\n }\n }\n return {lo: 0, hi: data.length - 1};\n}\nfunction evaluateInteractionItems(chart, axis, position, handler, intersect) {\n const metasets = chart.getSortedVisibleDatasetMetas();\n const value = position[axis];\n for (let i = 0, ilen = metasets.length; i < ilen; ++i) {\n const {index, data} = metasets[i];\n const {lo, hi} = binarySearch(metasets[i], axis, value, intersect);\n for (let j = lo; j <= hi; ++j) {\n const element = data[j];\n if (!element.skip) {\n handler(element, index, j);\n }\n }\n }\n}\nfunction getDistanceMetricForAxis(axis) {\n const useX = axis.indexOf('x') !== -1;\n const useY = axis.indexOf('y') !== -1;\n return function(pt1, pt2) {\n const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n };\n}\nfunction getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) {\n const items = [];\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return items;\n }\n const evaluationFunc = function(element, datasetIndex, index) {\n if (!includeInvisible && !_isPointInArea(element, chart.chartArea, 0)) {\n return;\n }\n if (element.inRange(position.x, position.y, useFinalPosition)) {\n items.push({element, datasetIndex, index});\n }\n };\n evaluateInteractionItems(chart, axis, position, evaluationFunc, true);\n return items;\n}\nfunction getNearestRadialItems(chart, position, axis, useFinalPosition) {\n let items = [];\n function evaluationFunc(element, datasetIndex, index) {\n const {startAngle, endAngle} = element.getProps(['startAngle', 'endAngle'], useFinalPosition);\n const {angle} = getAngleFromPoint(element, {x: position.x, y: position.y});\n if (_angleBetween(angle, startAngle, endAngle)) {\n items.push({element, datasetIndex, index});\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\nfunction getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n let items = [];\n const distanceMetric = getDistanceMetricForAxis(axis);\n let minDistance = Number.POSITIVE_INFINITY;\n function evaluationFunc(element, datasetIndex, index) {\n const inRange = element.inRange(position.x, position.y, useFinalPosition);\n if (intersect && !inRange) {\n return;\n }\n const center = element.getCenterPoint(useFinalPosition);\n const pointInArea = !!includeInvisible || chart.isPointInArea(center);\n if (!pointInArea && !inRange) {\n return;\n }\n const distance = distanceMetric(position, center);\n if (distance < minDistance) {\n items = [{element, datasetIndex, index}];\n minDistance = distance;\n } else if (distance === minDistance) {\n items.push({element, datasetIndex, index});\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\nfunction getNearestItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return [];\n }\n return axis === 'r' && !intersect\n ? getNearestRadialItems(chart, position, axis, useFinalPosition)\n : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible);\n}\nfunction getAxisItems(chart, position, axis, intersect, useFinalPosition) {\n const items = [];\n const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange';\n let intersectsItem = false;\n evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index) => {\n if (element[rangeMethod](position[axis], useFinalPosition)) {\n items.push({element, datasetIndex, index});\n intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition);\n }\n });\n if (intersect && !intersectsItem) {\n return [];\n }\n return items;\n}\nvar Interaction = {\n evaluateInteractionItems,\n modes: {\n index(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'x';\n const includeInvisible = options.includeInvisible || false;\n const items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible)\n : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n const elements = [];\n if (!items.length) {\n return [];\n }\n chart.getSortedVisibleDatasetMetas().forEach((meta) => {\n const index = items[0].index;\n const element = meta.data[index];\n if (element && !element.skip) {\n elements.push({element, datasetIndex: meta.index, index});\n }\n });\n return elements;\n },\n dataset(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n let items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) :\n getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n if (items.length > 0) {\n const datasetIndex = items[0].datasetIndex;\n const data = chart.getDatasetMeta(datasetIndex).data;\n items = [];\n for (let i = 0; i < data.length; ++i) {\n items.push({element: data[i], datasetIndex, index: i});\n }\n }\n return items;\n },\n point(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible);\n },\n nearest(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getNearestItems(chart, position, axis, options.intersect, useFinalPosition, includeInvisible);\n },\n x(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'x', options.intersect, useFinalPosition);\n },\n y(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'y', options.intersect, useFinalPosition);\n }\n }\n};\n\nconst STATIC_POSITIONS = ['left', 'top', 'right', 'bottom'];\nfunction filterByPosition(array, position) {\n return array.filter(v => v.pos === position);\n}\nfunction filterDynamicPositionByAxis(array, axis) {\n return array.filter(v => STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis);\n}\nfunction sortByWeight(array, reverse) {\n return array.sort((a, b) => {\n const v0 = reverse ? b : a;\n const v1 = reverse ? a : b;\n return v0.weight === v1.weight ?\n v0.index - v1.index :\n v0.weight - v1.weight;\n });\n}\nfunction wrapBoxes(boxes) {\n const layoutBoxes = [];\n let i, ilen, box, pos, stack, stackWeight;\n for (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\n box = boxes[i];\n ({position: pos, options: {stack, stackWeight = 1}} = box);\n layoutBoxes.push({\n index: i,\n box,\n pos,\n horizontal: box.isHorizontal(),\n weight: box.weight,\n stack: stack && (pos + stack),\n stackWeight\n });\n }\n return layoutBoxes;\n}\nfunction buildStacks(layouts) {\n const stacks = {};\n for (const wrap of layouts) {\n const {stack, pos, stackWeight} = wrap;\n if (!stack || !STATIC_POSITIONS.includes(pos)) {\n continue;\n }\n const _stack = stacks[stack] || (stacks[stack] = {count: 0, placed: 0, weight: 0, size: 0});\n _stack.count++;\n _stack.weight += stackWeight;\n }\n return stacks;\n}\nfunction setLayoutDims(layouts, params) {\n const stacks = buildStacks(layouts);\n const {vBoxMaxWidth, hBoxMaxHeight} = params;\n let i, ilen, layout;\n for (i = 0, ilen = layouts.length; i < ilen; ++i) {\n layout = layouts[i];\n const {fullSize} = layout.box;\n const stack = stacks[layout.stack];\n const factor = stack && layout.stackWeight / stack.weight;\n if (layout.horizontal) {\n layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth;\n layout.height = hBoxMaxHeight;\n } else {\n layout.width = vBoxMaxWidth;\n layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight;\n }\n }\n return stacks;\n}\nfunction buildLayoutBoxes(boxes) {\n const layoutBoxes = wrapBoxes(boxes);\n const fullSize = sortByWeight(layoutBoxes.filter(wrap => wrap.box.fullSize), true);\n const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n const right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x');\n const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y');\n return {\n fullSize,\n leftAndTop: left.concat(top),\n rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal),\n chartArea: filterByPosition(layoutBoxes, 'chartArea'),\n vertical: left.concat(right).concat(centerVertical),\n horizontal: top.concat(bottom).concat(centerHorizontal)\n };\n}\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\nfunction updateMaxPadding(maxPadding, boxPadding) {\n maxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n maxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n maxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n}\nfunction updateDims(chartArea, params, layout, stacks) {\n const {pos, box} = layout;\n const maxPadding = chartArea.maxPadding;\n if (!isObject(pos)) {\n if (layout.size) {\n chartArea[pos] -= layout.size;\n }\n const stack = stacks[layout.stack] || {size: 0, count: 1};\n stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width);\n layout.size = stack.size / stack.count;\n chartArea[pos] += layout.size;\n }\n if (box.getPadding) {\n updateMaxPadding(maxPadding, box.getPadding());\n }\n const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right'));\n const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom'));\n const widthChanged = newWidth !== chartArea.w;\n const heightChanged = newHeight !== chartArea.h;\n chartArea.w = newWidth;\n chartArea.h = newHeight;\n return layout.horizontal\n ? {same: widthChanged, other: heightChanged}\n : {same: heightChanged, other: widthChanged};\n}\nfunction handleMaxPadding(chartArea) {\n const maxPadding = chartArea.maxPadding;\n function updatePos(pos) {\n const change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n chartArea[pos] += change;\n return change;\n }\n chartArea.y += updatePos('top');\n chartArea.x += updatePos('left');\n updatePos('right');\n updatePos('bottom');\n}\nfunction getMargins(horizontal, chartArea) {\n const maxPadding = chartArea.maxPadding;\n function marginForPositions(positions) {\n const margin = {left: 0, top: 0, right: 0, bottom: 0};\n positions.forEach((pos) => {\n margin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n });\n return margin;\n }\n return horizontal\n ? marginForPositions(['left', 'right'])\n : marginForPositions(['top', 'bottom']);\n}\nfunction fitBoxes(boxes, chartArea, params, stacks) {\n const refitBoxes = [];\n let i, ilen, layout, box, refit, changed;\n for (i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i) {\n layout = boxes[i];\n box = layout.box;\n box.update(\n layout.width || chartArea.w,\n layout.height || chartArea.h,\n getMargins(layout.horizontal, chartArea)\n );\n const {same, other} = updateDims(chartArea, params, layout, stacks);\n refit |= same && refitBoxes.length;\n changed = changed || other;\n if (!box.fullSize) {\n refitBoxes.push(layout);\n }\n }\n return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed;\n}\nfunction setBoxDims(box, left, top, width, height) {\n box.top = top;\n box.left = left;\n box.right = left + width;\n box.bottom = top + height;\n box.width = width;\n box.height = height;\n}\nfunction placeBoxes(boxes, chartArea, params, stacks) {\n const userPadding = params.padding;\n let {x, y} = chartArea;\n for (const layout of boxes) {\n const box = layout.box;\n const stack = stacks[layout.stack] || {count: 1, placed: 0, weight: 1};\n const weight = (layout.stackWeight / stack.weight) || 1;\n if (layout.horizontal) {\n const width = chartArea.w * weight;\n const height = stack.size || box.height;\n if (defined(stack.start)) {\n y = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height);\n } else {\n setBoxDims(box, chartArea.left + stack.placed, y, width, height);\n }\n stack.start = y;\n stack.placed += width;\n y = box.bottom;\n } else {\n const height = chartArea.h * weight;\n const width = stack.size || box.width;\n if (defined(stack.start)) {\n x = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top);\n } else {\n setBoxDims(box, x, chartArea.top + stack.placed, width, height);\n }\n stack.start = x;\n stack.placed += height;\n x = box.right;\n }\n }\n chartArea.x = x;\n chartArea.y = y;\n}\ndefaults.set('layout', {\n autoPadding: true,\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n});\nvar layouts = {\n addBox(chart, item) {\n if (!chart.boxes) {\n chart.boxes = [];\n }\n item.fullSize = item.fullSize || false;\n item.position = item.position || 'top';\n item.weight = item.weight || 0;\n item._layers = item._layers || function() {\n return [{\n z: 0,\n draw(chartArea) {\n item.draw(chartArea);\n }\n }];\n };\n chart.boxes.push(item);\n },\n removeBox(chart, layoutItem) {\n const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n if (index !== -1) {\n chart.boxes.splice(index, 1);\n }\n },\n configure(chart, item, options) {\n item.fullSize = options.fullSize;\n item.position = options.position;\n item.weight = options.weight;\n },\n update(chart, width, height, minPadding) {\n if (!chart) {\n return;\n }\n const padding = toPadding(chart.options.layout.padding);\n const availableWidth = Math.max(width - padding.width, 0);\n const availableHeight = Math.max(height - padding.height, 0);\n const boxes = buildLayoutBoxes(chart.boxes);\n const verticalBoxes = boxes.vertical;\n const horizontalBoxes = boxes.horizontal;\n each(chart.boxes, box => {\n if (typeof box.beforeLayout === 'function') {\n box.beforeLayout();\n }\n });\n const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap) =>\n wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1;\n const params = Object.freeze({\n outerWidth: width,\n outerHeight: height,\n padding,\n availableWidth,\n availableHeight,\n vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount,\n hBoxMaxHeight: availableHeight / 2\n });\n const maxPadding = Object.assign({}, padding);\n updateMaxPadding(maxPadding, toPadding(minPadding));\n const chartArea = Object.assign({\n maxPadding,\n w: availableWidth,\n h: availableHeight,\n x: padding.left,\n y: padding.top\n }, padding);\n const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n fitBoxes(boxes.fullSize, chartArea, params, stacks);\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) {\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n }\n handleMaxPadding(chartArea);\n placeBoxes(boxes.leftAndTop, chartArea, params, stacks);\n chartArea.x += chartArea.w;\n chartArea.y += chartArea.h;\n placeBoxes(boxes.rightAndBottom, chartArea, params, stacks);\n chart.chartArea = {\n left: chartArea.left,\n top: chartArea.top,\n right: chartArea.left + chartArea.w,\n bottom: chartArea.top + chartArea.h,\n height: chartArea.h,\n width: chartArea.w,\n };\n each(boxes.chartArea, (layout) => {\n const box = layout.box;\n Object.assign(box, chart.chartArea);\n box.update(chartArea.w, chartArea.h, {left: 0, top: 0, right: 0, bottom: 0});\n });\n }\n};\n\nclass BasePlatform {\n acquireContext(canvas, aspectRatio) {}\n releaseContext(context) {\n return false;\n }\n addEventListener(chart, type, listener) {}\n removeEventListener(chart, type, listener) {}\n getDevicePixelRatio() {\n return 1;\n }\n getMaximumSize(element, width, height, aspectRatio) {\n width = Math.max(0, width || element.width);\n height = height || element.height;\n return {\n width,\n height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height)\n };\n }\n isAttached(canvas) {\n return true;\n }\n updateConfig(config) {\n }\n}\n\nclass BasicPlatform extends BasePlatform {\n acquireContext(item) {\n return item && item.getContext && item.getContext('2d') || null;\n }\n updateConfig(config) {\n config.options.animation = false;\n }\n}\n\nconst EXPANDO_KEY = '$chartjs';\nconst EVENT_TYPES = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup',\n pointerenter: 'mouseenter',\n pointerdown: 'mousedown',\n pointermove: 'mousemove',\n pointerup: 'mouseup',\n pointerleave: 'mouseout',\n pointerout: 'mouseout'\n};\nconst isNullOrEmpty = value => value === null || value === '';\nfunction initCanvas(canvas, aspectRatio) {\n const style = canvas.style;\n const renderHeight = canvas.getAttribute('height');\n const renderWidth = canvas.getAttribute('width');\n canvas[EXPANDO_KEY] = {\n initial: {\n height: renderHeight,\n width: renderWidth,\n style: {\n display: style.display,\n height: style.height,\n width: style.width\n }\n }\n };\n style.display = style.display || 'block';\n style.boxSizing = style.boxSizing || 'border-box';\n if (isNullOrEmpty(renderWidth)) {\n const displayWidth = readUsedSize(canvas, 'width');\n if (displayWidth !== undefined) {\n canvas.width = displayWidth;\n }\n }\n if (isNullOrEmpty(renderHeight)) {\n if (canvas.style.height === '') {\n canvas.height = canvas.width / (aspectRatio || 2);\n } else {\n const displayHeight = readUsedSize(canvas, 'height');\n if (displayHeight !== undefined) {\n canvas.height = displayHeight;\n }\n }\n }\n return canvas;\n}\nconst eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\nfunction addListener(node, type, listener) {\n node.addEventListener(type, listener, eventListenerOptions);\n}\nfunction removeListener(chart, type, listener) {\n chart.canvas.removeEventListener(type, listener, eventListenerOptions);\n}\nfunction fromNativeEvent(event, chart) {\n const type = EVENT_TYPES[event.type] || event.type;\n const {x, y} = getRelativePosition(event, chart);\n return {\n type,\n chart,\n native: event,\n x: x !== undefined ? x : null,\n y: y !== undefined ? y : null,\n };\n}\nfunction nodeListContains(nodeList, canvas) {\n for (const node of nodeList) {\n if (node === canvas || node.contains(canvas)) {\n return true;\n }\n }\n}\nfunction createAttachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.addedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.removedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\nfunction createDetachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.removedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.addedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\nconst drpListeningCharts = new Map();\nlet oldDevicePixelRatio = 0;\nfunction onWindowResize() {\n const dpr = window.devicePixelRatio;\n if (dpr === oldDevicePixelRatio) {\n return;\n }\n oldDevicePixelRatio = dpr;\n drpListeningCharts.forEach((resize, chart) => {\n if (chart.currentDevicePixelRatio !== dpr) {\n resize();\n }\n });\n}\nfunction listenDevicePixelRatioChanges(chart, resize) {\n if (!drpListeningCharts.size) {\n window.addEventListener('resize', onWindowResize);\n }\n drpListeningCharts.set(chart, resize);\n}\nfunction unlistenDevicePixelRatioChanges(chart) {\n drpListeningCharts.delete(chart);\n if (!drpListeningCharts.size) {\n window.removeEventListener('resize', onWindowResize);\n }\n}\nfunction createResizeObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const container = canvas && _getParentNode(canvas);\n if (!container) {\n return;\n }\n const resize = throttled((width, height) => {\n const w = container.clientWidth;\n listener(width, height);\n if (w < container.clientWidth) {\n listener();\n }\n }, window);\n const observer = new ResizeObserver(entries => {\n const entry = entries[0];\n const width = entry.contentRect.width;\n const height = entry.contentRect.height;\n if (width === 0 && height === 0) {\n return;\n }\n resize(width, height);\n });\n observer.observe(container);\n listenDevicePixelRatioChanges(chart, resize);\n return observer;\n}\nfunction releaseObserver(chart, type, observer) {\n if (observer) {\n observer.disconnect();\n }\n if (type === 'resize') {\n unlistenDevicePixelRatioChanges(chart);\n }\n}\nfunction createProxyAndListen(chart, type, listener) {\n const canvas = chart.canvas;\n const proxy = throttled((event) => {\n if (chart.ctx !== null) {\n listener(fromNativeEvent(event, chart));\n }\n }, chart, (args) => {\n const event = args[0];\n return [event, event.offsetX, event.offsetY];\n });\n addListener(canvas, type, proxy);\n return proxy;\n}\nclass DomPlatform extends BasePlatform {\n acquireContext(canvas, aspectRatio) {\n const context = canvas && canvas.getContext && canvas.getContext('2d');\n if (context && context.canvas === canvas) {\n initCanvas(canvas, aspectRatio);\n return context;\n }\n return null;\n }\n releaseContext(context) {\n const canvas = context.canvas;\n if (!canvas[EXPANDO_KEY]) {\n return false;\n }\n const initial = canvas[EXPANDO_KEY].initial;\n ['height', 'width'].forEach((prop) => {\n const value = initial[prop];\n if (isNullOrUndef(value)) {\n canvas.removeAttribute(prop);\n } else {\n canvas.setAttribute(prop, value);\n }\n });\n const style = initial.style || {};\n Object.keys(style).forEach((key) => {\n canvas.style[key] = style[key];\n });\n canvas.width = canvas.width;\n delete canvas[EXPANDO_KEY];\n return true;\n }\n addEventListener(chart, type, listener) {\n this.removeEventListener(chart, type);\n const proxies = chart.$proxies || (chart.$proxies = {});\n const handlers = {\n attach: createAttachObserver,\n detach: createDetachObserver,\n resize: createResizeObserver\n };\n const handler = handlers[type] || createProxyAndListen;\n proxies[type] = handler(chart, type, listener);\n }\n removeEventListener(chart, type) {\n const proxies = chart.$proxies || (chart.$proxies = {});\n const proxy = proxies[type];\n if (!proxy) {\n return;\n }\n const handlers = {\n attach: releaseObserver,\n detach: releaseObserver,\n resize: releaseObserver\n };\n const handler = handlers[type] || removeListener;\n handler(chart, type, proxy);\n proxies[type] = undefined;\n }\n getDevicePixelRatio() {\n return window.devicePixelRatio;\n }\n getMaximumSize(canvas, width, height, aspectRatio) {\n return getMaximumSize(canvas, width, height, aspectRatio);\n }\n isAttached(canvas) {\n const container = _getParentNode(canvas);\n return !!(container && container.isConnected);\n }\n}\n\nfunction _detectPlatform(canvas) {\n if (!_isDomSupported() || (typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas)) {\n return BasicPlatform;\n }\n return DomPlatform;\n}\n\nclass PluginService {\n constructor() {\n this._init = [];\n }\n notify(chart, hook, args, filter) {\n if (hook === 'beforeInit') {\n this._init = this._createDescriptors(chart, true);\n this._notify(this._init, chart, 'install');\n }\n const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart);\n const result = this._notify(descriptors, chart, hook, args);\n if (hook === 'afterDestroy') {\n this._notify(descriptors, chart, 'stop');\n this._notify(this._init, chart, 'uninstall');\n }\n return result;\n }\n _notify(descriptors, chart, hook, args) {\n args = args || {};\n for (const descriptor of descriptors) {\n const plugin = descriptor.plugin;\n const method = plugin[hook];\n const params = [chart, args, descriptor.options];\n if (callback(method, params, plugin) === false && args.cancelable) {\n return false;\n }\n }\n return true;\n }\n invalidate() {\n if (!isNullOrUndef(this._cache)) {\n this._oldCache = this._cache;\n this._cache = undefined;\n }\n }\n _descriptors(chart) {\n if (this._cache) {\n return this._cache;\n }\n const descriptors = this._cache = this._createDescriptors(chart);\n this._notifyStateChanges(chart);\n return descriptors;\n }\n _createDescriptors(chart, all) {\n const config = chart && chart.config;\n const options = valueOrDefault(config.options && config.options.plugins, {});\n const plugins = allPlugins(config);\n return options === false && !all ? [] : createDescriptors(chart, plugins, options, all);\n }\n _notifyStateChanges(chart) {\n const previousDescriptors = this._oldCache || [];\n const descriptors = this._cache;\n const diff = (a, b) => a.filter(x => !b.some(y => x.plugin.id === y.plugin.id));\n this._notify(diff(previousDescriptors, descriptors), chart, 'stop');\n this._notify(diff(descriptors, previousDescriptors), chart, 'start');\n }\n}\nfunction allPlugins(config) {\n const localIds = {};\n const plugins = [];\n const keys = Object.keys(registry.plugins.items);\n for (let i = 0; i < keys.length; i++) {\n plugins.push(registry.getPlugin(keys[i]));\n }\n const local = config.plugins || [];\n for (let i = 0; i < local.length; i++) {\n const plugin = local[i];\n if (plugins.indexOf(plugin) === -1) {\n plugins.push(plugin);\n localIds[plugin.id] = true;\n }\n }\n return {plugins, localIds};\n}\nfunction getOpts(options, all) {\n if (!all && options === false) {\n return null;\n }\n if (options === true) {\n return {};\n }\n return options;\n}\nfunction createDescriptors(chart, {plugins, localIds}, options, all) {\n const result = [];\n const context = chart.getContext();\n for (const plugin of plugins) {\n const id = plugin.id;\n const opts = getOpts(options[id], all);\n if (opts === null) {\n continue;\n }\n result.push({\n plugin,\n options: pluginOpts(chart.config, {plugin, local: localIds[id]}, opts, context)\n });\n }\n return result;\n}\nfunction pluginOpts(config, {plugin, local}, opts, context) {\n const keys = config.pluginScopeKeys(plugin);\n const scopes = config.getOptionScopes(opts, keys);\n if (local && plugin.defaults) {\n scopes.push(plugin.defaults);\n }\n return config.createResolver(scopes, context, [''], {\n scriptable: false,\n indexable: false,\n allKeys: true\n });\n}\n\nfunction getIndexAxis(type, options) {\n const datasetDefaults = defaults.datasets[type] || {};\n const datasetOptions = (options.datasets || {})[type] || {};\n return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x';\n}\nfunction getAxisFromDefaultScaleID(id, indexAxis) {\n let axis = id;\n if (id === '_index_') {\n axis = indexAxis;\n } else if (id === '_value_') {\n axis = indexAxis === 'x' ? 'y' : 'x';\n }\n return axis;\n}\nfunction getDefaultScaleIDFromAxis(axis, indexAxis) {\n return axis === indexAxis ? '_index_' : '_value_';\n}\nfunction axisFromPosition(position) {\n if (position === 'top' || position === 'bottom') {\n return 'x';\n }\n if (position === 'left' || position === 'right') {\n return 'y';\n }\n}\nfunction determineAxis(id, scaleOptions) {\n if (id === 'x' || id === 'y') {\n return id;\n }\n return scaleOptions.axis || axisFromPosition(scaleOptions.position) || id.charAt(0).toLowerCase();\n}\nfunction mergeScaleConfig(config, options) {\n const chartDefaults = overrides[config.type] || {scales: {}};\n const configScales = options.scales || {};\n const chartIndexAxis = getIndexAxis(config.type, options);\n const firstIDs = Object.create(null);\n const scales = Object.create(null);\n Object.keys(configScales).forEach(id => {\n const scaleConf = configScales[id];\n if (!isObject(scaleConf)) {\n return console.error(`Invalid scale configuration for scale: ${id}`);\n }\n if (scaleConf._proxy) {\n return console.warn(`Ignoring resolver passed as options for scale: ${id}`);\n }\n const axis = determineAxis(id, scaleConf);\n const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis);\n const defaultScaleOptions = chartDefaults.scales || {};\n firstIDs[axis] = firstIDs[axis] || id;\n scales[id] = mergeIf(Object.create(null), [{axis}, scaleConf, defaultScaleOptions[axis], defaultScaleOptions[defaultId]]);\n });\n config.data.datasets.forEach(dataset => {\n const type = dataset.type || config.type;\n const indexAxis = dataset.indexAxis || getIndexAxis(type, options);\n const datasetDefaults = overrides[type] || {};\n const defaultScaleOptions = datasetDefaults.scales || {};\n Object.keys(defaultScaleOptions).forEach(defaultID => {\n const axis = getAxisFromDefaultScaleID(defaultID, indexAxis);\n const id = dataset[axis + 'AxisID'] || firstIDs[axis] || axis;\n scales[id] = scales[id] || Object.create(null);\n mergeIf(scales[id], [{axis}, configScales[id], defaultScaleOptions[defaultID]]);\n });\n });\n Object.keys(scales).forEach(key => {\n const scale = scales[key];\n mergeIf(scale, [defaults.scales[scale.type], defaults.scale]);\n });\n return scales;\n}\nfunction initOptions(config) {\n const options = config.options || (config.options = {});\n options.plugins = valueOrDefault(options.plugins, {});\n options.scales = mergeScaleConfig(config, options);\n}\nfunction initData(data) {\n data = data || {};\n data.datasets = data.datasets || [];\n data.labels = data.labels || [];\n return data;\n}\nfunction initConfig(config) {\n config = config || {};\n config.data = initData(config.data);\n initOptions(config);\n return config;\n}\nconst keyCache = new Map();\nconst keysCached = new Set();\nfunction cachedKeys(cacheKey, generate) {\n let keys = keyCache.get(cacheKey);\n if (!keys) {\n keys = generate();\n keyCache.set(cacheKey, keys);\n keysCached.add(keys);\n }\n return keys;\n}\nconst addIfFound = (set, obj, key) => {\n const opts = resolveObjectKey(obj, key);\n if (opts !== undefined) {\n set.add(opts);\n }\n};\nclass Config {\n constructor(config) {\n this._config = initConfig(config);\n this._scopeCache = new Map();\n this._resolverCache = new Map();\n }\n get platform() {\n return this._config.platform;\n }\n get type() {\n return this._config.type;\n }\n set type(type) {\n this._config.type = type;\n }\n get data() {\n return this._config.data;\n }\n set data(data) {\n this._config.data = initData(data);\n }\n get options() {\n return this._config.options;\n }\n set options(options) {\n this._config.options = options;\n }\n get plugins() {\n return this._config.plugins;\n }\n update() {\n const config = this._config;\n this.clearCache();\n initOptions(config);\n }\n clearCache() {\n this._scopeCache.clear();\n this._resolverCache.clear();\n }\n datasetScopeKeys(datasetType) {\n return cachedKeys(datasetType,\n () => [[\n `datasets.${datasetType}`,\n ''\n ]]);\n }\n datasetAnimationScopeKeys(datasetType, transition) {\n return cachedKeys(`${datasetType}.transition.${transition}`,\n () => [\n [\n `datasets.${datasetType}.transitions.${transition}`,\n `transitions.${transition}`,\n ],\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n datasetElementScopeKeys(datasetType, elementType) {\n return cachedKeys(`${datasetType}-${elementType}`,\n () => [[\n `datasets.${datasetType}.elements.${elementType}`,\n `datasets.${datasetType}`,\n `elements.${elementType}`,\n ''\n ]]);\n }\n pluginScopeKeys(plugin) {\n const id = plugin.id;\n const type = this.type;\n return cachedKeys(`${type}-plugin-${id}`,\n () => [[\n `plugins.${id}`,\n ...plugin.additionalOptionScopes || [],\n ]]);\n }\n _cachedScopes(mainScope, resetCache) {\n const _scopeCache = this._scopeCache;\n let cache = _scopeCache.get(mainScope);\n if (!cache || resetCache) {\n cache = new Map();\n _scopeCache.set(mainScope, cache);\n }\n return cache;\n }\n getOptionScopes(mainScope, keyLists, resetCache) {\n const {options, type} = this;\n const cache = this._cachedScopes(mainScope, resetCache);\n const cached = cache.get(keyLists);\n if (cached) {\n return cached;\n }\n const scopes = new Set();\n keyLists.forEach(keys => {\n if (mainScope) {\n scopes.add(mainScope);\n keys.forEach(key => addIfFound(scopes, mainScope, key));\n }\n keys.forEach(key => addIfFound(scopes, options, key));\n keys.forEach(key => addIfFound(scopes, overrides[type] || {}, key));\n keys.forEach(key => addIfFound(scopes, defaults, key));\n keys.forEach(key => addIfFound(scopes, descriptors, key));\n });\n const array = Array.from(scopes);\n if (array.length === 0) {\n array.push(Object.create(null));\n }\n if (keysCached.has(keyLists)) {\n cache.set(keyLists, array);\n }\n return array;\n }\n chartOptionScopes() {\n const {options, type} = this;\n return [\n options,\n overrides[type] || {},\n defaults.datasets[type] || {},\n {type},\n defaults,\n descriptors\n ];\n }\n resolveNamedOptions(scopes, names, context, prefixes = ['']) {\n const result = {$shared: true};\n const {resolver, subPrefixes} = getResolver(this._resolverCache, scopes, prefixes);\n let options = resolver;\n if (needContext(resolver, names)) {\n result.$shared = false;\n context = isFunction(context) ? context() : context;\n const subResolver = this.createResolver(scopes, context, subPrefixes);\n options = _attachContext(resolver, context, subResolver);\n }\n for (const prop of names) {\n result[prop] = options[prop];\n }\n return result;\n }\n createResolver(scopes, context, prefixes = [''], descriptorDefaults) {\n const {resolver} = getResolver(this._resolverCache, scopes, prefixes);\n return isObject(context)\n ? _attachContext(resolver, context, undefined, descriptorDefaults)\n : resolver;\n }\n}\nfunction getResolver(resolverCache, scopes, prefixes) {\n let cache = resolverCache.get(scopes);\n if (!cache) {\n cache = new Map();\n resolverCache.set(scopes, cache);\n }\n const cacheKey = prefixes.join();\n let cached = cache.get(cacheKey);\n if (!cached) {\n const resolver = _createResolver(scopes, prefixes);\n cached = {\n resolver,\n subPrefixes: prefixes.filter(p => !p.toLowerCase().includes('hover'))\n };\n cache.set(cacheKey, cached);\n }\n return cached;\n}\nconst hasFunction = value => isObject(value)\n && Object.getOwnPropertyNames(value).reduce((acc, key) => acc || isFunction(value[key]), false);\nfunction needContext(proxy, names) {\n const {isScriptable, isIndexable} = _descriptors(proxy);\n for (const prop of names) {\n const scriptable = isScriptable(prop);\n const indexable = isIndexable(prop);\n const value = (indexable || scriptable) && proxy[prop];\n if ((scriptable && (isFunction(value) || hasFunction(value)))\n || (indexable && isArray(value))) {\n return true;\n }\n }\n return false;\n}\n\nvar version = \"3.9.1\";\n\nconst KNOWN_POSITIONS = ['top', 'bottom', 'left', 'right', 'chartArea'];\nfunction positionIsHorizontal(position, axis) {\n return position === 'top' || position === 'bottom' || (KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x');\n}\nfunction compare2Level(l1, l2) {\n return function(a, b) {\n return a[l1] === b[l1]\n ? a[l2] - b[l2]\n : a[l1] - b[l1];\n };\n}\nfunction onAnimationsComplete(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n chart.notifyPlugins('afterRender');\n callback(animationOptions && animationOptions.onComplete, [context], chart);\n}\nfunction onAnimationProgress(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n callback(animationOptions && animationOptions.onProgress, [context], chart);\n}\nfunction getCanvas(item) {\n if (_isDomSupported() && typeof item === 'string') {\n item = document.getElementById(item);\n } else if (item && item.length) {\n item = item[0];\n }\n if (item && item.canvas) {\n item = item.canvas;\n }\n return item;\n}\nconst instances = {};\nconst getChart = (key) => {\n const canvas = getCanvas(key);\n return Object.values(instances).filter((c) => c.canvas === canvas).pop();\n};\nfunction moveNumericKeys(obj, start, move) {\n const keys = Object.keys(obj);\n for (const key of keys) {\n const intKey = +key;\n if (intKey >= start) {\n const value = obj[key];\n delete obj[key];\n if (move > 0 || intKey > start) {\n obj[intKey + move] = value;\n }\n }\n }\n}\nfunction determineLastEvent(e, lastEvent, inChartArea, isClick) {\n if (!inChartArea || e.type === 'mouseout') {\n return null;\n }\n if (isClick) {\n return lastEvent;\n }\n return e;\n}\nclass Chart {\n constructor(item, userConfig) {\n const config = this.config = new Config(userConfig);\n const initialCanvas = getCanvas(item);\n const existingChart = getChart(initialCanvas);\n if (existingChart) {\n throw new Error(\n 'Canvas is already in use. Chart with ID \\'' + existingChart.id + '\\'' +\n\t\t\t\t' must be destroyed before the canvas with ID \\'' + existingChart.canvas.id + '\\' can be reused.'\n );\n }\n const options = config.createResolver(config.chartOptionScopes(), this.getContext());\n this.platform = new (config.platform || _detectPlatform(initialCanvas))();\n this.platform.updateConfig(config);\n const context = this.platform.acquireContext(initialCanvas, options.aspectRatio);\n const canvas = context && context.canvas;\n const height = canvas && canvas.height;\n const width = canvas && canvas.width;\n this.id = uid();\n this.ctx = context;\n this.canvas = canvas;\n this.width = width;\n this.height = height;\n this._options = options;\n this._aspectRatio = this.aspectRatio;\n this._layers = [];\n this._metasets = [];\n this._stacks = undefined;\n this.boxes = [];\n this.currentDevicePixelRatio = undefined;\n this.chartArea = undefined;\n this._active = [];\n this._lastEvent = undefined;\n this._listeners = {};\n this._responsiveListeners = undefined;\n this._sortedMetasets = [];\n this.scales = {};\n this._plugins = new PluginService();\n this.$proxies = {};\n this._hiddenIndices = {};\n this.attached = false;\n this._animationsDisabled = undefined;\n this.$context = undefined;\n this._doResize = debounce(mode => this.update(mode), options.resizeDelay || 0);\n this._dataChanges = [];\n instances[this.id] = this;\n if (!context || !canvas) {\n console.error(\"Failed to create chart: can't acquire context from the given item\");\n return;\n }\n animator.listen(this, 'complete', onAnimationsComplete);\n animator.listen(this, 'progress', onAnimationProgress);\n this._initialize();\n if (this.attached) {\n this.update();\n }\n }\n get aspectRatio() {\n const {options: {aspectRatio, maintainAspectRatio}, width, height, _aspectRatio} = this;\n if (!isNullOrUndef(aspectRatio)) {\n return aspectRatio;\n }\n if (maintainAspectRatio && _aspectRatio) {\n return _aspectRatio;\n }\n return height ? width / height : null;\n }\n get data() {\n return this.config.data;\n }\n set data(data) {\n this.config.data = data;\n }\n get options() {\n return this._options;\n }\n set options(options) {\n this.config.options = options;\n }\n _initialize() {\n this.notifyPlugins('beforeInit');\n if (this.options.responsive) {\n this.resize();\n } else {\n retinaScale(this, this.options.devicePixelRatio);\n }\n this.bindEvents();\n this.notifyPlugins('afterInit');\n return this;\n }\n clear() {\n clearCanvas(this.canvas, this.ctx);\n return this;\n }\n stop() {\n animator.stop(this);\n return this;\n }\n resize(width, height) {\n if (!animator.running(this)) {\n this._resize(width, height);\n } else {\n this._resizeBeforeDraw = {width, height};\n }\n }\n _resize(width, height) {\n const options = this.options;\n const canvas = this.canvas;\n const aspectRatio = options.maintainAspectRatio && this.aspectRatio;\n const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio);\n const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio();\n const mode = this.width ? 'resize' : 'attach';\n this.width = newSize.width;\n this.height = newSize.height;\n this._aspectRatio = this.aspectRatio;\n if (!retinaScale(this, newRatio, true)) {\n return;\n }\n this.notifyPlugins('resize', {size: newSize});\n callback(options.onResize, [this, newSize], this);\n if (this.attached) {\n if (this._doResize(mode)) {\n this.render();\n }\n }\n }\n ensureScalesHaveIDs() {\n const options = this.options;\n const scalesOptions = options.scales || {};\n each(scalesOptions, (axisOptions, axisID) => {\n axisOptions.id = axisID;\n });\n }\n buildOrUpdateScales() {\n const options = this.options;\n const scaleOpts = options.scales;\n const scales = this.scales;\n const updated = Object.keys(scales).reduce((obj, id) => {\n obj[id] = false;\n return obj;\n }, {});\n let items = [];\n if (scaleOpts) {\n items = items.concat(\n Object.keys(scaleOpts).map((id) => {\n const scaleOptions = scaleOpts[id];\n const axis = determineAxis(id, scaleOptions);\n const isRadial = axis === 'r';\n const isHorizontal = axis === 'x';\n return {\n options: scaleOptions,\n dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left',\n dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear'\n };\n })\n );\n }\n each(items, (item) => {\n const scaleOptions = item.options;\n const id = scaleOptions.id;\n const axis = determineAxis(id, scaleOptions);\n const scaleType = valueOrDefault(scaleOptions.type, item.dtype);\n if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) {\n scaleOptions.position = item.dposition;\n }\n updated[id] = true;\n let scale = null;\n if (id in scales && scales[id].type === scaleType) {\n scale = scales[id];\n } else {\n const scaleClass = registry.getScale(scaleType);\n scale = new scaleClass({\n id,\n type: scaleType,\n ctx: this.ctx,\n chart: this\n });\n scales[scale.id] = scale;\n }\n scale.init(scaleOptions, options);\n });\n each(updated, (hasUpdated, id) => {\n if (!hasUpdated) {\n delete scales[id];\n }\n });\n each(scales, (scale) => {\n layouts.configure(this, scale, scale.options);\n layouts.addBox(this, scale);\n });\n }\n _updateMetasets() {\n const metasets = this._metasets;\n const numData = this.data.datasets.length;\n const numMeta = metasets.length;\n metasets.sort((a, b) => a.index - b.index);\n if (numMeta > numData) {\n for (let i = numData; i < numMeta; ++i) {\n this._destroyDatasetMeta(i);\n }\n metasets.splice(numData, numMeta - numData);\n }\n this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index'));\n }\n _removeUnreferencedMetasets() {\n const {_metasets: metasets, data: {datasets}} = this;\n if (metasets.length > datasets.length) {\n delete this._stacks;\n }\n metasets.forEach((meta, index) => {\n if (datasets.filter(x => x === meta._dataset).length === 0) {\n this._destroyDatasetMeta(index);\n }\n });\n }\n buildOrUpdateControllers() {\n const newControllers = [];\n const datasets = this.data.datasets;\n let i, ilen;\n this._removeUnreferencedMetasets();\n for (i = 0, ilen = datasets.length; i < ilen; i++) {\n const dataset = datasets[i];\n let meta = this.getDatasetMeta(i);\n const type = dataset.type || this.config.type;\n if (meta.type && meta.type !== type) {\n this._destroyDatasetMeta(i);\n meta = this.getDatasetMeta(i);\n }\n meta.type = type;\n meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options);\n meta.order = dataset.order || 0;\n meta.index = i;\n meta.label = '' + dataset.label;\n meta.visible = this.isDatasetVisible(i);\n if (meta.controller) {\n meta.controller.updateIndex(i);\n meta.controller.linkScales();\n } else {\n const ControllerClass = registry.getController(type);\n const {datasetElementType, dataElementType} = defaults.datasets[type];\n Object.assign(ControllerClass.prototype, {\n dataElementType: registry.getElement(dataElementType),\n datasetElementType: datasetElementType && registry.getElement(datasetElementType)\n });\n meta.controller = new ControllerClass(this, i);\n newControllers.push(meta.controller);\n }\n }\n this._updateMetasets();\n return newControllers;\n }\n _resetElements() {\n each(this.data.datasets, (dataset, datasetIndex) => {\n this.getDatasetMeta(datasetIndex).controller.reset();\n }, this);\n }\n reset() {\n this._resetElements();\n this.notifyPlugins('reset');\n }\n update(mode) {\n const config = this.config;\n config.update();\n const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext());\n const animsDisabled = this._animationsDisabled = !options.animation;\n this._updateScales();\n this._checkEventBindings();\n this._updateHiddenIndices();\n this._plugins.invalidate();\n if (this.notifyPlugins('beforeUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n const newControllers = this.buildOrUpdateControllers();\n this.notifyPlugins('beforeElementsUpdate');\n let minPadding = 0;\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; i++) {\n const {controller} = this.getDatasetMeta(i);\n const reset = !animsDisabled && newControllers.indexOf(controller) === -1;\n controller.buildOrUpdateElements(reset);\n minPadding = Math.max(+controller.getMaxOverflow(), minPadding);\n }\n minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0;\n this._updateLayout(minPadding);\n if (!animsDisabled) {\n each(newControllers, (controller) => {\n controller.reset();\n });\n }\n this._updateDatasets(mode);\n this.notifyPlugins('afterUpdate', {mode});\n this._layers.sort(compare2Level('z', '_idx'));\n const {_active, _lastEvent} = this;\n if (_lastEvent) {\n this._eventHandler(_lastEvent, true);\n } else if (_active.length) {\n this._updateHoverStyles(_active, _active, true);\n }\n this.render();\n }\n _updateScales() {\n each(this.scales, (scale) => {\n layouts.removeBox(this, scale);\n });\n this.ensureScalesHaveIDs();\n this.buildOrUpdateScales();\n }\n _checkEventBindings() {\n const options = this.options;\n const existingEvents = new Set(Object.keys(this._listeners));\n const newEvents = new Set(options.events);\n if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) {\n this.unbindEvents();\n this.bindEvents();\n }\n }\n _updateHiddenIndices() {\n const {_hiddenIndices} = this;\n const changes = this._getUniformDataChanges() || [];\n for (const {method, start, count} of changes) {\n const move = method === '_removeElements' ? -count : count;\n moveNumericKeys(_hiddenIndices, start, move);\n }\n }\n _getUniformDataChanges() {\n const _dataChanges = this._dataChanges;\n if (!_dataChanges || !_dataChanges.length) {\n return;\n }\n this._dataChanges = [];\n const datasetCount = this.data.datasets.length;\n const makeSet = (idx) => new Set(\n _dataChanges\n .filter(c => c[0] === idx)\n .map((c, i) => i + ',' + c.splice(1).join(','))\n );\n const changeSet = makeSet(0);\n for (let i = 1; i < datasetCount; i++) {\n if (!setsEqual(changeSet, makeSet(i))) {\n return;\n }\n }\n return Array.from(changeSet)\n .map(c => c.split(','))\n .map(a => ({method: a[1], start: +a[2], count: +a[3]}));\n }\n _updateLayout(minPadding) {\n if (this.notifyPlugins('beforeLayout', {cancelable: true}) === false) {\n return;\n }\n layouts.update(this, this.width, this.height, minPadding);\n const area = this.chartArea;\n const noArea = area.width <= 0 || area.height <= 0;\n this._layers = [];\n each(this.boxes, (box) => {\n if (noArea && box.position === 'chartArea') {\n return;\n }\n if (box.configure) {\n box.configure();\n }\n this._layers.push(...box._layers());\n }, this);\n this._layers.forEach((item, index) => {\n item._idx = index;\n });\n this.notifyPlugins('afterLayout');\n }\n _updateDatasets(mode) {\n if (this.notifyPlugins('beforeDatasetsUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this.getDatasetMeta(i).controller.configure();\n }\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._updateDataset(i, isFunction(mode) ? mode({datasetIndex: i}) : mode);\n }\n this.notifyPlugins('afterDatasetsUpdate', {mode});\n }\n _updateDataset(index, mode) {\n const meta = this.getDatasetMeta(index);\n const args = {meta, index, mode, cancelable: true};\n if (this.notifyPlugins('beforeDatasetUpdate', args) === false) {\n return;\n }\n meta.controller._update(mode);\n args.cancelable = false;\n this.notifyPlugins('afterDatasetUpdate', args);\n }\n render() {\n if (this.notifyPlugins('beforeRender', {cancelable: true}) === false) {\n return;\n }\n if (animator.has(this)) {\n if (this.attached && !animator.running(this)) {\n animator.start(this);\n }\n } else {\n this.draw();\n onAnimationsComplete({chart: this});\n }\n }\n draw() {\n let i;\n if (this._resizeBeforeDraw) {\n const {width, height} = this._resizeBeforeDraw;\n this._resize(width, height);\n this._resizeBeforeDraw = null;\n }\n this.clear();\n if (this.width <= 0 || this.height <= 0) {\n return;\n }\n if (this.notifyPlugins('beforeDraw', {cancelable: true}) === false) {\n return;\n }\n const layers = this._layers;\n for (i = 0; i < layers.length && layers[i].z <= 0; ++i) {\n layers[i].draw(this.chartArea);\n }\n this._drawDatasets();\n for (; i < layers.length; ++i) {\n layers[i].draw(this.chartArea);\n }\n this.notifyPlugins('afterDraw');\n }\n _getSortedDatasetMetas(filterVisible) {\n const metasets = this._sortedMetasets;\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n const meta = metasets[i];\n if (!filterVisible || meta.visible) {\n result.push(meta);\n }\n }\n return result;\n }\n getSortedVisibleDatasetMetas() {\n return this._getSortedDatasetMetas(true);\n }\n _drawDatasets() {\n if (this.notifyPlugins('beforeDatasetsDraw', {cancelable: true}) === false) {\n return;\n }\n const metasets = this.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n this._drawDataset(metasets[i]);\n }\n this.notifyPlugins('afterDatasetsDraw');\n }\n _drawDataset(meta) {\n const ctx = this.ctx;\n const clip = meta._clip;\n const useClip = !clip.disabled;\n const area = this.chartArea;\n const args = {\n meta,\n index: meta.index,\n cancelable: true\n };\n if (this.notifyPlugins('beforeDatasetDraw', args) === false) {\n return;\n }\n if (useClip) {\n clipArea(ctx, {\n left: clip.left === false ? 0 : area.left - clip.left,\n right: clip.right === false ? this.width : area.right + clip.right,\n top: clip.top === false ? 0 : area.top - clip.top,\n bottom: clip.bottom === false ? this.height : area.bottom + clip.bottom\n });\n }\n meta.controller.draw();\n if (useClip) {\n unclipArea(ctx);\n }\n args.cancelable = false;\n this.notifyPlugins('afterDatasetDraw', args);\n }\n isPointInArea(point) {\n return _isPointInArea(point, this.chartArea, this._minPadding);\n }\n getElementsAtEventForMode(e, mode, options, useFinalPosition) {\n const method = Interaction.modes[mode];\n if (typeof method === 'function') {\n return method(this, e, options, useFinalPosition);\n }\n return [];\n }\n getDatasetMeta(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n const metasets = this._metasets;\n let meta = metasets.filter(x => x && x._dataset === dataset).pop();\n if (!meta) {\n meta = {\n type: null,\n data: [],\n dataset: null,\n controller: null,\n hidden: null,\n xAxisID: null,\n yAxisID: null,\n order: dataset && dataset.order || 0,\n index: datasetIndex,\n _dataset: dataset,\n _parsed: [],\n _sorted: false\n };\n metasets.push(meta);\n }\n return meta;\n }\n getContext() {\n return this.$context || (this.$context = createContext(null, {chart: this, type: 'chart'}));\n }\n getVisibleDatasetCount() {\n return this.getSortedVisibleDatasetMetas().length;\n }\n isDatasetVisible(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n if (!dataset) {\n return false;\n }\n const meta = this.getDatasetMeta(datasetIndex);\n return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden;\n }\n setDatasetVisibility(datasetIndex, visible) {\n const meta = this.getDatasetMeta(datasetIndex);\n meta.hidden = !visible;\n }\n toggleDataVisibility(index) {\n this._hiddenIndices[index] = !this._hiddenIndices[index];\n }\n getDataVisibility(index) {\n return !this._hiddenIndices[index];\n }\n _updateVisibility(datasetIndex, dataIndex, visible) {\n const mode = visible ? 'show' : 'hide';\n const meta = this.getDatasetMeta(datasetIndex);\n const anims = meta.controller._resolveAnimations(undefined, mode);\n if (defined(dataIndex)) {\n meta.data[dataIndex].hidden = !visible;\n this.update();\n } else {\n this.setDatasetVisibility(datasetIndex, visible);\n anims.update(meta, {visible});\n this.update((ctx) => ctx.datasetIndex === datasetIndex ? mode : undefined);\n }\n }\n hide(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, false);\n }\n show(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, true);\n }\n _destroyDatasetMeta(datasetIndex) {\n const meta = this._metasets[datasetIndex];\n if (meta && meta.controller) {\n meta.controller._destroy();\n }\n delete this._metasets[datasetIndex];\n }\n _stop() {\n let i, ilen;\n this.stop();\n animator.remove(this);\n for (i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._destroyDatasetMeta(i);\n }\n }\n destroy() {\n this.notifyPlugins('beforeDestroy');\n const {canvas, ctx} = this;\n this._stop();\n this.config.clearCache();\n if (canvas) {\n this.unbindEvents();\n clearCanvas(canvas, ctx);\n this.platform.releaseContext(ctx);\n this.canvas = null;\n this.ctx = null;\n }\n this.notifyPlugins('destroy');\n delete instances[this.id];\n this.notifyPlugins('afterDestroy');\n }\n toBase64Image(...args) {\n return this.canvas.toDataURL(...args);\n }\n bindEvents() {\n this.bindUserEvents();\n if (this.options.responsive) {\n this.bindResponsiveEvents();\n } else {\n this.attached = true;\n }\n }\n bindUserEvents() {\n const listeners = this._listeners;\n const platform = this.platform;\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const listener = (e, x, y) => {\n e.offsetX = x;\n e.offsetY = y;\n this._eventHandler(e);\n };\n each(this.options.events, (type) => _add(type, listener));\n }\n bindResponsiveEvents() {\n if (!this._responsiveListeners) {\n this._responsiveListeners = {};\n }\n const listeners = this._responsiveListeners;\n const platform = this.platform;\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const _remove = (type, listener) => {\n if (listeners[type]) {\n platform.removeEventListener(this, type, listener);\n delete listeners[type];\n }\n };\n const listener = (width, height) => {\n if (this.canvas) {\n this.resize(width, height);\n }\n };\n let detached;\n const attached = () => {\n _remove('attach', attached);\n this.attached = true;\n this.resize();\n _add('resize', listener);\n _add('detach', detached);\n };\n detached = () => {\n this.attached = false;\n _remove('resize', listener);\n this._stop();\n this._resize(0, 0);\n _add('attach', attached);\n };\n if (platform.isAttached(this.canvas)) {\n attached();\n } else {\n detached();\n }\n }\n unbindEvents() {\n each(this._listeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._listeners = {};\n each(this._responsiveListeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._responsiveListeners = undefined;\n }\n updateHoverStyle(items, mode, enabled) {\n const prefix = enabled ? 'set' : 'remove';\n let meta, item, i, ilen;\n if (mode === 'dataset') {\n meta = this.getDatasetMeta(items[0].datasetIndex);\n meta.controller['_' + prefix + 'DatasetHoverStyle']();\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n item = items[i];\n const controller = item && this.getDatasetMeta(item.datasetIndex).controller;\n if (controller) {\n controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index);\n }\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements) {\n const lastActive = this._active || [];\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('No dataset found at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(active, lastActive);\n if (changed) {\n this._active = active;\n this._lastEvent = null;\n this._updateHoverStyles(active, lastActive);\n }\n }\n notifyPlugins(hook, args, filter) {\n return this._plugins.notify(this, hook, args, filter);\n }\n _updateHoverStyles(active, lastActive, replay) {\n const hoverOptions = this.options.hover;\n const diff = (a, b) => a.filter(x => !b.some(y => x.datasetIndex === y.datasetIndex && x.index === y.index));\n const deactivated = diff(lastActive, active);\n const activated = replay ? active : diff(active, lastActive);\n if (deactivated.length) {\n this.updateHoverStyle(deactivated, hoverOptions.mode, false);\n }\n if (activated.length && hoverOptions.mode) {\n this.updateHoverStyle(activated, hoverOptions.mode, true);\n }\n }\n _eventHandler(e, replay) {\n const args = {\n event: e,\n replay,\n cancelable: true,\n inChartArea: this.isPointInArea(e)\n };\n const eventFilter = (plugin) => (plugin.options.events || this.options.events).includes(e.native.type);\n if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) {\n return;\n }\n const changed = this._handleEvent(e, replay, args.inChartArea);\n args.cancelable = false;\n this.notifyPlugins('afterEvent', args, eventFilter);\n if (changed || args.changed) {\n this.render();\n }\n return this;\n }\n _handleEvent(e, replay, inChartArea) {\n const {_active: lastActive = [], options} = this;\n const useFinalPosition = replay;\n const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition);\n const isClick = _isClickEvent(e);\n const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick);\n if (inChartArea) {\n this._lastEvent = null;\n callback(options.onHover, [e, active, this], this);\n if (isClick) {\n callback(options.onClick, [e, active, this], this);\n }\n }\n const changed = !_elementsEqual(active, lastActive);\n if (changed || replay) {\n this._active = active;\n this._updateHoverStyles(active, lastActive, replay);\n }\n this._lastEvent = lastEvent;\n return changed;\n }\n _getActiveElements(e, lastActive, inChartArea, useFinalPosition) {\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const hoverOptions = this.options.hover;\n return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition);\n }\n}\nconst invalidatePlugins = () => each(Chart.instances, (chart) => chart._plugins.invalidate());\nconst enumerable = true;\nObject.defineProperties(Chart, {\n defaults: {\n enumerable,\n value: defaults\n },\n instances: {\n enumerable,\n value: instances\n },\n overrides: {\n enumerable,\n value: overrides\n },\n registry: {\n enumerable,\n value: registry\n },\n version: {\n enumerable,\n value: version\n },\n getChart: {\n enumerable,\n value: getChart\n },\n register: {\n enumerable,\n value: (...items) => {\n registry.add(...items);\n invalidatePlugins();\n }\n },\n unregister: {\n enumerable,\n value: (...items) => {\n registry.remove(...items);\n invalidatePlugins();\n }\n }\n});\n\nfunction clipArc(ctx, element, endAngle) {\n const {startAngle, pixelMargin, x, y, outerRadius, innerRadius} = element;\n let angleMargin = pixelMargin / outerRadius;\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n if (innerRadius > pixelMargin) {\n angleMargin = pixelMargin / innerRadius;\n ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true);\n } else {\n ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI);\n }\n ctx.closePath();\n ctx.clip();\n}\nfunction toRadiusCorners(value) {\n return _readValueToProps(value, ['outerStart', 'outerEnd', 'innerStart', 'innerEnd']);\n}\nfunction parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) {\n const o = toRadiusCorners(arc.options.borderRadius);\n const halfThickness = (outerRadius - innerRadius) / 2;\n const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2);\n const computeOuterLimit = (val) => {\n const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2;\n return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit));\n };\n return {\n outerStart: computeOuterLimit(o.outerStart),\n outerEnd: computeOuterLimit(o.outerEnd),\n innerStart: _limitValue(o.innerStart, 0, innerLimit),\n innerEnd: _limitValue(o.innerEnd, 0, innerLimit),\n };\n}\nfunction rThetaToXY(r, theta, x, y) {\n return {\n x: x + r * Math.cos(theta),\n y: y + r * Math.sin(theta),\n };\n}\nfunction pathArc(ctx, element, offset, spacing, end, circular) {\n const {x, y, startAngle: start, pixelMargin, innerRadius: innerR} = element;\n const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0);\n const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0;\n let spacingOffset = 0;\n const alpha = end - start;\n if (spacing) {\n const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0;\n const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0;\n const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2;\n const adjustedAngle = avNogSpacingRadius !== 0 ? (alpha * avNogSpacingRadius) / (avNogSpacingRadius + spacing) : alpha;\n spacingOffset = (alpha - adjustedAngle) / 2;\n }\n const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius;\n const angleOffset = (alpha - beta) / 2;\n const startAngle = start + angleOffset + spacingOffset;\n const endAngle = end - angleOffset - spacingOffset;\n const {outerStart, outerEnd, innerStart, innerEnd} = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle);\n const outerStartAdjustedRadius = outerRadius - outerStart;\n const outerEndAdjustedRadius = outerRadius - outerEnd;\n const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius;\n const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius;\n const innerStartAdjustedRadius = innerRadius + innerStart;\n const innerEndAdjustedRadius = innerRadius + innerEnd;\n const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius;\n const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius;\n ctx.beginPath();\n if (circular) {\n ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerEndAdjustedAngle);\n if (outerEnd > 0) {\n const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI);\n }\n const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y);\n ctx.lineTo(p4.x, p4.y);\n if (innerEnd > 0) {\n const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI);\n }\n ctx.arc(x, y, innerRadius, endAngle - (innerEnd / innerRadius), startAngle + (innerStart / innerRadius), true);\n if (innerStart > 0) {\n const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI);\n }\n const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y);\n ctx.lineTo(p8.x, p8.y);\n if (outerStart > 0) {\n const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle);\n }\n } else {\n ctx.moveTo(x, y);\n const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x;\n const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerStartX, outerStartY);\n const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x;\n const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerEndX, outerEndY);\n }\n ctx.closePath();\n}\nfunction drawArc(ctx, element, offset, spacing, circular) {\n const {fullCircles, startAngle, circumference} = element;\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, startAngle + TAU, circular);\n for (let i = 0; i < fullCircles; ++i) {\n ctx.fill();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + circumference % TAU;\n if (circumference % TAU === 0) {\n endAngle += TAU;\n }\n }\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.fill();\n return endAngle;\n}\nfunction drawFullCircleBorders(ctx, element, inner) {\n const {x, y, startAngle, pixelMargin, fullCircles} = element;\n const outerRadius = Math.max(element.outerRadius - pixelMargin, 0);\n const innerRadius = element.innerRadius + pixelMargin;\n let i;\n if (inner) {\n clipArc(ctx, element, startAngle + TAU);\n }\n ctx.beginPath();\n ctx.arc(x, y, innerRadius, startAngle + TAU, startAngle, true);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle, startAngle + TAU);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n}\nfunction drawBorder(ctx, element, offset, spacing, endAngle, circular) {\n const {options} = element;\n const {borderWidth, borderJoinStyle} = options;\n const inner = options.borderAlign === 'inner';\n if (!borderWidth) {\n return;\n }\n if (inner) {\n ctx.lineWidth = borderWidth * 2;\n ctx.lineJoin = borderJoinStyle || 'round';\n } else {\n ctx.lineWidth = borderWidth;\n ctx.lineJoin = borderJoinStyle || 'bevel';\n }\n if (element.fullCircles) {\n drawFullCircleBorders(ctx, element, inner);\n }\n if (inner) {\n clipArc(ctx, element, endAngle);\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.stroke();\n}\nclass ArcElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.circumference = undefined;\n this.startAngle = undefined;\n this.endAngle = undefined;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.pixelMargin = 0;\n this.fullCircles = 0;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(chartX, chartY, useFinalPosition) {\n const point = this.getProps(['x', 'y'], useFinalPosition);\n const {angle, distance} = getAngleFromPoint(point, {x: chartX, y: chartY});\n const {startAngle, endAngle, innerRadius, outerRadius, circumference} = this.getProps([\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference'\n ], useFinalPosition);\n const rAdjust = this.options.spacing / 2;\n const _circumference = valueOrDefault(circumference, endAngle - startAngle);\n const betweenAngles = _circumference >= TAU || _angleBetween(angle, startAngle, endAngle);\n const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust);\n return (betweenAngles && withinRadius);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, startAngle, endAngle, innerRadius, outerRadius} = this.getProps([\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference',\n ], useFinalPosition);\n const {offset, spacing} = this.options;\n const halfAngle = (startAngle + endAngle) / 2;\n const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2;\n return {\n x: x + Math.cos(halfAngle) * halfRadius,\n y: y + Math.sin(halfAngle) * halfRadius\n };\n }\n tooltipPosition(useFinalPosition) {\n return this.getCenterPoint(useFinalPosition);\n }\n draw(ctx) {\n const {options, circumference} = this;\n const offset = (options.offset || 0) / 2;\n const spacing = (options.spacing || 0) / 2;\n const circular = options.circular;\n this.pixelMargin = (options.borderAlign === 'inner') ? 0.33 : 0;\n this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0;\n if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) {\n return;\n }\n ctx.save();\n let radiusOffset = 0;\n if (offset) {\n radiusOffset = offset / 2;\n const halfAngle = (this.startAngle + this.endAngle) / 2;\n ctx.translate(Math.cos(halfAngle) * radiusOffset, Math.sin(halfAngle) * radiusOffset);\n if (this.circumference >= PI) {\n radiusOffset = offset;\n }\n }\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n const endAngle = drawArc(ctx, this, radiusOffset, spacing, circular);\n drawBorder(ctx, this, radiusOffset, spacing, endAngle, circular);\n ctx.restore();\n }\n}\nArcElement.id = 'arc';\nArcElement.defaults = {\n borderAlign: 'center',\n borderColor: '#fff',\n borderJoinStyle: undefined,\n borderRadius: 0,\n borderWidth: 2,\n offset: 0,\n spacing: 0,\n angle: undefined,\n circular: true,\n};\nArcElement.defaultRoutes = {\n backgroundColor: 'backgroundColor'\n};\n\nfunction setStyle(ctx, options, style = options) {\n ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle);\n ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash));\n ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset);\n ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle);\n ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth);\n ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor);\n}\nfunction lineTo(ctx, previous, target) {\n ctx.lineTo(target.x, target.y);\n}\nfunction getLineMethod(options) {\n if (options.stepped) {\n return _steppedLineTo;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierCurveTo;\n }\n return lineTo;\n}\nfunction pathVars(points, segment, params = {}) {\n const count = points.length;\n const {start: paramsStart = 0, end: paramsEnd = count - 1} = params;\n const {start: segmentStart, end: segmentEnd} = segment;\n const start = Math.max(paramsStart, segmentStart);\n const end = Math.min(paramsEnd, segmentEnd);\n const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd;\n return {\n count,\n start,\n loop: segment.loop,\n ilen: end < start && !outside ? count + end - start : end - start\n };\n}\nfunction pathSegment(ctx, line, segment, params) {\n const {points, options} = line;\n const {count, start, loop, ilen} = pathVars(points, segment, params);\n const lineMethod = getLineMethod(options);\n let {move = true, reverse} = params || {};\n let i, point, prev;\n for (i = 0; i <= ilen; ++i) {\n point = points[(start + (reverse ? ilen - i : i)) % count];\n if (point.skip) {\n continue;\n } else if (move) {\n ctx.moveTo(point.x, point.y);\n move = false;\n } else {\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n prev = point;\n }\n if (loop) {\n point = points[(start + (reverse ? ilen : 0)) % count];\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n return !!loop;\n}\nfunction fastPathSegment(ctx, line, segment, params) {\n const points = line.points;\n const {count, start, ilen} = pathVars(points, segment, params);\n const {move = true, reverse} = params || {};\n let avgX = 0;\n let countX = 0;\n let i, point, prevX, minY, maxY, lastY;\n const pointIndex = (index) => (start + (reverse ? ilen - index : index)) % count;\n const drawX = () => {\n if (minY !== maxY) {\n ctx.lineTo(avgX, maxY);\n ctx.lineTo(avgX, minY);\n ctx.lineTo(avgX, lastY);\n }\n };\n if (move) {\n point = points[pointIndex(0)];\n ctx.moveTo(point.x, point.y);\n }\n for (i = 0; i <= ilen; ++i) {\n point = points[pointIndex(i)];\n if (point.skip) {\n continue;\n }\n const x = point.x;\n const y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n } else if (y > maxY) {\n maxY = y;\n }\n avgX = (countX * avgX + x) / ++countX;\n } else {\n drawX();\n ctx.lineTo(x, y);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n }\n lastY = y;\n }\n drawX();\n}\nfunction _getSegmentMethod(line) {\n const opts = line.options;\n const borderDash = opts.borderDash && opts.borderDash.length;\n const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash;\n return useFastPath ? fastPathSegment : pathSegment;\n}\nfunction _getInterpolationMethod(options) {\n if (options.stepped) {\n return _steppedInterpolation;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierInterpolation;\n }\n return _pointInLine;\n}\nfunction strokePathWithCache(ctx, line, start, count) {\n let path = line._path;\n if (!path) {\n path = line._path = new Path2D();\n if (line.path(path, start, count)) {\n path.closePath();\n }\n }\n setStyle(ctx, line.options);\n ctx.stroke(path);\n}\nfunction strokePathDirect(ctx, line, start, count) {\n const {segments, options} = line;\n const segmentMethod = _getSegmentMethod(line);\n for (const segment of segments) {\n setStyle(ctx, options, segment.style);\n ctx.beginPath();\n if (segmentMethod(ctx, line, segment, {start, end: start + count - 1})) {\n ctx.closePath();\n }\n ctx.stroke();\n }\n}\nconst usePath2D = typeof Path2D === 'function';\nfunction draw(ctx, line, start, count) {\n if (usePath2D && !line.options.segment) {\n strokePathWithCache(ctx, line, start, count);\n } else {\n strokePathDirect(ctx, line, start, count);\n }\n}\nclass LineElement extends Element {\n constructor(cfg) {\n super();\n this.animated = true;\n this.options = undefined;\n this._chart = undefined;\n this._loop = undefined;\n this._fullLoop = undefined;\n this._path = undefined;\n this._points = undefined;\n this._segments = undefined;\n this._decimated = false;\n this._pointsUpdated = false;\n this._datasetIndex = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n updateControlPoints(chartArea, indexAxis) {\n const options = this.options;\n if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) {\n const loop = options.spanGaps ? this._loop : this._fullLoop;\n _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis);\n this._pointsUpdated = true;\n }\n }\n set points(points) {\n this._points = points;\n delete this._segments;\n delete this._path;\n this._pointsUpdated = false;\n }\n get points() {\n return this._points;\n }\n get segments() {\n return this._segments || (this._segments = _computeSegments(this, this.options.segment));\n }\n first() {\n const segments = this.segments;\n const points = this.points;\n return segments.length && points[segments[0].start];\n }\n last() {\n const segments = this.segments;\n const points = this.points;\n const count = segments.length;\n return count && points[segments[count - 1].end];\n }\n interpolate(point, property) {\n const options = this.options;\n const value = point[property];\n const points = this.points;\n const segments = _boundSegments(this, {property, start: value, end: value});\n if (!segments.length) {\n return;\n }\n const result = [];\n const _interpolate = _getInterpolationMethod(options);\n let i, ilen;\n for (i = 0, ilen = segments.length; i < ilen; ++i) {\n const {start, end} = segments[i];\n const p1 = points[start];\n const p2 = points[end];\n if (p1 === p2) {\n result.push(p1);\n continue;\n }\n const t = Math.abs((value - p1[property]) / (p2[property] - p1[property]));\n const interpolated = _interpolate(p1, p2, t, options.stepped);\n interpolated[property] = point[property];\n result.push(interpolated);\n }\n return result.length === 1 ? result[0] : result;\n }\n pathSegment(ctx, segment, params) {\n const segmentMethod = _getSegmentMethod(this);\n return segmentMethod(ctx, this, segment, params);\n }\n path(ctx, start, count) {\n const segments = this.segments;\n const segmentMethod = _getSegmentMethod(this);\n let loop = this._loop;\n start = start || 0;\n count = count || (this.points.length - start);\n for (const segment of segments) {\n loop &= segmentMethod(ctx, this, segment, {start, end: start + count - 1});\n }\n return !!loop;\n }\n draw(ctx, chartArea, start, count) {\n const options = this.options || {};\n const points = this.points || [];\n if (points.length && options.borderWidth) {\n ctx.save();\n draw(ctx, this, start, count);\n ctx.restore();\n }\n if (this.animated) {\n this._pointsUpdated = false;\n this._path = undefined;\n }\n }\n}\nLineElement.id = 'line';\nLineElement.defaults = {\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderWidth: 3,\n capBezierPoints: true,\n cubicInterpolationMode: 'default',\n fill: false,\n spanGaps: false,\n stepped: false,\n tension: 0,\n};\nLineElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\nLineElement.descriptors = {\n _scriptable: true,\n _indexable: (name) => name !== 'borderDash' && name !== 'fill',\n};\n\nfunction inRange$1(el, pos, axis, useFinalPosition) {\n const options = el.options;\n const {[axis]: value} = el.getProps([axis], useFinalPosition);\n return (Math.abs(pos - value) < options.radius + options.hitRadius);\n}\nclass PointElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.parsed = undefined;\n this.skip = undefined;\n this.stop = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n const options = this.options;\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return ((Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2)) < Math.pow(options.hitRadius + options.radius, 2));\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange$1(this, mouseX, 'x', useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange$1(this, mouseY, 'y', useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n size(options) {\n options = options || this.options || {};\n let radius = options.radius || 0;\n radius = Math.max(radius, radius && options.hoverRadius || 0);\n const borderWidth = radius && options.borderWidth || 0;\n return (radius + borderWidth) * 2;\n }\n draw(ctx, area) {\n const options = this.options;\n if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) {\n return;\n }\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.fillStyle = options.backgroundColor;\n drawPoint(ctx, options, this.x, this.y);\n }\n getRange() {\n const options = this.options || {};\n return options.radius + options.hitRadius;\n }\n}\nPointElement.id = 'point';\nPointElement.defaults = {\n borderWidth: 1,\n hitRadius: 1,\n hoverBorderWidth: 1,\n hoverRadius: 4,\n pointStyle: 'circle',\n radius: 3,\n rotation: 0\n};\nPointElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nfunction getBarBounds(bar, useFinalPosition) {\n const {x, y, base, width, height} = bar.getProps(['x', 'y', 'base', 'width', 'height'], useFinalPosition);\n let left, right, top, bottom, half;\n if (bar.horizontal) {\n half = height / 2;\n left = Math.min(x, base);\n right = Math.max(x, base);\n top = y - half;\n bottom = y + half;\n } else {\n half = width / 2;\n left = x - half;\n right = x + half;\n top = Math.min(y, base);\n bottom = Math.max(y, base);\n }\n return {left, top, right, bottom};\n}\nfunction skipOrLimit(skip, value, min, max) {\n return skip ? 0 : _limitValue(value, min, max);\n}\nfunction parseBorderWidth(bar, maxW, maxH) {\n const value = bar.options.borderWidth;\n const skip = bar.borderSkipped;\n const o = toTRBL(value);\n return {\n t: skipOrLimit(skip.top, o.top, 0, maxH),\n r: skipOrLimit(skip.right, o.right, 0, maxW),\n b: skipOrLimit(skip.bottom, o.bottom, 0, maxH),\n l: skipOrLimit(skip.left, o.left, 0, maxW)\n };\n}\nfunction parseBorderRadius(bar, maxW, maxH) {\n const {enableBorderRadius} = bar.getProps(['enableBorderRadius']);\n const value = bar.options.borderRadius;\n const o = toTRBLCorners(value);\n const maxR = Math.min(maxW, maxH);\n const skip = bar.borderSkipped;\n const enableBorder = enableBorderRadius || isObject(value);\n return {\n topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR),\n topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR),\n bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR),\n bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR)\n };\n}\nfunction boundingRects(bar) {\n const bounds = getBarBounds(bar);\n const width = bounds.right - bounds.left;\n const height = bounds.bottom - bounds.top;\n const border = parseBorderWidth(bar, width / 2, height / 2);\n const radius = parseBorderRadius(bar, width / 2, height / 2);\n return {\n outer: {\n x: bounds.left,\n y: bounds.top,\n w: width,\n h: height,\n radius\n },\n inner: {\n x: bounds.left + border.l,\n y: bounds.top + border.t,\n w: width - border.l - border.r,\n h: height - border.t - border.b,\n radius: {\n topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)),\n topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)),\n bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)),\n bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r)),\n }\n }\n };\n}\nfunction inRange(bar, x, y, useFinalPosition) {\n const skipX = x === null;\n const skipY = y === null;\n const skipBoth = skipX && skipY;\n const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition);\n return bounds\n\t\t&& (skipX || _isBetween(x, bounds.left, bounds.right))\n\t\t&& (skipY || _isBetween(y, bounds.top, bounds.bottom));\n}\nfunction hasRadius(radius) {\n return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight;\n}\nfunction addNormalRectPath(ctx, rect) {\n ctx.rect(rect.x, rect.y, rect.w, rect.h);\n}\nfunction inflateRect(rect, amount, refRect = {}) {\n const x = rect.x !== refRect.x ? -amount : 0;\n const y = rect.y !== refRect.y ? -amount : 0;\n const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x;\n const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y;\n return {\n x: rect.x + x,\n y: rect.y + y,\n w: rect.w + w,\n h: rect.h + h,\n radius: rect.radius\n };\n}\nclass BarElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.horizontal = undefined;\n this.base = undefined;\n this.width = undefined;\n this.height = undefined;\n this.inflateAmount = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n draw(ctx) {\n const {inflateAmount, options: {borderColor, backgroundColor}} = this;\n const {inner, outer} = boundingRects(this);\n const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath;\n ctx.save();\n if (outer.w !== inner.w || outer.h !== inner.h) {\n ctx.beginPath();\n addRectPath(ctx, inflateRect(outer, inflateAmount, inner));\n ctx.clip();\n addRectPath(ctx, inflateRect(inner, -inflateAmount, outer));\n ctx.fillStyle = borderColor;\n ctx.fill('evenodd');\n }\n ctx.beginPath();\n addRectPath(ctx, inflateRect(inner, inflateAmount));\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n return inRange(this, mouseX, mouseY, useFinalPosition);\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange(this, mouseX, null, useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange(this, null, mouseY, useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, base, horizontal} = this.getProps(['x', 'y', 'base', 'horizontal'], useFinalPosition);\n return {\n x: horizontal ? (x + base) / 2 : x,\n y: horizontal ? y : (y + base) / 2\n };\n }\n getRange(axis) {\n return axis === 'x' ? this.width / 2 : this.height / 2;\n }\n}\nBarElement.id = 'bar';\nBarElement.defaults = {\n borderSkipped: 'start',\n borderWidth: 0,\n borderRadius: 0,\n inflateAmount: 'auto',\n pointStyle: undefined\n};\nBarElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nvar elements = /*#__PURE__*/Object.freeze({\n__proto__: null,\nArcElement: ArcElement,\nLineElement: LineElement,\nPointElement: PointElement,\nBarElement: BarElement\n});\n\nfunction lttbDecimation(data, start, count, availableWidth, options) {\n const samples = options.samples || availableWidth;\n if (samples >= count) {\n return data.slice(start, start + count);\n }\n const decimated = [];\n const bucketWidth = (count - 2) / (samples - 2);\n let sampledIndex = 0;\n const endIndex = start + count - 1;\n let a = start;\n let i, maxAreaPoint, maxArea, area, nextA;\n decimated[sampledIndex++] = data[a];\n for (i = 0; i < samples - 2; i++) {\n let avgX = 0;\n let avgY = 0;\n let j;\n const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start;\n const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start;\n const avgRangeLength = avgRangeEnd - avgRangeStart;\n for (j = avgRangeStart; j < avgRangeEnd; j++) {\n avgX += data[j].x;\n avgY += data[j].y;\n }\n avgX /= avgRangeLength;\n avgY /= avgRangeLength;\n const rangeOffs = Math.floor(i * bucketWidth) + 1 + start;\n const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start;\n const {x: pointAx, y: pointAy} = data[a];\n maxArea = area = -1;\n for (j = rangeOffs; j < rangeTo; j++) {\n area = 0.5 * Math.abs(\n (pointAx - avgX) * (data[j].y - pointAy) -\n (pointAx - data[j].x) * (avgY - pointAy)\n );\n if (area > maxArea) {\n maxArea = area;\n maxAreaPoint = data[j];\n nextA = j;\n }\n }\n decimated[sampledIndex++] = maxAreaPoint;\n a = nextA;\n }\n decimated[sampledIndex++] = data[endIndex];\n return decimated;\n}\nfunction minMaxDecimation(data, start, count, availableWidth) {\n let avgX = 0;\n let countX = 0;\n let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY;\n const decimated = [];\n const endIndex = start + count - 1;\n const xMin = data[start].x;\n const xMax = data[endIndex].x;\n const dx = xMax - xMin;\n for (i = start; i < start + count; ++i) {\n point = data[i];\n x = (point.x - xMin) / dx * availableWidth;\n y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n minIndex = i;\n } else if (y > maxY) {\n maxY = y;\n maxIndex = i;\n }\n avgX = (countX * avgX + point.x) / ++countX;\n } else {\n const lastIndex = i - 1;\n if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) {\n const intermediateIndex1 = Math.min(minIndex, maxIndex);\n const intermediateIndex2 = Math.max(minIndex, maxIndex);\n if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex1],\n x: avgX,\n });\n }\n if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex2],\n x: avgX\n });\n }\n }\n if (i > 0 && lastIndex !== startIndex) {\n decimated.push(data[lastIndex]);\n }\n decimated.push(point);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n minIndex = maxIndex = startIndex = i;\n }\n }\n return decimated;\n}\nfunction cleanDecimatedDataset(dataset) {\n if (dataset._decimated) {\n const data = dataset._data;\n delete dataset._decimated;\n delete dataset._data;\n Object.defineProperty(dataset, 'data', {value: data});\n }\n}\nfunction cleanDecimatedData(chart) {\n chart.data.datasets.forEach((dataset) => {\n cleanDecimatedDataset(dataset);\n });\n}\nfunction getStartAndCountOfVisiblePointsSimplified(meta, points) {\n const pointCount = points.length;\n let start = 0;\n let count;\n const {iScale} = meta;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n return {start, count};\n}\nvar plugin_decimation = {\n id: 'decimation',\n defaults: {\n algorithm: 'min-max',\n enabled: false,\n },\n beforeElementsUpdate: (chart, args, options) => {\n if (!options.enabled) {\n cleanDecimatedData(chart);\n return;\n }\n const availableWidth = chart.width;\n chart.data.datasets.forEach((dataset, datasetIndex) => {\n const {_data, indexAxis} = dataset;\n const meta = chart.getDatasetMeta(datasetIndex);\n const data = _data || dataset.data;\n if (resolve([indexAxis, chart.options.indexAxis]) === 'y') {\n return;\n }\n if (!meta.controller.supportsDecimation) {\n return;\n }\n const xAxis = chart.scales[meta.xAxisID];\n if (xAxis.type !== 'linear' && xAxis.type !== 'time') {\n return;\n }\n if (chart.options.parsing) {\n return;\n }\n let {start, count} = getStartAndCountOfVisiblePointsSimplified(meta, data);\n const threshold = options.threshold || 4 * availableWidth;\n if (count <= threshold) {\n cleanDecimatedDataset(dataset);\n return;\n }\n if (isNullOrUndef(_data)) {\n dataset._data = data;\n delete dataset.data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this._decimated;\n },\n set: function(d) {\n this._data = d;\n }\n });\n }\n let decimated;\n switch (options.algorithm) {\n case 'lttb':\n decimated = lttbDecimation(data, start, count, availableWidth, options);\n break;\n case 'min-max':\n decimated = minMaxDecimation(data, start, count, availableWidth);\n break;\n default:\n throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`);\n }\n dataset._decimated = decimated;\n });\n },\n destroy(chart) {\n cleanDecimatedData(chart);\n }\n};\n\nfunction _segments(line, target, property) {\n const segments = line.segments;\n const points = line.points;\n const tpoints = target.points;\n const parts = [];\n for (const segment of segments) {\n let {start, end} = segment;\n end = _findSegmentEnd(start, end, points);\n const bounds = _getBounds(property, points[start], points[end], segment.loop);\n if (!target.segments) {\n parts.push({\n source: segment,\n target: bounds,\n start: points[start],\n end: points[end]\n });\n continue;\n }\n const targetSegments = _boundSegments(target, bounds);\n for (const tgt of targetSegments) {\n const subBounds = _getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop);\n const fillSources = _boundSegment(segment, points, subBounds);\n for (const fillSource of fillSources) {\n parts.push({\n source: fillSource,\n target: tgt,\n start: {\n [property]: _getEdge(bounds, subBounds, 'start', Math.max)\n },\n end: {\n [property]: _getEdge(bounds, subBounds, 'end', Math.min)\n }\n });\n }\n }\n }\n return parts;\n}\nfunction _getBounds(property, first, last, loop) {\n if (loop) {\n return;\n }\n let start = first[property];\n let end = last[property];\n if (property === 'angle') {\n start = _normalizeAngle(start);\n end = _normalizeAngle(end);\n }\n return {property, start, end};\n}\nfunction _pointsFromSegments(boundary, line) {\n const {x = null, y = null} = boundary || {};\n const linePoints = line.points;\n const points = [];\n line.segments.forEach(({start, end}) => {\n end = _findSegmentEnd(start, end, linePoints);\n const first = linePoints[start];\n const last = linePoints[end];\n if (y !== null) {\n points.push({x: first.x, y});\n points.push({x: last.x, y});\n } else if (x !== null) {\n points.push({x, y: first.y});\n points.push({x, y: last.y});\n }\n });\n return points;\n}\nfunction _findSegmentEnd(start, end, points) {\n for (;end > start; end--) {\n const point = points[end];\n if (!isNaN(point.x) && !isNaN(point.y)) {\n break;\n }\n }\n return end;\n}\nfunction _getEdge(a, b, prop, fn) {\n if (a && b) {\n return fn(a[prop], b[prop]);\n }\n return a ? a[prop] : b ? b[prop] : 0;\n}\n\nfunction _createBoundaryLine(boundary, line) {\n let points = [];\n let _loop = false;\n if (isArray(boundary)) {\n _loop = true;\n points = boundary;\n } else {\n points = _pointsFromSegments(boundary, line);\n }\n return points.length ? new LineElement({\n points,\n options: {tension: 0},\n _loop,\n _fullLoop: _loop\n }) : null;\n}\nfunction _shouldApplyFill(source) {\n return source && source.fill !== false;\n}\n\nfunction _resolveTarget(sources, index, propagate) {\n const source = sources[index];\n let fill = source.fill;\n const visited = [index];\n let target;\n if (!propagate) {\n return fill;\n }\n while (fill !== false && visited.indexOf(fill) === -1) {\n if (!isNumberFinite(fill)) {\n return fill;\n }\n target = sources[fill];\n if (!target) {\n return false;\n }\n if (target.visible) {\n return fill;\n }\n visited.push(fill);\n fill = target.fill;\n }\n return false;\n}\nfunction _decodeFill(line, index, count) {\n const fill = parseFillOption(line);\n if (isObject(fill)) {\n return isNaN(fill.value) ? false : fill;\n }\n let target = parseFloat(fill);\n if (isNumberFinite(target) && Math.floor(target) === target) {\n return decodeTargetIndex(fill[0], index, target, count);\n }\n return ['origin', 'start', 'end', 'stack', 'shape'].indexOf(fill) >= 0 && fill;\n}\nfunction decodeTargetIndex(firstCh, index, target, count) {\n if (firstCh === '-' || firstCh === '+') {\n target = index + target;\n }\n if (target === index || target < 0 || target >= count) {\n return false;\n }\n return target;\n}\nfunction _getTargetPixel(fill, scale) {\n let pixel = null;\n if (fill === 'start') {\n pixel = scale.bottom;\n } else if (fill === 'end') {\n pixel = scale.top;\n } else if (isObject(fill)) {\n pixel = scale.getPixelForValue(fill.value);\n } else if (scale.getBasePixel) {\n pixel = scale.getBasePixel();\n }\n return pixel;\n}\nfunction _getTargetValue(fill, scale, startValue) {\n let value;\n if (fill === 'start') {\n value = startValue;\n } else if (fill === 'end') {\n value = scale.options.reverse ? scale.min : scale.max;\n } else if (isObject(fill)) {\n value = fill.value;\n } else {\n value = scale.getBaseValue();\n }\n return value;\n}\nfunction parseFillOption(line) {\n const options = line.options;\n const fillOption = options.fill;\n let fill = valueOrDefault(fillOption && fillOption.target, fillOption);\n if (fill === undefined) {\n fill = !!options.backgroundColor;\n }\n if (fill === false || fill === null) {\n return false;\n }\n if (fill === true) {\n return 'origin';\n }\n return fill;\n}\n\nfunction _buildStackLine(source) {\n const {scale, index, line} = source;\n const points = [];\n const segments = line.segments;\n const sourcePoints = line.points;\n const linesBelow = getLinesBelow(scale, index);\n linesBelow.push(_createBoundaryLine({x: null, y: scale.bottom}, line));\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n for (let j = segment.start; j <= segment.end; j++) {\n addPointsBelow(points, sourcePoints[j], linesBelow);\n }\n }\n return new LineElement({points, options: {}});\n}\nfunction getLinesBelow(scale, index) {\n const below = [];\n const metas = scale.getMatchingVisibleMetas('line');\n for (let i = 0; i < metas.length; i++) {\n const meta = metas[i];\n if (meta.index === index) {\n break;\n }\n if (!meta.hidden) {\n below.unshift(meta.dataset);\n }\n }\n return below;\n}\nfunction addPointsBelow(points, sourcePoint, linesBelow) {\n const postponed = [];\n for (let j = 0; j < linesBelow.length; j++) {\n const line = linesBelow[j];\n const {first, last, point} = findPoint(line, sourcePoint, 'x');\n if (!point || (first && last)) {\n continue;\n }\n if (first) {\n postponed.unshift(point);\n } else {\n points.push(point);\n if (!last) {\n break;\n }\n }\n }\n points.push(...postponed);\n}\nfunction findPoint(line, sourcePoint, property) {\n const point = line.interpolate(sourcePoint, property);\n if (!point) {\n return {};\n }\n const pointValue = point[property];\n const segments = line.segments;\n const linePoints = line.points;\n let first = false;\n let last = false;\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n const firstValue = linePoints[segment.start][property];\n const lastValue = linePoints[segment.end][property];\n if (_isBetween(pointValue, firstValue, lastValue)) {\n first = pointValue === firstValue;\n last = pointValue === lastValue;\n break;\n }\n }\n return {first, last, point};\n}\n\nclass simpleArc {\n constructor(opts) {\n this.x = opts.x;\n this.y = opts.y;\n this.radius = opts.radius;\n }\n pathSegment(ctx, bounds, opts) {\n const {x, y, radius} = this;\n bounds = bounds || {start: 0, end: TAU};\n ctx.arc(x, y, radius, bounds.end, bounds.start, true);\n return !opts.bounds;\n }\n interpolate(point) {\n const {x, y, radius} = this;\n const angle = point.angle;\n return {\n x: x + Math.cos(angle) * radius,\n y: y + Math.sin(angle) * radius,\n angle\n };\n }\n}\n\nfunction _getTarget(source) {\n const {chart, fill, line} = source;\n if (isNumberFinite(fill)) {\n return getLineByIndex(chart, fill);\n }\n if (fill === 'stack') {\n return _buildStackLine(source);\n }\n if (fill === 'shape') {\n return true;\n }\n const boundary = computeBoundary(source);\n if (boundary instanceof simpleArc) {\n return boundary;\n }\n return _createBoundaryLine(boundary, line);\n}\nfunction getLineByIndex(chart, index) {\n const meta = chart.getDatasetMeta(index);\n const visible = meta && chart.isDatasetVisible(index);\n return visible ? meta.dataset : null;\n}\nfunction computeBoundary(source) {\n const scale = source.scale || {};\n if (scale.getPointPositionForValue) {\n return computeCircularBoundary(source);\n }\n return computeLinearBoundary(source);\n}\nfunction computeLinearBoundary(source) {\n const {scale = {}, fill} = source;\n const pixel = _getTargetPixel(fill, scale);\n if (isNumberFinite(pixel)) {\n const horizontal = scale.isHorizontal();\n return {\n x: horizontal ? pixel : null,\n y: horizontal ? null : pixel\n };\n }\n return null;\n}\nfunction computeCircularBoundary(source) {\n const {scale, fill} = source;\n const options = scale.options;\n const length = scale.getLabels().length;\n const start = options.reverse ? scale.max : scale.min;\n const value = _getTargetValue(fill, scale, start);\n const target = [];\n if (options.grid.circular) {\n const center = scale.getPointPositionForValue(0, start);\n return new simpleArc({\n x: center.x,\n y: center.y,\n radius: scale.getDistanceFromCenterForValue(value)\n });\n }\n for (let i = 0; i < length; ++i) {\n target.push(scale.getPointPositionForValue(i, value));\n }\n return target;\n}\n\nfunction _drawfill(ctx, source, area) {\n const target = _getTarget(source);\n const {line, scale, axis} = source;\n const lineOpts = line.options;\n const fillOption = lineOpts.fill;\n const color = lineOpts.backgroundColor;\n const {above = color, below = color} = fillOption || {};\n if (target && line.points.length) {\n clipArea(ctx, area);\n doFill(ctx, {line, target, above, below, area, scale, axis});\n unclipArea(ctx);\n }\n}\nfunction doFill(ctx, cfg) {\n const {line, target, above, below, area, scale} = cfg;\n const property = line._loop ? 'angle' : cfg.axis;\n ctx.save();\n if (property === 'x' && below !== above) {\n clipVertical(ctx, target, area.top);\n fill(ctx, {line, target, color: above, scale, property});\n ctx.restore();\n ctx.save();\n clipVertical(ctx, target, area.bottom);\n }\n fill(ctx, {line, target, color: below, scale, property});\n ctx.restore();\n}\nfunction clipVertical(ctx, target, clipY) {\n const {segments, points} = target;\n let first = true;\n let lineLoop = false;\n ctx.beginPath();\n for (const segment of segments) {\n const {start, end} = segment;\n const firstPoint = points[start];\n const lastPoint = points[_findSegmentEnd(start, end, points)];\n if (first) {\n ctx.moveTo(firstPoint.x, firstPoint.y);\n first = false;\n } else {\n ctx.lineTo(firstPoint.x, clipY);\n ctx.lineTo(firstPoint.x, firstPoint.y);\n }\n lineLoop = !!target.pathSegment(ctx, segment, {move: lineLoop});\n if (lineLoop) {\n ctx.closePath();\n } else {\n ctx.lineTo(lastPoint.x, clipY);\n }\n }\n ctx.lineTo(target.first().x, clipY);\n ctx.closePath();\n ctx.clip();\n}\nfunction fill(ctx, cfg) {\n const {line, target, property, color, scale} = cfg;\n const segments = _segments(line, target, property);\n for (const {source: src, target: tgt, start, end} of segments) {\n const {style: {backgroundColor = color} = {}} = src;\n const notShape = target !== true;\n ctx.save();\n ctx.fillStyle = backgroundColor;\n clipBounds(ctx, scale, notShape && _getBounds(property, start, end));\n ctx.beginPath();\n const lineLoop = !!line.pathSegment(ctx, src);\n let loop;\n if (notShape) {\n if (lineLoop) {\n ctx.closePath();\n } else {\n interpolatedLineTo(ctx, target, end, property);\n }\n const targetLoop = !!target.pathSegment(ctx, tgt, {move: lineLoop, reverse: true});\n loop = lineLoop && targetLoop;\n if (!loop) {\n interpolatedLineTo(ctx, target, start, property);\n }\n }\n ctx.closePath();\n ctx.fill(loop ? 'evenodd' : 'nonzero');\n ctx.restore();\n }\n}\nfunction clipBounds(ctx, scale, bounds) {\n const {top, bottom} = scale.chart.chartArea;\n const {property, start, end} = bounds || {};\n if (property === 'x') {\n ctx.beginPath();\n ctx.rect(start, top, end - start, bottom - top);\n ctx.clip();\n }\n}\nfunction interpolatedLineTo(ctx, target, point, property) {\n const interpolatedPoint = target.interpolate(point, property);\n if (interpolatedPoint) {\n ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y);\n }\n}\n\nvar index = {\n id: 'filler',\n afterDatasetsUpdate(chart, _args, options) {\n const count = (chart.data.datasets || []).length;\n const sources = [];\n let meta, i, line, source;\n for (i = 0; i < count; ++i) {\n meta = chart.getDatasetMeta(i);\n line = meta.dataset;\n source = null;\n if (line && line.options && line instanceof LineElement) {\n source = {\n visible: chart.isDatasetVisible(i),\n index: i,\n fill: _decodeFill(line, i, count),\n chart,\n axis: meta.controller.options.indexAxis,\n scale: meta.vScale,\n line,\n };\n }\n meta.$filler = source;\n sources.push(source);\n }\n for (i = 0; i < count; ++i) {\n source = sources[i];\n if (!source || source.fill === false) {\n continue;\n }\n source.fill = _resolveTarget(sources, i, options.propagate);\n }\n },\n beforeDraw(chart, _args, options) {\n const draw = options.drawTime === 'beforeDraw';\n const metasets = chart.getSortedVisibleDatasetMetas();\n const area = chart.chartArea;\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (!source) {\n continue;\n }\n source.line.updateControlPoints(area, source.axis);\n if (draw && source.fill) {\n _drawfill(chart.ctx, source, area);\n }\n }\n },\n beforeDatasetsDraw(chart, _args, options) {\n if (options.drawTime !== 'beforeDatasetsDraw') {\n return;\n }\n const metasets = chart.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (_shouldApplyFill(source)) {\n _drawfill(chart.ctx, source, chart.chartArea);\n }\n }\n },\n beforeDatasetDraw(chart, args, options) {\n const source = args.meta.$filler;\n if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') {\n return;\n }\n _drawfill(chart.ctx, source, chart.chartArea);\n },\n defaults: {\n propagate: true,\n drawTime: 'beforeDatasetDraw'\n }\n};\n\nconst getBoxSize = (labelOpts, fontSize) => {\n let {boxHeight = fontSize, boxWidth = fontSize} = labelOpts;\n if (labelOpts.usePointStyle) {\n boxHeight = Math.min(boxHeight, fontSize);\n boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize);\n }\n return {\n boxWidth,\n boxHeight,\n itemHeight: Math.max(fontSize, boxHeight)\n };\n};\nconst itemsEqual = (a, b) => a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index;\nclass Legend extends Element {\n constructor(config) {\n super();\n this._added = false;\n this.legendHitBoxes = [];\n this._hoveredItem = null;\n this.doughnutMode = false;\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this.legendItems = undefined;\n this.columnSizes = undefined;\n this.lineWidths = undefined;\n this.maxHeight = undefined;\n this.maxWidth = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.height = undefined;\n this.width = undefined;\n this._margins = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight, margins) {\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins;\n this.setDimensions();\n this.buildLabels();\n this.fit();\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = this._margins.left;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = this._margins.top;\n this.bottom = this.height;\n }\n }\n buildLabels() {\n const labelOpts = this.options.labels || {};\n let legendItems = callback(labelOpts.generateLabels, [this.chart], this) || [];\n if (labelOpts.filter) {\n legendItems = legendItems.filter((item) => labelOpts.filter(item, this.chart.data));\n }\n if (labelOpts.sort) {\n legendItems = legendItems.sort((a, b) => labelOpts.sort(a, b, this.chart.data));\n }\n if (this.options.reverse) {\n legendItems.reverse();\n }\n this.legendItems = legendItems;\n }\n fit() {\n const {options, ctx} = this;\n if (!options.display) {\n this.width = this.height = 0;\n return;\n }\n const labelOpts = options.labels;\n const labelFont = toFont(labelOpts.font);\n const fontSize = labelFont.size;\n const titleHeight = this._computeTitleHeight();\n const {boxWidth, itemHeight} = getBoxSize(labelOpts, fontSize);\n let width, height;\n ctx.font = labelFont.string;\n if (this.isHorizontal()) {\n width = this.maxWidth;\n height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n } else {\n height = this.maxHeight;\n width = this._fitCols(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n }\n this.width = Math.min(width, options.maxWidth || this.maxWidth);\n this.height = Math.min(height, options.maxHeight || this.maxHeight);\n }\n _fitRows(titleHeight, fontSize, boxWidth, itemHeight) {\n const {ctx, maxWidth, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n const lineWidths = this.lineWidths = [0];\n const lineHeight = itemHeight + padding;\n let totalHeight = titleHeight;\n ctx.textAlign = 'left';\n ctx.textBaseline = 'middle';\n let row = -1;\n let top = -lineHeight;\n this.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) {\n totalHeight += lineHeight;\n lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\n top += lineHeight;\n row++;\n }\n hitboxes[i] = {left: 0, top, row, width: itemWidth, height: itemHeight};\n lineWidths[lineWidths.length - 1] += itemWidth + padding;\n });\n return totalHeight;\n }\n _fitCols(titleHeight, fontSize, boxWidth, itemHeight) {\n const {ctx, maxHeight, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n const columnSizes = this.columnSizes = [];\n const heightLimit = maxHeight - titleHeight;\n let totalWidth = padding;\n let currentColWidth = 0;\n let currentColHeight = 0;\n let left = 0;\n let col = 0;\n this.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) {\n totalWidth += currentColWidth + padding;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n left += currentColWidth + padding;\n col++;\n currentColWidth = currentColHeight = 0;\n }\n hitboxes[i] = {left, top: currentColHeight, col, width: itemWidth, height: itemHeight};\n currentColWidth = Math.max(currentColWidth, itemWidth);\n currentColHeight += itemHeight + padding;\n });\n totalWidth += currentColWidth;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n return totalWidth;\n }\n adjustHitBoxes() {\n if (!this.options.display) {\n return;\n }\n const titleHeight = this._computeTitleHeight();\n const {legendHitBoxes: hitboxes, options: {align, labels: {padding}, rtl}} = this;\n const rtlHelper = getRtlAdapter(rtl, this.left, this.width);\n if (this.isHorizontal()) {\n let row = 0;\n let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n for (const hitbox of hitboxes) {\n if (row !== hitbox.row) {\n row = hitbox.row;\n left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n }\n hitbox.top += this.top + titleHeight + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width);\n left += hitbox.width + padding;\n }\n } else {\n let col = 0;\n let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n for (const hitbox of hitboxes) {\n if (hitbox.col !== col) {\n col = hitbox.col;\n top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n }\n hitbox.top = top;\n hitbox.left += this.left + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width);\n top += hitbox.height + padding;\n }\n }\n }\n isHorizontal() {\n return this.options.position === 'top' || this.options.position === 'bottom';\n }\n draw() {\n if (this.options.display) {\n const ctx = this.ctx;\n clipArea(ctx, this);\n this._draw();\n unclipArea(ctx);\n }\n }\n _draw() {\n const {options: opts, columnSizes, lineWidths, ctx} = this;\n const {align, labels: labelOpts} = opts;\n const defaultColor = defaults.color;\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const labelFont = toFont(labelOpts.font);\n const {color: fontColor, padding} = labelOpts;\n const fontSize = labelFont.size;\n const halfFontSize = fontSize / 2;\n let cursor;\n this.drawTitle();\n ctx.textAlign = rtlHelper.textAlign('left');\n ctx.textBaseline = 'middle';\n ctx.lineWidth = 0.5;\n ctx.font = labelFont.string;\n const {boxWidth, boxHeight, itemHeight} = getBoxSize(labelOpts, fontSize);\n const drawLegendBox = function(x, y, legendItem) {\n if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) {\n return;\n }\n ctx.save();\n const lineWidth = valueOrDefault(legendItem.lineWidth, 1);\n ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor);\n ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt');\n ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0);\n ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter');\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor);\n ctx.setLineDash(valueOrDefault(legendItem.lineDash, []));\n if (labelOpts.usePointStyle) {\n const drawOptions = {\n radius: boxHeight * Math.SQRT2 / 2,\n pointStyle: legendItem.pointStyle,\n rotation: legendItem.rotation,\n borderWidth: lineWidth\n };\n const centerX = rtlHelper.xPlus(x, boxWidth / 2);\n const centerY = y + halfFontSize;\n drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth);\n } else {\n const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0);\n const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth);\n const borderRadius = toTRBLCorners(legendItem.borderRadius);\n ctx.beginPath();\n if (Object.values(borderRadius).some(v => v !== 0)) {\n addRoundedRectPath(ctx, {\n x: xBoxLeft,\n y: yBoxTop,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n } else {\n ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight);\n }\n ctx.fill();\n if (lineWidth !== 0) {\n ctx.stroke();\n }\n }\n ctx.restore();\n };\n const fillText = function(x, y, legendItem) {\n renderText(ctx, legendItem.text, x, y + (itemHeight / 2), labelFont, {\n strikethrough: legendItem.hidden,\n textAlign: rtlHelper.textAlign(legendItem.textAlign)\n });\n };\n const isHorizontal = this.isHorizontal();\n const titleHeight = this._computeTitleHeight();\n if (isHorizontal) {\n cursor = {\n x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]),\n y: this.top + padding + titleHeight,\n line: 0\n };\n } else {\n cursor = {\n x: this.left + padding,\n y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height),\n line: 0\n };\n }\n overrideTextDirection(this.ctx, opts.textDirection);\n const lineHeight = itemHeight + padding;\n this.legendItems.forEach((legendItem, i) => {\n ctx.strokeStyle = legendItem.fontColor || fontColor;\n ctx.fillStyle = legendItem.fontColor || fontColor;\n const textWidth = ctx.measureText(legendItem.text).width;\n const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign));\n const width = boxWidth + halfFontSize + textWidth;\n let x = cursor.x;\n let y = cursor.y;\n rtlHelper.setWidth(this.width);\n if (isHorizontal) {\n if (i > 0 && x + width + padding > this.right) {\n y = cursor.y += lineHeight;\n cursor.line++;\n x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]);\n }\n } else if (i > 0 && y + lineHeight > this.bottom) {\n x = cursor.x = x + columnSizes[cursor.line].width + padding;\n cursor.line++;\n y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height);\n }\n const realX = rtlHelper.x(x);\n drawLegendBox(realX, y, legendItem);\n x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl);\n fillText(rtlHelper.x(x), y, legendItem);\n if (isHorizontal) {\n cursor.x += width + padding;\n } else {\n cursor.y += lineHeight;\n }\n });\n restoreTextDirection(this.ctx, opts.textDirection);\n }\n drawTitle() {\n const opts = this.options;\n const titleOpts = opts.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n if (!titleOpts.display) {\n return;\n }\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const ctx = this.ctx;\n const position = titleOpts.position;\n const halfFontSize = titleFont.size / 2;\n const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize;\n let y;\n let left = this.left;\n let maxWidth = this.width;\n if (this.isHorizontal()) {\n maxWidth = Math.max(...this.lineWidths);\n y = this.top + topPaddingPlusHalfFontSize;\n left = _alignStartEnd(opts.align, left, this.right - maxWidth);\n } else {\n const maxHeight = this.columnSizes.reduce((acc, size) => Math.max(acc, size.height), 0);\n y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight());\n }\n const x = _alignStartEnd(position, left, left + maxWidth);\n ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position));\n ctx.textBaseline = 'middle';\n ctx.strokeStyle = titleOpts.color;\n ctx.fillStyle = titleOpts.color;\n ctx.font = titleFont.string;\n renderText(ctx, titleOpts.text, x, y, titleFont);\n }\n _computeTitleHeight() {\n const titleOpts = this.options.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0;\n }\n _getLegendItemAt(x, y) {\n let i, hitBox, lh;\n if (_isBetween(x, this.left, this.right)\n && _isBetween(y, this.top, this.bottom)) {\n lh = this.legendHitBoxes;\n for (i = 0; i < lh.length; ++i) {\n hitBox = lh[i];\n if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width)\n && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) {\n return this.legendItems[i];\n }\n }\n }\n return null;\n }\n handleEvent(e) {\n const opts = this.options;\n if (!isListened(e.type, opts)) {\n return;\n }\n const hoveredItem = this._getLegendItemAt(e.x, e.y);\n if (e.type === 'mousemove' || e.type === 'mouseout') {\n const previous = this._hoveredItem;\n const sameItem = itemsEqual(previous, hoveredItem);\n if (previous && !sameItem) {\n callback(opts.onLeave, [e, previous, this], this);\n }\n this._hoveredItem = hoveredItem;\n if (hoveredItem && !sameItem) {\n callback(opts.onHover, [e, hoveredItem, this], this);\n }\n } else if (hoveredItem) {\n callback(opts.onClick, [e, hoveredItem, this], this);\n }\n }\n}\nfunction isListened(type, opts) {\n if ((type === 'mousemove' || type === 'mouseout') && (opts.onHover || opts.onLeave)) {\n return true;\n }\n if (opts.onClick && (type === 'click' || type === 'mouseup')) {\n return true;\n }\n return false;\n}\nvar plugin_legend = {\n id: 'legend',\n _element: Legend,\n start(chart, _args, options) {\n const legend = chart.legend = new Legend({ctx: chart.ctx, options, chart});\n layouts.configure(chart, legend, options);\n layouts.addBox(chart, legend);\n },\n stop(chart) {\n layouts.removeBox(chart, chart.legend);\n delete chart.legend;\n },\n beforeUpdate(chart, _args, options) {\n const legend = chart.legend;\n layouts.configure(chart, legend, options);\n legend.options = options;\n },\n afterUpdate(chart) {\n const legend = chart.legend;\n legend.buildLabels();\n legend.adjustHitBoxes();\n },\n afterEvent(chart, args) {\n if (!args.replay) {\n chart.legend.handleEvent(args.event);\n }\n },\n defaults: {\n display: true,\n position: 'top',\n align: 'center',\n fullSize: true,\n reverse: false,\n weight: 1000,\n onClick(e, legendItem, legend) {\n const index = legendItem.datasetIndex;\n const ci = legend.chart;\n if (ci.isDatasetVisible(index)) {\n ci.hide(index);\n legendItem.hidden = true;\n } else {\n ci.show(index);\n legendItem.hidden = false;\n }\n },\n onHover: null,\n onLeave: null,\n labels: {\n color: (ctx) => ctx.chart.options.color,\n boxWidth: 40,\n padding: 10,\n generateLabels(chart) {\n const datasets = chart.data.datasets;\n const {labels: {usePointStyle, pointStyle, textAlign, color}} = chart.legend.options;\n return chart._getSortedDatasetMetas().map((meta) => {\n const style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\n const borderWidth = toPadding(style.borderWidth);\n return {\n text: datasets[meta.index].label,\n fillStyle: style.backgroundColor,\n fontColor: color,\n hidden: !meta.visible,\n lineCap: style.borderCapStyle,\n lineDash: style.borderDash,\n lineDashOffset: style.borderDashOffset,\n lineJoin: style.borderJoinStyle,\n lineWidth: (borderWidth.width + borderWidth.height) / 4,\n strokeStyle: style.borderColor,\n pointStyle: pointStyle || style.pointStyle,\n rotation: style.rotation,\n textAlign: textAlign || style.textAlign,\n borderRadius: 0,\n datasetIndex: meta.index\n };\n }, this);\n }\n },\n title: {\n color: (ctx) => ctx.chart.options.color,\n display: false,\n position: 'center',\n text: '',\n }\n },\n descriptors: {\n _scriptable: (name) => !name.startsWith('on'),\n labels: {\n _scriptable: (name) => !['generateLabels', 'filter', 'sort'].includes(name),\n }\n },\n};\n\nclass Title extends Element {\n constructor(config) {\n super();\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this._padding = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight) {\n const opts = this.options;\n this.left = 0;\n this.top = 0;\n if (!opts.display) {\n this.width = this.height = this.right = this.bottom = 0;\n return;\n }\n this.width = this.right = maxWidth;\n this.height = this.bottom = maxHeight;\n const lineCount = isArray(opts.text) ? opts.text.length : 1;\n this._padding = toPadding(opts.padding);\n const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height;\n if (this.isHorizontal()) {\n this.height = textSize;\n } else {\n this.width = textSize;\n }\n }\n isHorizontal() {\n const pos = this.options.position;\n return pos === 'top' || pos === 'bottom';\n }\n _drawArgs(offset) {\n const {top, left, bottom, right, options} = this;\n const align = options.align;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n if (this.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n titleY = top + offset;\n maxWidth = right - left;\n } else {\n if (options.position === 'left') {\n titleX = left + offset;\n titleY = _alignStartEnd(align, bottom, top);\n rotation = PI * -0.5;\n } else {\n titleX = right - offset;\n titleY = _alignStartEnd(align, top, bottom);\n rotation = PI * 0.5;\n }\n maxWidth = bottom - top;\n }\n return {titleX, titleY, maxWidth, rotation};\n }\n draw() {\n const ctx = this.ctx;\n const opts = this.options;\n if (!opts.display) {\n return;\n }\n const fontOpts = toFont(opts.font);\n const lineHeight = fontOpts.lineHeight;\n const offset = lineHeight / 2 + this._padding.top;\n const {titleX, titleY, maxWidth, rotation} = this._drawArgs(offset);\n renderText(ctx, opts.text, 0, 0, fontOpts, {\n color: opts.color,\n maxWidth,\n rotation,\n textAlign: _toLeftRightCenter(opts.align),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n}\nfunction createTitle(chart, titleOpts) {\n const title = new Title({\n ctx: chart.ctx,\n options: titleOpts,\n chart\n });\n layouts.configure(chart, title, titleOpts);\n layouts.addBox(chart, title);\n chart.titleBlock = title;\n}\nvar plugin_title = {\n id: 'title',\n _element: Title,\n start(chart, _args, options) {\n createTitle(chart, options);\n },\n stop(chart) {\n const titleBlock = chart.titleBlock;\n layouts.removeBox(chart, titleBlock);\n delete chart.titleBlock;\n },\n beforeUpdate(chart, _args, options) {\n const title = chart.titleBlock;\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'bold',\n },\n fullSize: true,\n padding: 10,\n position: 'top',\n text: '',\n weight: 2000\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst map = new WeakMap();\nvar plugin_subtitle = {\n id: 'subtitle',\n start(chart, _args, options) {\n const title = new Title({\n ctx: chart.ctx,\n options,\n chart\n });\n layouts.configure(chart, title, options);\n layouts.addBox(chart, title);\n map.set(chart, title);\n },\n stop(chart) {\n layouts.removeBox(chart, map.get(chart));\n map.delete(chart);\n },\n beforeUpdate(chart, _args, options) {\n const title = map.get(chart);\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'normal',\n },\n fullSize: true,\n padding: 0,\n position: 'top',\n text: '',\n weight: 1500\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst positioners = {\n average(items) {\n if (!items.length) {\n return false;\n }\n let i, len;\n let x = 0;\n let y = 0;\n let count = 0;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const pos = el.tooltipPosition();\n x += pos.x;\n y += pos.y;\n ++count;\n }\n }\n return {\n x: x / count,\n y: y / count\n };\n },\n nearest(items, eventPosition) {\n if (!items.length) {\n return false;\n }\n let x = eventPosition.x;\n let y = eventPosition.y;\n let minDistance = Number.POSITIVE_INFINITY;\n let i, len, nearestElement;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const center = el.getCenterPoint();\n const d = distanceBetweenPoints(eventPosition, center);\n if (d < minDistance) {\n minDistance = d;\n nearestElement = el;\n }\n }\n }\n if (nearestElement) {\n const tp = nearestElement.tooltipPosition();\n x = tp.x;\n y = tp.y;\n }\n return {\n x,\n y\n };\n }\n};\nfunction pushOrConcat(base, toPush) {\n if (toPush) {\n if (isArray(toPush)) {\n Array.prototype.push.apply(base, toPush);\n } else {\n base.push(toPush);\n }\n }\n return base;\n}\nfunction splitNewlines(str) {\n if ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\n return str.split('\\n');\n }\n return str;\n}\nfunction createTooltipItem(chart, item) {\n const {element, datasetIndex, index} = item;\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n const {label, value} = controller.getLabelAndValue(index);\n return {\n chart,\n label,\n parsed: controller.getParsed(index),\n raw: chart.data.datasets[datasetIndex].data[index],\n formattedValue: value,\n dataset: controller.getDataset(),\n dataIndex: index,\n datasetIndex,\n element\n };\n}\nfunction getTooltipSize(tooltip, options) {\n const ctx = tooltip.chart.ctx;\n const {body, footer, title} = tooltip;\n const {boxWidth, boxHeight} = options;\n const bodyFont = toFont(options.bodyFont);\n const titleFont = toFont(options.titleFont);\n const footerFont = toFont(options.footerFont);\n const titleLineCount = title.length;\n const footerLineCount = footer.length;\n const bodyLineItemCount = body.length;\n const padding = toPadding(options.padding);\n let height = padding.height;\n let width = 0;\n let combinedBodyLength = body.reduce((count, bodyItem) => count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0);\n combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length;\n if (titleLineCount) {\n height += titleLineCount * titleFont.lineHeight\n\t\t\t+ (titleLineCount - 1) * options.titleSpacing\n\t\t\t+ options.titleMarginBottom;\n }\n if (combinedBodyLength) {\n const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight;\n height += bodyLineItemCount * bodyLineHeight\n\t\t\t+ (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight\n\t\t\t+ (combinedBodyLength - 1) * options.bodySpacing;\n }\n if (footerLineCount) {\n height += options.footerMarginTop\n\t\t\t+ footerLineCount * footerFont.lineHeight\n\t\t\t+ (footerLineCount - 1) * options.footerSpacing;\n }\n let widthPadding = 0;\n const maxLineWidth = function(line) {\n width = Math.max(width, ctx.measureText(line).width + widthPadding);\n };\n ctx.save();\n ctx.font = titleFont.string;\n each(tooltip.title, maxLineWidth);\n ctx.font = bodyFont.string;\n each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth);\n widthPadding = options.displayColors ? (boxWidth + 2 + options.boxPadding) : 0;\n each(body, (bodyItem) => {\n each(bodyItem.before, maxLineWidth);\n each(bodyItem.lines, maxLineWidth);\n each(bodyItem.after, maxLineWidth);\n });\n widthPadding = 0;\n ctx.font = footerFont.string;\n each(tooltip.footer, maxLineWidth);\n ctx.restore();\n width += padding.width;\n return {width, height};\n}\nfunction determineYAlign(chart, size) {\n const {y, height} = size;\n if (y < height / 2) {\n return 'top';\n } else if (y > (chart.height - height / 2)) {\n return 'bottom';\n }\n return 'center';\n}\nfunction doesNotFitWithAlign(xAlign, chart, options, size) {\n const {x, width} = size;\n const caret = options.caretSize + options.caretPadding;\n if (xAlign === 'left' && x + width + caret > chart.width) {\n return true;\n }\n if (xAlign === 'right' && x - width - caret < 0) {\n return true;\n }\n}\nfunction determineXAlign(chart, options, size, yAlign) {\n const {x, width} = size;\n const {width: chartWidth, chartArea: {left, right}} = chart;\n let xAlign = 'center';\n if (yAlign === 'center') {\n xAlign = x <= (left + right) / 2 ? 'left' : 'right';\n } else if (x <= width / 2) {\n xAlign = 'left';\n } else if (x >= chartWidth - width / 2) {\n xAlign = 'right';\n }\n if (doesNotFitWithAlign(xAlign, chart, options, size)) {\n xAlign = 'center';\n }\n return xAlign;\n}\nfunction determineAlignment(chart, options, size) {\n const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size);\n return {\n xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign),\n yAlign\n };\n}\nfunction alignX(size, xAlign) {\n let {x, width} = size;\n if (xAlign === 'right') {\n x -= width;\n } else if (xAlign === 'center') {\n x -= (width / 2);\n }\n return x;\n}\nfunction alignY(size, yAlign, paddingAndSize) {\n let {y, height} = size;\n if (yAlign === 'top') {\n y += paddingAndSize;\n } else if (yAlign === 'bottom') {\n y -= height + paddingAndSize;\n } else {\n y -= (height / 2);\n }\n return y;\n}\nfunction getBackgroundPoint(options, size, alignment, chart) {\n const {caretSize, caretPadding, cornerRadius} = options;\n const {xAlign, yAlign} = alignment;\n const paddingAndSize = caretSize + caretPadding;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n let x = alignX(size, xAlign);\n const y = alignY(size, yAlign, paddingAndSize);\n if (yAlign === 'center') {\n if (xAlign === 'left') {\n x += paddingAndSize;\n } else if (xAlign === 'right') {\n x -= paddingAndSize;\n }\n } else if (xAlign === 'left') {\n x -= Math.max(topLeft, bottomLeft) + caretSize;\n } else if (xAlign === 'right') {\n x += Math.max(topRight, bottomRight) + caretSize;\n }\n return {\n x: _limitValue(x, 0, chart.width - size.width),\n y: _limitValue(y, 0, chart.height - size.height)\n };\n}\nfunction getAlignedX(tooltip, align, options) {\n const padding = toPadding(options.padding);\n return align === 'center'\n ? tooltip.x + tooltip.width / 2\n : align === 'right'\n ? tooltip.x + tooltip.width - padding.right\n : tooltip.x + padding.left;\n}\nfunction getBeforeAfterBodyLines(callback) {\n return pushOrConcat([], splitNewlines(callback));\n}\nfunction createTooltipContext(parent, tooltip, tooltipItems) {\n return createContext(parent, {\n tooltip,\n tooltipItems,\n type: 'tooltip'\n });\n}\nfunction overrideCallbacks(callbacks, context) {\n const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks;\n return override ? callbacks.override(override) : callbacks;\n}\nclass Tooltip extends Element {\n constructor(config) {\n super();\n this.opacity = 0;\n this._active = [];\n this._eventPosition = undefined;\n this._size = undefined;\n this._cachedAnimations = undefined;\n this._tooltipItems = [];\n this.$animations = undefined;\n this.$context = undefined;\n this.chart = config.chart || config._chart;\n this._chart = this.chart;\n this.options = config.options;\n this.dataPoints = undefined;\n this.title = undefined;\n this.beforeBody = undefined;\n this.body = undefined;\n this.afterBody = undefined;\n this.footer = undefined;\n this.xAlign = undefined;\n this.yAlign = undefined;\n this.x = undefined;\n this.y = undefined;\n this.height = undefined;\n this.width = undefined;\n this.caretX = undefined;\n this.caretY = undefined;\n this.labelColors = undefined;\n this.labelPointStyles = undefined;\n this.labelTextColors = undefined;\n }\n initialize(options) {\n this.options = options;\n this._cachedAnimations = undefined;\n this.$context = undefined;\n }\n _resolveAnimations() {\n const cached = this._cachedAnimations;\n if (cached) {\n return cached;\n }\n const chart = this.chart;\n const options = this.options.setContext(this.getContext());\n const opts = options.enabled && chart.options.animation && options.animations;\n const animations = new Animations(this.chart, opts);\n if (opts._cacheable) {\n this._cachedAnimations = Object.freeze(animations);\n }\n return animations;\n }\n getContext() {\n return this.$context ||\n\t\t\t(this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems));\n }\n getTitle(context, options) {\n const {callbacks} = options;\n const beforeTitle = callbacks.beforeTitle.apply(this, [context]);\n const title = callbacks.title.apply(this, [context]);\n const afterTitle = callbacks.afterTitle.apply(this, [context]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeTitle));\n lines = pushOrConcat(lines, splitNewlines(title));\n lines = pushOrConcat(lines, splitNewlines(afterTitle));\n return lines;\n }\n getBeforeBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.beforeBody.apply(this, [tooltipItems]));\n }\n getBody(tooltipItems, options) {\n const {callbacks} = options;\n const bodyItems = [];\n each(tooltipItems, (context) => {\n const bodyItem = {\n before: [],\n lines: [],\n after: []\n };\n const scoped = overrideCallbacks(callbacks, context);\n pushOrConcat(bodyItem.before, splitNewlines(scoped.beforeLabel.call(this, context)));\n pushOrConcat(bodyItem.lines, scoped.label.call(this, context));\n pushOrConcat(bodyItem.after, splitNewlines(scoped.afterLabel.call(this, context)));\n bodyItems.push(bodyItem);\n });\n return bodyItems;\n }\n getAfterBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.afterBody.apply(this, [tooltipItems]));\n }\n getFooter(tooltipItems, options) {\n const {callbacks} = options;\n const beforeFooter = callbacks.beforeFooter.apply(this, [tooltipItems]);\n const footer = callbacks.footer.apply(this, [tooltipItems]);\n const afterFooter = callbacks.afterFooter.apply(this, [tooltipItems]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeFooter));\n lines = pushOrConcat(lines, splitNewlines(footer));\n lines = pushOrConcat(lines, splitNewlines(afterFooter));\n return lines;\n }\n _createItems(options) {\n const active = this._active;\n const data = this.chart.data;\n const labelColors = [];\n const labelPointStyles = [];\n const labelTextColors = [];\n let tooltipItems = [];\n let i, len;\n for (i = 0, len = active.length; i < len; ++i) {\n tooltipItems.push(createTooltipItem(this.chart, active[i]));\n }\n if (options.filter) {\n tooltipItems = tooltipItems.filter((element, index, array) => options.filter(element, index, array, data));\n }\n if (options.itemSort) {\n tooltipItems = tooltipItems.sort((a, b) => options.itemSort(a, b, data));\n }\n each(tooltipItems, (context) => {\n const scoped = overrideCallbacks(options.callbacks, context);\n labelColors.push(scoped.labelColor.call(this, context));\n labelPointStyles.push(scoped.labelPointStyle.call(this, context));\n labelTextColors.push(scoped.labelTextColor.call(this, context));\n });\n this.labelColors = labelColors;\n this.labelPointStyles = labelPointStyles;\n this.labelTextColors = labelTextColors;\n this.dataPoints = tooltipItems;\n return tooltipItems;\n }\n update(changed, replay) {\n const options = this.options.setContext(this.getContext());\n const active = this._active;\n let properties;\n let tooltipItems = [];\n if (!active.length) {\n if (this.opacity !== 0) {\n properties = {\n opacity: 0\n };\n }\n } else {\n const position = positioners[options.position].call(this, active, this._eventPosition);\n tooltipItems = this._createItems(options);\n this.title = this.getTitle(tooltipItems, options);\n this.beforeBody = this.getBeforeBody(tooltipItems, options);\n this.body = this.getBody(tooltipItems, options);\n this.afterBody = this.getAfterBody(tooltipItems, options);\n this.footer = this.getFooter(tooltipItems, options);\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, size);\n const alignment = determineAlignment(this.chart, options, positionAndSize);\n const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart);\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n properties = {\n opacity: 1,\n x: backgroundPoint.x,\n y: backgroundPoint.y,\n width: size.width,\n height: size.height,\n caretX: position.x,\n caretY: position.y\n };\n }\n this._tooltipItems = tooltipItems;\n this.$context = undefined;\n if (properties) {\n this._resolveAnimations().update(this, properties);\n }\n if (changed && options.external) {\n options.external.call(this, {chart: this.chart, tooltip: this, replay});\n }\n }\n drawCaret(tooltipPoint, ctx, size, options) {\n const caretPosition = this.getCaretPosition(tooltipPoint, size, options);\n ctx.lineTo(caretPosition.x1, caretPosition.y1);\n ctx.lineTo(caretPosition.x2, caretPosition.y2);\n ctx.lineTo(caretPosition.x3, caretPosition.y3);\n }\n getCaretPosition(tooltipPoint, size, options) {\n const {xAlign, yAlign} = this;\n const {caretSize, cornerRadius} = options;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n const {x: ptX, y: ptY} = tooltipPoint;\n const {width, height} = size;\n let x1, x2, x3, y1, y2, y3;\n if (yAlign === 'center') {\n y2 = ptY + (height / 2);\n if (xAlign === 'left') {\n x1 = ptX;\n x2 = x1 - caretSize;\n y1 = y2 + caretSize;\n y3 = y2 - caretSize;\n } else {\n x1 = ptX + width;\n x2 = x1 + caretSize;\n y1 = y2 - caretSize;\n y3 = y2 + caretSize;\n }\n x3 = x1;\n } else {\n if (xAlign === 'left') {\n x2 = ptX + Math.max(topLeft, bottomLeft) + (caretSize);\n } else if (xAlign === 'right') {\n x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize;\n } else {\n x2 = this.caretX;\n }\n if (yAlign === 'top') {\n y1 = ptY;\n y2 = y1 - caretSize;\n x1 = x2 - caretSize;\n x3 = x2 + caretSize;\n } else {\n y1 = ptY + height;\n y2 = y1 + caretSize;\n x1 = x2 + caretSize;\n x3 = x2 - caretSize;\n }\n y3 = y1;\n }\n return {x1, x2, x3, y1, y2, y3};\n }\n drawTitle(pt, ctx, options) {\n const title = this.title;\n const length = title.length;\n let titleFont, titleSpacing, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.titleAlign, options);\n ctx.textAlign = rtlHelper.textAlign(options.titleAlign);\n ctx.textBaseline = 'middle';\n titleFont = toFont(options.titleFont);\n titleSpacing = options.titleSpacing;\n ctx.fillStyle = options.titleColor;\n ctx.font = titleFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2);\n pt.y += titleFont.lineHeight + titleSpacing;\n if (i + 1 === length) {\n pt.y += options.titleMarginBottom - titleSpacing;\n }\n }\n }\n }\n _drawColorBox(ctx, pt, i, rtlHelper, options) {\n const labelColors = this.labelColors[i];\n const labelPointStyle = this.labelPointStyles[i];\n const {boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n const colorX = getAlignedX(this, 'left', options);\n const rtlColorX = rtlHelper.x(colorX);\n const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0;\n const colorY = pt.y + yOffSet;\n if (options.usePointStyle) {\n const drawOptions = {\n radius: Math.min(boxWidth, boxHeight) / 2,\n pointStyle: labelPointStyle.pointStyle,\n rotation: labelPointStyle.rotation,\n borderWidth: 1\n };\n const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2;\n const centerY = colorY + boxHeight / 2;\n ctx.strokeStyle = options.multiKeyBackground;\n ctx.fillStyle = options.multiKeyBackground;\n drawPoint(ctx, drawOptions, centerX, centerY);\n ctx.strokeStyle = labelColors.borderColor;\n ctx.fillStyle = labelColors.backgroundColor;\n drawPoint(ctx, drawOptions, centerX, centerY);\n } else {\n ctx.lineWidth = isObject(labelColors.borderWidth) ? Math.max(...Object.values(labelColors.borderWidth)) : (labelColors.borderWidth || 1);\n ctx.strokeStyle = labelColors.borderColor;\n ctx.setLineDash(labelColors.borderDash || []);\n ctx.lineDashOffset = labelColors.borderDashOffset || 0;\n const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth - boxPadding);\n const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - boxPadding - 2);\n const borderRadius = toTRBLCorners(labelColors.borderRadius);\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n ctx.fillStyle = options.multiKeyBackground;\n addRoundedRectPath(ctx, {\n x: outerX,\n y: colorY,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n ctx.fill();\n ctx.stroke();\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: innerX,\n y: colorY + 1,\n w: boxWidth - 2,\n h: boxHeight - 2,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n ctx.fillStyle = options.multiKeyBackground;\n ctx.fillRect(outerX, colorY, boxWidth, boxHeight);\n ctx.strokeRect(outerX, colorY, boxWidth, boxHeight);\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2);\n }\n }\n ctx.fillStyle = this.labelTextColors[i];\n }\n drawBody(pt, ctx, options) {\n const {body} = this;\n const {bodySpacing, bodyAlign, displayColors, boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n let bodyLineHeight = bodyFont.lineHeight;\n let xLinePadding = 0;\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n const fillLineOfText = function(line) {\n ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2);\n pt.y += bodyLineHeight + bodySpacing;\n };\n const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\n let bodyItem, textColor, lines, i, j, ilen, jlen;\n ctx.textAlign = bodyAlign;\n ctx.textBaseline = 'middle';\n ctx.font = bodyFont.string;\n pt.x = getAlignedX(this, bodyAlignForCalculation, options);\n ctx.fillStyle = options.bodyColor;\n each(this.beforeBody, fillLineOfText);\n xLinePadding = displayColors && bodyAlignForCalculation !== 'right'\n ? bodyAlign === 'center' ? (boxWidth / 2 + boxPadding) : (boxWidth + 2 + boxPadding)\n : 0;\n for (i = 0, ilen = body.length; i < ilen; ++i) {\n bodyItem = body[i];\n textColor = this.labelTextColors[i];\n ctx.fillStyle = textColor;\n each(bodyItem.before, fillLineOfText);\n lines = bodyItem.lines;\n if (displayColors && lines.length) {\n this._drawColorBox(ctx, pt, i, rtlHelper, options);\n bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight);\n }\n for (j = 0, jlen = lines.length; j < jlen; ++j) {\n fillLineOfText(lines[j]);\n bodyLineHeight = bodyFont.lineHeight;\n }\n each(bodyItem.after, fillLineOfText);\n }\n xLinePadding = 0;\n bodyLineHeight = bodyFont.lineHeight;\n each(this.afterBody, fillLineOfText);\n pt.y -= bodySpacing;\n }\n drawFooter(pt, ctx, options) {\n const footer = this.footer;\n const length = footer.length;\n let footerFont, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.footerAlign, options);\n pt.y += options.footerMarginTop;\n ctx.textAlign = rtlHelper.textAlign(options.footerAlign);\n ctx.textBaseline = 'middle';\n footerFont = toFont(options.footerFont);\n ctx.fillStyle = options.footerColor;\n ctx.font = footerFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2);\n pt.y += footerFont.lineHeight + options.footerSpacing;\n }\n }\n }\n drawBackground(pt, ctx, tooltipSize, options) {\n const {xAlign, yAlign} = this;\n const {x, y} = pt;\n const {width, height} = tooltipSize;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(options.cornerRadius);\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.beginPath();\n ctx.moveTo(x + topLeft, y);\n if (yAlign === 'top') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width - topRight, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + topRight);\n if (yAlign === 'center' && xAlign === 'right') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width, y + height - bottomRight);\n ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height);\n if (yAlign === 'bottom') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + bottomLeft, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft);\n if (yAlign === 'center' && xAlign === 'left') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x, y + topLeft);\n ctx.quadraticCurveTo(x, y, x + topLeft, y);\n ctx.closePath();\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n }\n _updateAnimationTarget(options) {\n const chart = this.chart;\n const anims = this.$animations;\n const animX = anims && anims.x;\n const animY = anims && anims.y;\n if (animX || animY) {\n const position = positioners[options.position].call(this, this._active, this._eventPosition);\n if (!position) {\n return;\n }\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, this._size);\n const alignment = determineAlignment(chart, options, positionAndSize);\n const point = getBackgroundPoint(options, positionAndSize, alignment, chart);\n if (animX._to !== point.x || animY._to !== point.y) {\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n this.width = size.width;\n this.height = size.height;\n this.caretX = position.x;\n this.caretY = position.y;\n this._resolveAnimations().update(this, point);\n }\n }\n }\n _willRender() {\n return !!this.opacity;\n }\n draw(ctx) {\n const options = this.options.setContext(this.getContext());\n let opacity = this.opacity;\n if (!opacity) {\n return;\n }\n this._updateAnimationTarget(options);\n const tooltipSize = {\n width: this.width,\n height: this.height\n };\n const pt = {\n x: this.x,\n y: this.y\n };\n opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity;\n const padding = toPadding(options.padding);\n const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length;\n if (options.enabled && hasTooltipContent) {\n ctx.save();\n ctx.globalAlpha = opacity;\n this.drawBackground(pt, ctx, tooltipSize, options);\n overrideTextDirection(ctx, options.textDirection);\n pt.y += padding.top;\n this.drawTitle(pt, ctx, options);\n this.drawBody(pt, ctx, options);\n this.drawFooter(pt, ctx, options);\n restoreTextDirection(ctx, options.textDirection);\n ctx.restore();\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements, eventPosition) {\n const lastActive = this._active;\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.chart.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('Cannot find a dataset at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(lastActive, active);\n const positionChanged = this._positionChanged(active, eventPosition);\n if (changed || positionChanged) {\n this._active = active;\n this._eventPosition = eventPosition;\n this._ignoreReplayEvents = true;\n this.update(true);\n }\n }\n handleEvent(e, replay, inChartArea = true) {\n if (replay && this._ignoreReplayEvents) {\n return false;\n }\n this._ignoreReplayEvents = false;\n const options = this.options;\n const lastActive = this._active || [];\n const active = this._getActiveElements(e, lastActive, replay, inChartArea);\n const positionChanged = this._positionChanged(active, e);\n const changed = replay || !_elementsEqual(active, lastActive) || positionChanged;\n if (changed) {\n this._active = active;\n if (options.enabled || options.external) {\n this._eventPosition = {\n x: e.x,\n y: e.y\n };\n this.update(true, replay);\n }\n }\n return changed;\n }\n _getActiveElements(e, lastActive, replay, inChartArea) {\n const options = this.options;\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay);\n if (options.reverse) {\n active.reverse();\n }\n return active;\n }\n _positionChanged(active, e) {\n const {caretX, caretY, options} = this;\n const position = positioners[options.position].call(this, active, e);\n return position !== false && (caretX !== position.x || caretY !== position.y);\n }\n}\nTooltip.positioners = positioners;\nvar plugin_tooltip = {\n id: 'tooltip',\n _element: Tooltip,\n positioners,\n afterInit(chart, _args, options) {\n if (options) {\n chart.tooltip = new Tooltip({chart, options});\n }\n },\n beforeUpdate(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n reset(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n afterDraw(chart) {\n const tooltip = chart.tooltip;\n if (tooltip && tooltip._willRender()) {\n const args = {\n tooltip\n };\n if (chart.notifyPlugins('beforeTooltipDraw', args) === false) {\n return;\n }\n tooltip.draw(chart.ctx);\n chart.notifyPlugins('afterTooltipDraw', args);\n }\n },\n afterEvent(chart, args) {\n if (chart.tooltip) {\n const useFinalPosition = args.replay;\n if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) {\n args.changed = true;\n }\n }\n },\n defaults: {\n enabled: true,\n external: null,\n position: 'average',\n backgroundColor: 'rgba(0,0,0,0.8)',\n titleColor: '#fff',\n titleFont: {\n weight: 'bold',\n },\n titleSpacing: 2,\n titleMarginBottom: 6,\n titleAlign: 'left',\n bodyColor: '#fff',\n bodySpacing: 2,\n bodyFont: {\n },\n bodyAlign: 'left',\n footerColor: '#fff',\n footerSpacing: 2,\n footerMarginTop: 6,\n footerFont: {\n weight: 'bold',\n },\n footerAlign: 'left',\n padding: 6,\n caretPadding: 2,\n caretSize: 5,\n cornerRadius: 6,\n boxHeight: (ctx, opts) => opts.bodyFont.size,\n boxWidth: (ctx, opts) => opts.bodyFont.size,\n multiKeyBackground: '#fff',\n displayColors: true,\n boxPadding: 0,\n borderColor: 'rgba(0,0,0,0)',\n borderWidth: 0,\n animation: {\n duration: 400,\n easing: 'easeOutQuart',\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'width', 'height', 'caretX', 'caretY'],\n },\n opacity: {\n easing: 'linear',\n duration: 200\n }\n },\n callbacks: {\n beforeTitle: noop,\n title(tooltipItems) {\n if (tooltipItems.length > 0) {\n const item = tooltipItems[0];\n const labels = item.chart.data.labels;\n const labelCount = labels ? labels.length : 0;\n if (this && this.options && this.options.mode === 'dataset') {\n return item.dataset.label || '';\n } else if (item.label) {\n return item.label;\n } else if (labelCount > 0 && item.dataIndex < labelCount) {\n return labels[item.dataIndex];\n }\n }\n return '';\n },\n afterTitle: noop,\n beforeBody: noop,\n beforeLabel: noop,\n label(tooltipItem) {\n if (this && this.options && this.options.mode === 'dataset') {\n return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue;\n }\n let label = tooltipItem.dataset.label || '';\n if (label) {\n label += ': ';\n }\n const value = tooltipItem.formattedValue;\n if (!isNullOrUndef(value)) {\n label += value;\n }\n return label;\n },\n labelColor(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n borderColor: options.borderColor,\n backgroundColor: options.backgroundColor,\n borderWidth: options.borderWidth,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderRadius: 0,\n };\n },\n labelTextColor() {\n return this.options.bodyColor;\n },\n labelPointStyle(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n pointStyle: options.pointStyle,\n rotation: options.rotation,\n };\n },\n afterLabel: noop,\n afterBody: noop,\n beforeFooter: noop,\n footer: noop,\n afterFooter: noop\n }\n },\n defaultRoutes: {\n bodyFont: 'font',\n footerFont: 'font',\n titleFont: 'font'\n },\n descriptors: {\n _scriptable: (name) => name !== 'filter' && name !== 'itemSort' && name !== 'external',\n _indexable: false,\n callbacks: {\n _scriptable: false,\n _indexable: false,\n },\n animation: {\n _fallback: false\n },\n animations: {\n _fallback: 'animation'\n }\n },\n additionalOptionScopes: ['interaction']\n};\n\nvar plugins = /*#__PURE__*/Object.freeze({\n__proto__: null,\nDecimation: plugin_decimation,\nFiller: index,\nLegend: plugin_legend,\nSubTitle: plugin_subtitle,\nTitle: plugin_title,\nTooltip: plugin_tooltip\n});\n\nconst addIfString = (labels, raw, index, addedLabels) => {\n if (typeof raw === 'string') {\n index = labels.push(raw) - 1;\n addedLabels.unshift({index, label: raw});\n } else if (isNaN(raw)) {\n index = null;\n }\n return index;\n};\nfunction findOrAddLabel(labels, raw, index, addedLabels) {\n const first = labels.indexOf(raw);\n if (first === -1) {\n return addIfString(labels, raw, index, addedLabels);\n }\n const last = labels.lastIndexOf(raw);\n return first !== last ? index : first;\n}\nconst validIndex = (index, max) => index === null ? null : _limitValue(Math.round(index), 0, max);\nclass CategoryScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this._startValue = undefined;\n this._valueRange = 0;\n this._addedLabels = [];\n }\n init(scaleOptions) {\n const added = this._addedLabels;\n if (added.length) {\n const labels = this.getLabels();\n for (const {index, label} of added) {\n if (labels[index] === label) {\n labels.splice(index, 1);\n }\n }\n this._addedLabels = [];\n }\n super.init(scaleOptions);\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n const labels = this.getLabels();\n index = isFinite(index) && labels[index] === raw ? index\n : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels);\n return validIndex(index, labels.length - 1);\n }\n determineDataLimits() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this.getMinMax(true);\n if (this.options.bounds === 'ticks') {\n if (!minDefined) {\n min = 0;\n }\n if (!maxDefined) {\n max = this.getLabels().length - 1;\n }\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const min = this.min;\n const max = this.max;\n const offset = this.options.offset;\n const ticks = [];\n let labels = this.getLabels();\n labels = (min === 0 && max === labels.length - 1) ? labels : labels.slice(min, max + 1);\n this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1);\n this._startValue = this.min - (offset ? 0.5 : 0);\n for (let value = min; value <= max; value++) {\n ticks.push({value});\n }\n return ticks;\n }\n getLabelForValue(value) {\n const labels = this.getLabels();\n if (value >= 0 && value < labels.length) {\n return labels[value];\n }\n return value;\n }\n configure() {\n super.configure();\n if (!this.isHorizontal()) {\n this._reversePixels = !this._reversePixels;\n }\n }\n getPixelForValue(value) {\n if (typeof value !== 'number') {\n value = this.parse(value);\n }\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getValueForPixel(pixel) {\n return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange);\n }\n getBasePixel() {\n return this.bottom;\n }\n}\nCategoryScale.id = 'category';\nCategoryScale.defaults = {\n ticks: {\n callback: CategoryScale.prototype.getLabelForValue\n }\n};\n\nfunction generateTicks$1(generationOptions, dataRange) {\n const ticks = [];\n const MIN_SPACING = 1e-14;\n const {bounds, step, min, max, precision, count, maxTicks, maxDigits, includeBounds} = generationOptions;\n const unit = step || 1;\n const maxSpaces = maxTicks - 1;\n const {min: rmin, max: rmax} = dataRange;\n const minDefined = !isNullOrUndef(min);\n const maxDefined = !isNullOrUndef(max);\n const countDefined = !isNullOrUndef(count);\n const minSpacing = (rmax - rmin) / (maxDigits + 1);\n let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit;\n let factor, niceMin, niceMax, numSpaces;\n if (spacing < MIN_SPACING && !minDefined && !maxDefined) {\n return [{value: rmin}, {value: rmax}];\n }\n numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\n if (numSpaces > maxSpaces) {\n spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit;\n }\n if (!isNullOrUndef(precision)) {\n factor = Math.pow(10, precision);\n spacing = Math.ceil(spacing * factor) / factor;\n }\n if (bounds === 'ticks') {\n niceMin = Math.floor(rmin / spacing) * spacing;\n niceMax = Math.ceil(rmax / spacing) * spacing;\n } else {\n niceMin = rmin;\n niceMax = rmax;\n }\n if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) {\n numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks));\n spacing = (max - min) / numSpaces;\n niceMin = min;\n niceMax = max;\n } else if (countDefined) {\n niceMin = minDefined ? min : niceMin;\n niceMax = maxDefined ? max : niceMax;\n numSpaces = count - 1;\n spacing = (niceMax - niceMin) / numSpaces;\n } else {\n numSpaces = (niceMax - niceMin) / spacing;\n if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n numSpaces = Math.round(numSpaces);\n } else {\n numSpaces = Math.ceil(numSpaces);\n }\n }\n const decimalPlaces = Math.max(\n _decimalPlaces(spacing),\n _decimalPlaces(niceMin)\n );\n factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision);\n niceMin = Math.round(niceMin * factor) / factor;\n niceMax = Math.round(niceMax * factor) / factor;\n let j = 0;\n if (minDefined) {\n if (includeBounds && niceMin !== min) {\n ticks.push({value: min});\n if (niceMin < min) {\n j++;\n }\n if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) {\n j++;\n }\n } else if (niceMin < min) {\n j++;\n }\n }\n for (; j < numSpaces; ++j) {\n ticks.push({value: Math.round((niceMin + j * spacing) * factor) / factor});\n }\n if (maxDefined && includeBounds && niceMax !== max) {\n if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {\n ticks[ticks.length - 1].value = max;\n } else {\n ticks.push({value: max});\n }\n } else if (!maxDefined || niceMax === max) {\n ticks.push({value: niceMax});\n }\n return ticks;\n}\nfunction relativeLabelSize(value, minSpacing, {horizontal, minRotation}) {\n const rad = toRadians(minRotation);\n const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001;\n const length = 0.75 * minSpacing * ('' + value).length;\n return Math.min(minSpacing / ratio, length);\n}\nclass LinearScaleBase extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._endValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) {\n return null;\n }\n return +raw;\n }\n handleTickRangeOptions() {\n const {beginAtZero} = this.options;\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n if (beginAtZero) {\n const minSign = sign(min);\n const maxSign = sign(max);\n if (minSign < 0 && maxSign < 0) {\n setMax(0);\n } else if (minSign > 0 && maxSign > 0) {\n setMin(0);\n }\n }\n if (min === max) {\n let offset = 1;\n if (max >= Number.MAX_SAFE_INTEGER || min <= Number.MIN_SAFE_INTEGER) {\n offset = Math.abs(max * 0.05);\n }\n setMax(max + offset);\n if (!beginAtZero) {\n setMin(min - offset);\n }\n }\n this.min = min;\n this.max = max;\n }\n getTickLimit() {\n const tickOpts = this.options.ticks;\n let {maxTicksLimit, stepSize} = tickOpts;\n let maxTicks;\n if (stepSize) {\n maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1;\n if (maxTicks > 1000) {\n console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`);\n maxTicks = 1000;\n }\n } else {\n maxTicks = this.computeTickLimit();\n maxTicksLimit = maxTicksLimit || 11;\n }\n if (maxTicksLimit) {\n maxTicks = Math.min(maxTicksLimit, maxTicks);\n }\n return maxTicks;\n }\n computeTickLimit() {\n return Number.POSITIVE_INFINITY;\n }\n buildTicks() {\n const opts = this.options;\n const tickOpts = opts.ticks;\n let maxTicks = this.getTickLimit();\n maxTicks = Math.max(2, maxTicks);\n const numericGeneratorOptions = {\n maxTicks,\n bounds: opts.bounds,\n min: opts.min,\n max: opts.max,\n precision: tickOpts.precision,\n step: tickOpts.stepSize,\n count: tickOpts.count,\n maxDigits: this._maxDigits(),\n horizontal: this.isHorizontal(),\n minRotation: tickOpts.minRotation || 0,\n includeBounds: tickOpts.includeBounds !== false\n };\n const dataRange = this._range || this;\n const ticks = generateTicks$1(numericGeneratorOptions, dataRange);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n configure() {\n const ticks = this.ticks;\n let start = this.min;\n let end = this.max;\n super.configure();\n if (this.options.offset && ticks.length) {\n const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\n start -= offset;\n end += offset;\n }\n this._startValue = start;\n this._endValue = end;\n this._valueRange = end - start;\n }\n getLabelForValue(value) {\n return formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n}\n\nclass LinearScale extends LinearScaleBase {\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n this.min = isNumberFinite(min) ? min : 0;\n this.max = isNumberFinite(max) ? max : 1;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n const horizontal = this.isHorizontal();\n const length = horizontal ? this.width : this.height;\n const minRotation = toRadians(this.options.ticks.minRotation);\n const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001;\n const tickFont = this._resolveTickFontOptions(0);\n return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio));\n }\n getPixelForValue(value) {\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\n }\n}\nLinearScale.id = 'linear';\nLinearScale.defaults = {\n ticks: {\n callback: Ticks.formatters.numeric\n }\n};\n\nfunction isMajor(tickVal) {\n const remain = tickVal / (Math.pow(10, Math.floor(log10(tickVal))));\n return remain === 1;\n}\nfunction generateTicks(generationOptions, dataRange) {\n const endExp = Math.floor(log10(dataRange.max));\n const endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp));\n const ticks = [];\n let tickVal = finiteOrDefault(generationOptions.min, Math.pow(10, Math.floor(log10(dataRange.min))));\n let exp = Math.floor(log10(tickVal));\n let significand = Math.floor(tickVal / Math.pow(10, exp));\n let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\n do {\n ticks.push({value: tickVal, major: isMajor(tickVal)});\n ++significand;\n if (significand === 10) {\n significand = 1;\n ++exp;\n precision = exp >= 0 ? 1 : precision;\n }\n tickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision;\n } while (exp < endExp || (exp === endExp && significand < endSignificand));\n const lastTick = finiteOrDefault(generationOptions.max, tickVal);\n ticks.push({value: lastTick, major: isMajor(tickVal)});\n return ticks;\n}\nclass LogarithmicScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n const value = LinearScaleBase.prototype.parse.apply(this, [raw, index]);\n if (value === 0) {\n this._zero = true;\n return undefined;\n }\n return isNumberFinite(value) && value > 0 ? value : null;\n }\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n this.min = isNumberFinite(min) ? Math.max(0, min) : null;\n this.max = isNumberFinite(max) ? Math.max(0, max) : null;\n if (this.options.beginAtZero) {\n this._zero = true;\n }\n this.handleTickRangeOptions();\n }\n handleTickRangeOptions() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let min = this.min;\n let max = this.max;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n const exp = (v, m) => Math.pow(10, Math.floor(log10(v)) + m);\n if (min === max) {\n if (min <= 0) {\n setMin(1);\n setMax(10);\n } else {\n setMin(exp(min, -1));\n setMax(exp(max, +1));\n }\n }\n if (min <= 0) {\n setMin(exp(max, -1));\n }\n if (max <= 0) {\n setMax(exp(min, +1));\n }\n if (this._zero && this.min !== this._suggestedMin && min === exp(this.min, 0)) {\n setMin(exp(min, -1));\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const opts = this.options;\n const generationOptions = {\n min: this._userMin,\n max: this._userMax\n };\n const ticks = generateTicks(generationOptions, this);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n getLabelForValue(value) {\n return value === undefined\n ? '0'\n : formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n configure() {\n const start = this.min;\n super.configure();\n this._startValue = log10(start);\n this._valueRange = log10(this.max) - log10(start);\n }\n getPixelForValue(value) {\n if (value === undefined || value === 0) {\n value = this.min;\n }\n if (value === null || isNaN(value)) {\n return NaN;\n }\n return this.getPixelForDecimal(value === this.min\n ? 0\n : (log10(value) - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n const decimal = this.getDecimalForPixel(pixel);\n return Math.pow(10, this._startValue + decimal * this._valueRange);\n }\n}\nLogarithmicScale.id = 'logarithmic';\nLogarithmicScale.defaults = {\n ticks: {\n callback: Ticks.formatters.logarithmic,\n major: {\n enabled: true\n }\n }\n};\n\nfunction getTickBackdropHeight(opts) {\n const tickOpts = opts.ticks;\n if (tickOpts.display && opts.display) {\n const padding = toPadding(tickOpts.backdropPadding);\n return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height;\n }\n return 0;\n}\nfunction measureLabelSize(ctx, font, label) {\n label = isArray(label) ? label : [label];\n return {\n w: _longestText(ctx, font.string, label),\n h: label.length * font.lineHeight\n };\n}\nfunction determineLimits(angle, pos, size, min, max) {\n if (angle === min || angle === max) {\n return {\n start: pos - (size / 2),\n end: pos + (size / 2)\n };\n } else if (angle < min || angle > max) {\n return {\n start: pos - size,\n end: pos\n };\n }\n return {\n start: pos,\n end: pos + size\n };\n}\nfunction fitWithPointLabels(scale) {\n const orig = {\n l: scale.left + scale._padding.left,\n r: scale.right - scale._padding.right,\n t: scale.top + scale._padding.top,\n b: scale.bottom - scale._padding.bottom\n };\n const limits = Object.assign({}, orig);\n const labelSizes = [];\n const padding = [];\n const valueCount = scale._pointLabels.length;\n const pointLabelOpts = scale.options.pointLabels;\n const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0;\n for (let i = 0; i < valueCount; i++) {\n const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i));\n padding[i] = opts.padding;\n const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle);\n const plFont = toFont(opts.font);\n const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]);\n labelSizes[i] = textSize;\n const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle);\n const angle = Math.round(toDegrees(angleRadians));\n const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n updateLimits(limits, orig, angleRadians, hLimits, vLimits);\n }\n scale.setCenterPoint(\n orig.l - limits.l,\n limits.r - orig.r,\n orig.t - limits.t,\n limits.b - orig.b\n );\n scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding);\n}\nfunction updateLimits(limits, orig, angle, hLimits, vLimits) {\n const sin = Math.abs(Math.sin(angle));\n const cos = Math.abs(Math.cos(angle));\n let x = 0;\n let y = 0;\n if (hLimits.start < orig.l) {\n x = (orig.l - hLimits.start) / sin;\n limits.l = Math.min(limits.l, orig.l - x);\n } else if (hLimits.end > orig.r) {\n x = (hLimits.end - orig.r) / sin;\n limits.r = Math.max(limits.r, orig.r + x);\n }\n if (vLimits.start < orig.t) {\n y = (orig.t - vLimits.start) / cos;\n limits.t = Math.min(limits.t, orig.t - y);\n } else if (vLimits.end > orig.b) {\n y = (vLimits.end - orig.b) / cos;\n limits.b = Math.max(limits.b, orig.b + y);\n }\n}\nfunction buildPointLabelItems(scale, labelSizes, padding) {\n const items = [];\n const valueCount = scale._pointLabels.length;\n const opts = scale.options;\n const extra = getTickBackdropHeight(opts) / 2;\n const outerDistance = scale.drawingArea;\n const additionalAngle = opts.pointLabels.centerPointLabels ? PI / valueCount : 0;\n for (let i = 0; i < valueCount; i++) {\n const pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + padding[i], additionalAngle);\n const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI)));\n const size = labelSizes[i];\n const y = yForAngle(pointLabelPosition.y, size.h, angle);\n const textAlign = getTextAlignForAngle(angle);\n const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign);\n items.push({\n x: pointLabelPosition.x,\n y,\n textAlign,\n left,\n top: y,\n right: left + size.w,\n bottom: y + size.h\n });\n }\n return items;\n}\nfunction getTextAlignForAngle(angle) {\n if (angle === 0 || angle === 180) {\n return 'center';\n } else if (angle < 180) {\n return 'left';\n }\n return 'right';\n}\nfunction leftForTextAlign(x, w, align) {\n if (align === 'right') {\n x -= w;\n } else if (align === 'center') {\n x -= (w / 2);\n }\n return x;\n}\nfunction yForAngle(y, h, angle) {\n if (angle === 90 || angle === 270) {\n y -= (h / 2);\n } else if (angle > 270 || angle < 90) {\n y -= h;\n }\n return y;\n}\nfunction drawPointLabels(scale, labelCount) {\n const {ctx, options: {pointLabels}} = scale;\n for (let i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i));\n const plFont = toFont(optsAtIndex.font);\n const {x, y, textAlign, left, top, right, bottom} = scale._pointLabelItems[i];\n const {backdropColor} = optsAtIndex;\n if (!isNullOrUndef(backdropColor)) {\n const borderRadius = toTRBLCorners(optsAtIndex.borderRadius);\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillStyle = backdropColor;\n const backdropLeft = left - padding.left;\n const backdropTop = top - padding.top;\n const backdropWidth = right - left + padding.width;\n const backdropHeight = bottom - top + padding.height;\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: backdropLeft,\n y: backdropTop,\n w: backdropWidth,\n h: backdropHeight,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight);\n }\n }\n renderText(\n ctx,\n scale._pointLabels[i],\n x,\n y + (plFont.lineHeight / 2),\n plFont,\n {\n color: optsAtIndex.color,\n textAlign: textAlign,\n textBaseline: 'middle'\n }\n );\n }\n}\nfunction pathRadiusLine(scale, radius, circular, labelCount) {\n const {ctx} = scale;\n if (circular) {\n ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU);\n } else {\n let pointPosition = scale.getPointPosition(0, radius);\n ctx.moveTo(pointPosition.x, pointPosition.y);\n for (let i = 1; i < labelCount; i++) {\n pointPosition = scale.getPointPosition(i, radius);\n ctx.lineTo(pointPosition.x, pointPosition.y);\n }\n }\n}\nfunction drawRadiusLine(scale, gridLineOpts, radius, labelCount) {\n const ctx = scale.ctx;\n const circular = gridLineOpts.circular;\n const {color, lineWidth} = gridLineOpts;\n if ((!circular && !labelCount) || !color || !lineWidth || radius < 0) {\n return;\n }\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = lineWidth;\n ctx.setLineDash(gridLineOpts.borderDash);\n ctx.lineDashOffset = gridLineOpts.borderDashOffset;\n ctx.beginPath();\n pathRadiusLine(scale, radius, circular, labelCount);\n ctx.closePath();\n ctx.stroke();\n ctx.restore();\n}\nfunction createPointLabelContext(parent, index, label) {\n return createContext(parent, {\n label,\n index,\n type: 'pointLabel'\n });\n}\nclass RadialLinearScale extends LinearScaleBase {\n constructor(cfg) {\n super(cfg);\n this.xCenter = undefined;\n this.yCenter = undefined;\n this.drawingArea = undefined;\n this._pointLabels = [];\n this._pointLabelItems = [];\n }\n setDimensions() {\n const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2);\n const w = this.width = this.maxWidth - padding.width;\n const h = this.height = this.maxHeight - padding.height;\n this.xCenter = Math.floor(this.left + w / 2 + padding.left);\n this.yCenter = Math.floor(this.top + h / 2 + padding.top);\n this.drawingArea = Math.floor(Math.min(w, h) / 2);\n }\n determineDataLimits() {\n const {min, max} = this.getMinMax(false);\n this.min = isNumberFinite(min) && !isNaN(min) ? min : 0;\n this.max = isNumberFinite(max) && !isNaN(max) ? max : 0;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\n }\n generateTickLabels(ticks) {\n LinearScaleBase.prototype.generateTickLabels.call(this, ticks);\n this._pointLabels = this.getLabels()\n .map((value, index) => {\n const label = callback(this.options.pointLabels.callback, [value, index], this);\n return label || label === 0 ? label : '';\n })\n .filter((v, i) => this.chart.getDataVisibility(i));\n }\n fit() {\n const opts = this.options;\n if (opts.display && opts.pointLabels.display) {\n fitWithPointLabels(this);\n } else {\n this.setCenterPoint(0, 0, 0, 0);\n }\n }\n setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) {\n this.xCenter += Math.floor((leftMovement - rightMovement) / 2);\n this.yCenter += Math.floor((topMovement - bottomMovement) / 2);\n this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement));\n }\n getIndexAngle(index) {\n const angleMultiplier = TAU / (this._pointLabels.length || 1);\n const startAngle = this.options.startAngle || 0;\n return _normalizeAngle(index * angleMultiplier + toRadians(startAngle));\n }\n getDistanceFromCenterForValue(value) {\n if (isNullOrUndef(value)) {\n return NaN;\n }\n const scalingFactor = this.drawingArea / (this.max - this.min);\n if (this.options.reverse) {\n return (this.max - value) * scalingFactor;\n }\n return (value - this.min) * scalingFactor;\n }\n getValueForDistanceFromCenter(distance) {\n if (isNullOrUndef(distance)) {\n return NaN;\n }\n const scaledDistance = distance / (this.drawingArea / (this.max - this.min));\n return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance;\n }\n getPointLabelContext(index) {\n const pointLabels = this._pointLabels || [];\n if (index >= 0 && index < pointLabels.length) {\n const pointLabel = pointLabels[index];\n return createPointLabelContext(this.getContext(), index, pointLabel);\n }\n }\n getPointPosition(index, distanceFromCenter, additionalAngle = 0) {\n const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle;\n return {\n x: Math.cos(angle) * distanceFromCenter + this.xCenter,\n y: Math.sin(angle) * distanceFromCenter + this.yCenter,\n angle\n };\n }\n getPointPositionForValue(index, value) {\n return this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n }\n getBasePosition(index) {\n return this.getPointPositionForValue(index || 0, this.getBaseValue());\n }\n getPointLabelPosition(index) {\n const {left, top, right, bottom} = this._pointLabelItems[index];\n return {\n left,\n top,\n right,\n bottom,\n };\n }\n drawBackground() {\n const {backgroundColor, grid: {circular}} = this.options;\n if (backgroundColor) {\n const ctx = this.ctx;\n ctx.save();\n ctx.beginPath();\n pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length);\n ctx.closePath();\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n }\n drawGrid() {\n const ctx = this.ctx;\n const opts = this.options;\n const {angleLines, grid} = opts;\n const labelCount = this._pointLabels.length;\n let i, offset, position;\n if (opts.pointLabels.display) {\n drawPointLabels(this, labelCount);\n }\n if (grid.display) {\n this.ticks.forEach((tick, index) => {\n if (index !== 0) {\n offset = this.getDistanceFromCenterForValue(tick.value);\n const optsAtIndex = grid.setContext(this.getContext(index - 1));\n drawRadiusLine(this, optsAtIndex, offset, labelCount);\n }\n });\n }\n if (angleLines.display) {\n ctx.save();\n for (i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i));\n const {color, lineWidth} = optsAtIndex;\n if (!lineWidth || !color) {\n continue;\n }\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = color;\n ctx.setLineDash(optsAtIndex.borderDash);\n ctx.lineDashOffset = optsAtIndex.borderDashOffset;\n offset = this.getDistanceFromCenterForValue(opts.ticks.reverse ? this.min : this.max);\n position = this.getPointPosition(i, offset);\n ctx.beginPath();\n ctx.moveTo(this.xCenter, this.yCenter);\n ctx.lineTo(position.x, position.y);\n ctx.stroke();\n }\n ctx.restore();\n }\n }\n drawBorder() {}\n drawLabels() {\n const ctx = this.ctx;\n const opts = this.options;\n const tickOpts = opts.ticks;\n if (!tickOpts.display) {\n return;\n }\n const startAngle = this.getIndexAngle(0);\n let offset, width;\n ctx.save();\n ctx.translate(this.xCenter, this.yCenter);\n ctx.rotate(startAngle);\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n this.ticks.forEach((tick, index) => {\n if (index === 0 && !opts.reverse) {\n return;\n }\n const optsAtIndex = tickOpts.setContext(this.getContext(index));\n const tickFont = toFont(optsAtIndex.font);\n offset = this.getDistanceFromCenterForValue(this.ticks[index].value);\n if (optsAtIndex.showLabelBackdrop) {\n ctx.font = tickFont.string;\n width = ctx.measureText(tick.label).width;\n ctx.fillStyle = optsAtIndex.backdropColor;\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillRect(\n -width / 2 - padding.left,\n -offset - tickFont.size / 2 - padding.top,\n width + padding.width,\n tickFont.size + padding.height\n );\n }\n renderText(ctx, tick.label, 0, -offset, tickFont, {\n color: optsAtIndex.color,\n });\n });\n ctx.restore();\n }\n drawTitle() {}\n}\nRadialLinearScale.id = 'radialLinear';\nRadialLinearScale.defaults = {\n display: true,\n animate: true,\n position: 'chartArea',\n angleLines: {\n display: true,\n lineWidth: 1,\n borderDash: [],\n borderDashOffset: 0.0\n },\n grid: {\n circular: false\n },\n startAngle: 0,\n ticks: {\n showLabelBackdrop: true,\n callback: Ticks.formatters.numeric\n },\n pointLabels: {\n backdropColor: undefined,\n backdropPadding: 2,\n display: true,\n font: {\n size: 10\n },\n callback(label) {\n return label;\n },\n padding: 5,\n centerPointLabels: false\n }\n};\nRadialLinearScale.defaultRoutes = {\n 'angleLines.color': 'borderColor',\n 'pointLabels.color': 'color',\n 'ticks.color': 'color'\n};\nRadialLinearScale.descriptors = {\n angleLines: {\n _fallback: 'grid'\n }\n};\n\nconst INTERVALS = {\n millisecond: {common: true, size: 1, steps: 1000},\n second: {common: true, size: 1000, steps: 60},\n minute: {common: true, size: 60000, steps: 60},\n hour: {common: true, size: 3600000, steps: 24},\n day: {common: true, size: 86400000, steps: 30},\n week: {common: false, size: 604800000, steps: 4},\n month: {common: true, size: 2.628e9, steps: 12},\n quarter: {common: false, size: 7.884e9, steps: 4},\n year: {common: true, size: 3.154e10}\n};\nconst UNITS = (Object.keys(INTERVALS));\nfunction sorter(a, b) {\n return a - b;\n}\nfunction parse(scale, input) {\n if (isNullOrUndef(input)) {\n return null;\n }\n const adapter = scale._adapter;\n const {parser, round, isoWeekday} = scale._parseOpts;\n let value = input;\n if (typeof parser === 'function') {\n value = parser(value);\n }\n if (!isNumberFinite(value)) {\n value = typeof parser === 'string'\n ? adapter.parse(value, parser)\n : adapter.parse(value);\n }\n if (value === null) {\n return null;\n }\n if (round) {\n value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true)\n ? adapter.startOf(value, 'isoWeek', isoWeekday)\n : adapter.startOf(value, round);\n }\n return +value;\n}\nfunction determineUnitForAutoTicks(minUnit, min, max, capacity) {\n const ilen = UNITS.length;\n for (let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) {\n const interval = INTERVALS[UNITS[i]];\n const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER;\n if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\n return UNITS[i];\n }\n }\n return UNITS[ilen - 1];\n}\nfunction determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\n for (let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--) {\n const unit = UNITS[i];\n if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\n return unit;\n }\n }\n return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\nfunction determineMajorUnit(unit) {\n for (let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) {\n if (INTERVALS[UNITS[i]].common) {\n return UNITS[i];\n }\n }\n}\nfunction addTick(ticks, time, timestamps) {\n if (!timestamps) {\n ticks[time] = true;\n } else if (timestamps.length) {\n const {lo, hi} = _lookup(timestamps, time);\n const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi];\n ticks[timestamp] = true;\n }\n}\nfunction setMajorTicks(scale, ticks, map, majorUnit) {\n const adapter = scale._adapter;\n const first = +adapter.startOf(ticks[0].value, majorUnit);\n const last = ticks[ticks.length - 1].value;\n let major, index;\n for (major = first; major <= last; major = +adapter.add(major, 1, majorUnit)) {\n index = map[major];\n if (index >= 0) {\n ticks[index].major = true;\n }\n }\n return ticks;\n}\nfunction ticksFromTimestamps(scale, values, majorUnit) {\n const ticks = [];\n const map = {};\n const ilen = values.length;\n let i, value;\n for (i = 0; i < ilen; ++i) {\n value = values[i];\n map[value] = i;\n ticks.push({\n value,\n major: false\n });\n }\n return (ilen === 0 || !majorUnit) ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\n}\nclass TimeScale extends Scale {\n constructor(props) {\n super(props);\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n this._unit = 'day';\n this._majorUnit = undefined;\n this._offsets = {};\n this._normalized = false;\n this._parseOpts = undefined;\n }\n init(scaleOpts, opts) {\n const time = scaleOpts.time || (scaleOpts.time = {});\n const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date);\n adapter.init(opts);\n mergeIf(time.displayFormats, adapter.formats());\n this._parseOpts = {\n parser: time.parser,\n round: time.round,\n isoWeekday: time.isoWeekday\n };\n super.init(scaleOpts);\n this._normalized = opts.normalized;\n }\n parse(raw, index) {\n if (raw === undefined) {\n return null;\n }\n return parse(this, raw);\n }\n beforeLayout() {\n super.beforeLayout();\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n }\n determineDataLimits() {\n const options = this.options;\n const adapter = this._adapter;\n const unit = options.time.unit || 'day';\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n function _applyBounds(bounds) {\n if (!minDefined && !isNaN(bounds.min)) {\n min = Math.min(min, bounds.min);\n }\n if (!maxDefined && !isNaN(bounds.max)) {\n max = Math.max(max, bounds.max);\n }\n }\n if (!minDefined || !maxDefined) {\n _applyBounds(this._getLabelBounds());\n if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') {\n _applyBounds(this.getMinMax(false));\n }\n }\n min = isNumberFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit);\n max = isNumberFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1;\n this.min = Math.min(min, max - 1);\n this.max = Math.max(min + 1, max);\n }\n _getLabelBounds() {\n const arr = this.getLabelTimestamps();\n let min = Number.POSITIVE_INFINITY;\n let max = Number.NEGATIVE_INFINITY;\n if (arr.length) {\n min = arr[0];\n max = arr[arr.length - 1];\n }\n return {min, max};\n }\n buildTicks() {\n const options = this.options;\n const timeOpts = options.time;\n const tickOpts = options.ticks;\n const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate();\n if (options.bounds === 'ticks' && timestamps.length) {\n this.min = this._userMin || timestamps[0];\n this.max = this._userMax || timestamps[timestamps.length - 1];\n }\n const min = this.min;\n const max = this.max;\n const ticks = _filterBetween(timestamps, min, max);\n this._unit = timeOpts.unit || (tickOpts.autoSkip\n ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min))\n : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max));\n this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined\n : determineMajorUnit(this._unit);\n this.initOffsets(timestamps);\n if (options.reverse) {\n ticks.reverse();\n }\n return ticksFromTimestamps(this, ticks, this._majorUnit);\n }\n afterAutoSkip() {\n if (this.options.offsetAfterAutoskip) {\n this.initOffsets(this.ticks.map(tick => +tick.value));\n }\n }\n initOffsets(timestamps) {\n let start = 0;\n let end = 0;\n let first, last;\n if (this.options.offset && timestamps.length) {\n first = this.getDecimalForValue(timestamps[0]);\n if (timestamps.length === 1) {\n start = 1 - first;\n } else {\n start = (this.getDecimalForValue(timestamps[1]) - first) / 2;\n }\n last = this.getDecimalForValue(timestamps[timestamps.length - 1]);\n if (timestamps.length === 1) {\n end = last;\n } else {\n end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2;\n }\n }\n const limit = timestamps.length < 3 ? 0.5 : 0.25;\n start = _limitValue(start, 0, limit);\n end = _limitValue(end, 0, limit);\n this._offsets = {start, end, factor: 1 / (start + 1 + end)};\n }\n _generate() {\n const adapter = this._adapter;\n const min = this.min;\n const max = this.max;\n const options = this.options;\n const timeOpts = options.time;\n const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min));\n const stepSize = valueOrDefault(timeOpts.stepSize, 1);\n const weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n const hasWeekday = isNumber(weekday) || weekday === true;\n const ticks = {};\n let first = min;\n let time, count;\n if (hasWeekday) {\n first = +adapter.startOf(first, 'isoWeek', weekday);\n }\n first = +adapter.startOf(first, hasWeekday ? 'day' : minor);\n if (adapter.diff(max, min, minor) > 100000 * stepSize) {\n throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor);\n }\n const timestamps = options.ticks.source === 'data' && this.getDataTimestamps();\n for (time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++) {\n addTick(ticks, time, timestamps);\n }\n if (time === max || options.bounds === 'ticks' || count === 1) {\n addTick(ticks, time, timestamps);\n }\n return Object.keys(ticks).sort((a, b) => a - b).map(x => +x);\n }\n getLabelForValue(value) {\n const adapter = this._adapter;\n const timeOpts = this.options.time;\n if (timeOpts.tooltipFormat) {\n return adapter.format(value, timeOpts.tooltipFormat);\n }\n return adapter.format(value, timeOpts.displayFormats.datetime);\n }\n _tickFormatFunction(time, index, ticks, format) {\n const options = this.options;\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const majorUnit = this._majorUnit;\n const minorFormat = unit && formats[unit];\n const majorFormat = majorUnit && formats[majorUnit];\n const tick = ticks[index];\n const major = majorUnit && majorFormat && tick && tick.major;\n const label = this._adapter.format(time, format || (major ? majorFormat : minorFormat));\n const formatter = options.ticks.callback;\n return formatter ? callback(formatter, [label, index, ticks], this) : label;\n }\n generateTickLabels(ticks) {\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n tick.label = this._tickFormatFunction(tick.value, i, ticks);\n }\n }\n getDecimalForValue(value) {\n return value === null ? NaN : (value - this.min) / (this.max - this.min);\n }\n getPixelForValue(value) {\n const offsets = this._offsets;\n const pos = this.getDecimalForValue(value);\n return this.getPixelForDecimal((offsets.start + pos) * offsets.factor);\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return this.min + pos * (this.max - this.min);\n }\n _getLabelSize(label) {\n const ticksOpts = this.options.ticks;\n const tickLabelWidth = this.ctx.measureText(label).width;\n const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\n const cosRotation = Math.cos(angle);\n const sinRotation = Math.sin(angle);\n const tickFontSize = this._resolveTickFontOptions(0).size;\n return {\n w: (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation),\n h: (tickLabelWidth * sinRotation) + (tickFontSize * cosRotation)\n };\n }\n _getLabelCapacity(exampleTime) {\n const timeOpts = this.options.time;\n const displayFormats = timeOpts.displayFormats;\n const format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\n const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [exampleTime], this._majorUnit), format);\n const size = this._getLabelSize(exampleLabel);\n const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1;\n return capacity > 0 ? capacity : 1;\n }\n getDataTimestamps() {\n let timestamps = this._cache.data || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const metas = this.getMatchingVisibleMetas();\n if (this._normalized && metas.length) {\n return (this._cache.data = metas[0].controller.getAllParsedValues(this));\n }\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this));\n }\n return (this._cache.data = this.normalize(timestamps));\n }\n getLabelTimestamps() {\n const timestamps = this._cache.labels || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const labels = this.getLabels();\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n timestamps.push(parse(this, labels[i]));\n }\n return (this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps));\n }\n normalize(values) {\n return _arrayUnique(values.sort(sorter));\n }\n}\nTimeScale.id = 'time';\nTimeScale.defaults = {\n bounds: 'data',\n adapters: {},\n time: {\n parser: false,\n unit: false,\n round: false,\n isoWeekday: false,\n minUnit: 'millisecond',\n displayFormats: {}\n },\n ticks: {\n source: 'auto',\n major: {\n enabled: false\n }\n }\n};\n\nfunction interpolate(table, val, reverse) {\n let lo = 0;\n let hi = table.length - 1;\n let prevSource, nextSource, prevTarget, nextTarget;\n if (reverse) {\n if (val >= table[lo].pos && val <= table[hi].pos) {\n ({lo, hi} = _lookupByKey(table, 'pos', val));\n }\n ({pos: prevSource, time: prevTarget} = table[lo]);\n ({pos: nextSource, time: nextTarget} = table[hi]);\n } else {\n if (val >= table[lo].time && val <= table[hi].time) {\n ({lo, hi} = _lookupByKey(table, 'time', val));\n }\n ({time: prevSource, pos: prevTarget} = table[lo]);\n ({time: nextSource, pos: nextTarget} = table[hi]);\n }\n const span = nextSource - prevSource;\n return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;\n}\nclass TimeSeriesScale extends TimeScale {\n constructor(props) {\n super(props);\n this._table = [];\n this._minPos = undefined;\n this._tableRange = undefined;\n }\n initOffsets() {\n const timestamps = this._getTimestampsForTable();\n const table = this._table = this.buildLookupTable(timestamps);\n this._minPos = interpolate(table, this.min);\n this._tableRange = interpolate(table, this.max) - this._minPos;\n super.initOffsets(timestamps);\n }\n buildLookupTable(timestamps) {\n const {min, max} = this;\n const items = [];\n const table = [];\n let i, ilen, prev, curr, next;\n for (i = 0, ilen = timestamps.length; i < ilen; ++i) {\n curr = timestamps[i];\n if (curr >= min && curr <= max) {\n items.push(curr);\n }\n }\n if (items.length < 2) {\n return [\n {time: min, pos: 0},\n {time: max, pos: 1}\n ];\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n next = items[i + 1];\n prev = items[i - 1];\n curr = items[i];\n if (Math.round((next + prev) / 2) !== curr) {\n table.push({time: curr, pos: i / (ilen - 1)});\n }\n }\n return table;\n }\n _getTimestampsForTable() {\n let timestamps = this._cache.all || [];\n if (timestamps.length) {\n return timestamps;\n }\n const data = this.getDataTimestamps();\n const label = this.getLabelTimestamps();\n if (data.length && label.length) {\n timestamps = this.normalize(data.concat(label));\n } else {\n timestamps = data.length ? data : label;\n }\n timestamps = this._cache.all = timestamps;\n return timestamps;\n }\n getDecimalForValue(value) {\n return (interpolate(this._table, value) - this._minPos) / this._tableRange;\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return interpolate(this._table, decimal * this._tableRange + this._minPos, true);\n }\n}\nTimeSeriesScale.id = 'timeseries';\nTimeSeriesScale.defaults = TimeScale.defaults;\n\nvar scales = /*#__PURE__*/Object.freeze({\n__proto__: null,\nCategoryScale: CategoryScale,\nLinearScale: LinearScale,\nLogarithmicScale: LogarithmicScale,\nRadialLinearScale: RadialLinearScale,\nTimeScale: TimeScale,\nTimeSeriesScale: TimeSeriesScale\n});\n\nconst registerables = [\n controllers,\n elements,\n plugins,\n scales,\n];\n\nexport { Animation, Animations, ArcElement, BarController, BarElement, BasePlatform, BasicPlatform, BubbleController, CategoryScale, Chart, DatasetController, plugin_decimation as Decimation, DomPlatform, DoughnutController, Element, index as Filler, Interaction, plugin_legend as Legend, LineController, LineElement, LinearScale, LogarithmicScale, PieController, PointElement, PolarAreaController, RadarController, RadialLinearScale, Scale, ScatterController, plugin_subtitle as SubTitle, Ticks, TimeScale, TimeSeriesScale, plugin_title as Title, plugin_tooltip as Tooltip, adapters as _adapters, _detectPlatform, animator, controllers, elements, layouts, plugins, registerables, registry, scales };\n","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","// THIS FILE IS AUTO GENERATED\nimport { GenIcon } from '../lib';\nexport function BsFillAlarmFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1H9v1.07a7.001 7.001 0 0 1 3.274 12.474l.601.602a.5.5 0 0 1-.707.708l-.746-.746A6.97 6.97 0 0 1 8 16a6.97 6.97 0 0 1-3.422-.892l-.746.746a.5.5 0 0 1-.707-.708l.602-.602A7.001 7.001 0 0 1 7 2.07V1h-.5A.5.5 0 0 1 6 .5zm2.5 5a.5.5 0 0 0-1 0v3.362l-1.429 2.38a.5.5 0 1 0 .858.515l1.5-2.5A.5.5 0 0 0 8.5 9V5.5zM.86 5.387A2.5 2.5 0 1 1 4.387 1.86 8.035 8.035 0 0 0 .86 5.387zM11.613 1.86a2.5 2.5 0 1 1 3.527 3.527 8.035 8.035 0 0 0-3.527-3.527z\"}}]})(props);\n};\nexport function BsFillArchiveFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.643 15C13.979 15 15 13.845 15 12.5V5H1v7.5C1 13.845 2.021 15 3.357 15h9.286zM5.5 7h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zM.8 1a.8.8 0 0 0-.8.8V3a.8.8 0 0 0 .8.8h14.4A.8.8 0 0 0 16 3V1.8a.8.8 0 0 0-.8-.8H.8z\"}}]})(props);\n};\nexport function BsFillArrowDownCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V4.5z\"}}]})(props);\n};\nexport function BsFillArrowDownLeftCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 0 0 8a8 8 0 0 0 16 0zm-5.904-2.803a.5.5 0 1 1 .707.707L6.707 10h2.768a.5.5 0 0 1 0 1H5.5a.5.5 0 0 1-.5-.5V6.525a.5.5 0 0 1 1 0v2.768l4.096-4.096z\"}}]})(props);\n};\nexport function BsFillArrowDownLeftSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 16a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2zm8.096-10.803L6 9.293V6.525a.5.5 0 0 0-1 0V10.5a.5.5 0 0 0 .5.5h3.975a.5.5 0 0 0 0-1H6.707l4.096-4.096a.5.5 0 1 0-.707-.707z\"}}]})(props);\n};\nexport function BsFillArrowDownRightCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm5.904-2.803a.5.5 0 1 0-.707.707L9.293 10H6.525a.5.5 0 0 0 0 1H10.5a.5.5 0 0 0 .5-.5V6.525a.5.5 0 0 0-1 0v2.768L5.904 5.197z\"}}]})(props);\n};\nexport function BsFillArrowDownRightSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 16a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12zM5.904 5.197 10 9.293V6.525a.5.5 0 0 1 1 0V10.5a.5.5 0 0 1-.5.5H6.525a.5.5 0 0 1 0-1h2.768L5.197 5.904a.5.5 0 0 1 .707-.707z\"}}]})(props);\n};\nexport function BsFillArrowDownSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillArrowLeftCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.5 7.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5z\"}}]})(props);\n};\nexport function BsFillArrowLeftSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12zm-4.5-6.5H5.707l2.147-2.146a.5.5 0 1 0-.708-.708l-3 3a.5.5 0 0 0 0 .708l3 3a.5.5 0 0 0 .708-.708L5.707 8.5H11.5a.5.5 0 0 0 0-1z\"}}]})(props);\n};\nexport function BsFillArrowRightCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z\"}}]})(props);\n};\nexport function BsFillArrowRightSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12zm4.5-6.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillArrowUpCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 0 0 8a8 8 0 0 0 16 0zm-7.5 3.5a.5.5 0 0 1-1 0V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V11.5z\"}}]})(props);\n};\nexport function BsFillArrowUpLeftCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-5.904 2.803a.5.5 0 1 0 .707-.707L6.707 6h2.768a.5.5 0 1 0 0-1H5.5a.5.5 0 0 0-.5.5v3.975a.5.5 0 0 0 1 0V6.707l4.096 4.096z\"}}]})(props);\n};\nexport function BsFillArrowUpLeftSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm8.096 10.803L6 6.707v2.768a.5.5 0 0 1-1 0V5.5a.5.5 0 0 1 .5-.5h3.975a.5.5 0 1 1 0 1H6.707l4.096 4.096a.5.5 0 1 1-.707.707z\"}}]})(props);\n};\nexport function BsFillArrowUpRightCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a8 8 0 1 0 16 0A8 8 0 0 0 0 8zm5.904 2.803a.5.5 0 1 1-.707-.707L9.293 6H6.525a.5.5 0 1 1 0-1H10.5a.5.5 0 0 1 .5.5v3.975a.5.5 0 0 1-1 0V6.707l-4.096 4.096z\"}}]})(props);\n};\nexport function BsFillArrowUpRightSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12zM5.904 10.803 10 6.707v2.768a.5.5 0 0 0 1 0V5.5a.5.5 0 0 0-.5-.5H6.525a.5.5 0 1 0 0 1h2.768l-4.096 4.096a.5.5 0 0 0 .707.707z\"}}]})(props);\n};\nexport function BsFillArrowUpSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 16a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2zm6.5-4.5V5.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7.5 5.707V11.5a.5.5 0 0 0 1 0z\"}}]})(props);\n};\nexport function BsFillAspectRatioFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12.5v-9A1.5 1.5 0 0 1 1.5 2h13A1.5 1.5 0 0 1 16 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5zM2.5 4a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 1 0V5h2.5a.5.5 0 0 0 0-1h-3zm11 8a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-1 0V11h-2.5a.5.5 0 0 0 0 1h3z\"}}]})(props);\n};\nexport function BsFillAwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 0 1.669.864 1.858.282.842 1.68 1.337 1.32L13.4 6l.306 1.854-1.337 1.32-.842 1.68-1.858.282L8 12l-1.669-.864-1.858-.282-.842-1.68-1.337-1.32L2.6 6l-.306-1.854 1.337-1.32.842-1.68L6.331.864 8 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11.794V16l4-1 4 1v-4.206l-2.018.306L8 13.126 6.018 12.1 4 11.794z\"}}]})(props);\n};\nexport function BsFillBackspaceFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.683 3a2 2 0 0 0-2-2h-7.08a2 2 0 0 0-1.519.698L.241 7.35a1 1 0 0 0 0 1.302l4.843 5.65A2 2 0 0 0 6.603 15h7.08a2 2 0 0 0 2-2V3zM5.829 5.854a.5.5 0 1 1 .707-.708l2.147 2.147 2.146-2.147a.5.5 0 1 1 .707.708L9.39 8l2.146 2.146a.5.5 0 0 1-.707.708L8.683 8.707l-2.147 2.147a.5.5 0 0 1-.707-.708L7.976 8 5.829 5.854z\"}}]})(props);\n};\nexport function BsFillBackspaceReverseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a2 2 0 0 1 2-2h7.08a2 2 0 0 1 1.519.698l4.843 5.651a1 1 0 0 1 0 1.302L10.6 14.3a2 2 0 0 1-1.52.7H2a2 2 0 0 1-2-2V3zm9.854 2.854a.5.5 0 0 0-.708-.708L7 7.293 4.854 5.146a.5.5 0 1 0-.708.708L6.293 8l-2.147 2.146a.5.5 0 0 0 .708.708L7 8.707l2.146 2.147a.5.5 0 0 0 .708-.708L7.707 8l2.147-2.146z\"}}]})(props);\n};\nexport function BsFillBadge3DFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.157 5.968h-.844v4.06h.844c1.116 0 1.621-.667 1.621-2.02 0-1.354-.51-2.04-1.621-2.04z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm5.184 4.368c.646 0 1.055.378 1.06.9.008.537-.427.919-1.086.919-.598-.004-1.037-.325-1.068-.756H3c.03.914.791 1.688 2.153 1.688 1.24 0 2.285-.66 2.272-1.798-.013-.953-.747-1.38-1.292-1.432v-.062c.44-.07 1.125-.527 1.108-1.375-.013-.906-.8-1.57-2.053-1.565-1.31.005-2.043.734-2.074 1.67h1.103c.022-.391.383-.751.936-.751.532 0 .928.33.928.813.004.479-.383.835-.928.835h-.632v.914h.663zM8.126 11h2.189C12.125 11 13 9.893 13 7.985c0-1.894-.861-2.984-2.685-2.984H8.126V11z\"}}]})(props);\n};\nexport function BsFillBadge4KFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.577 8.9v.03h1.828V5.898h-.062a46.781 46.781 0 0 0-1.766 3.001z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm2.372 3.715.435-.714h1.71v3.93h.733v.957h-.733V11H5.405V9.888H2.5v-.971c.574-1.077 1.225-2.142 1.872-3.202zm7.73-.714h1.306l-2.14 2.584L13.5 11h-1.428l-1.679-2.624-.615.7V11H8.59V5.001h1.187v2.686h.057L12.102 5z\"}}]})(props);\n};\nexport function BsFillBadge8KFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.9 6.605c0 .51.405.866.95.866.545 0 .945-.356.945-.866s-.4-.852-.945-.852c-.545 0-.95.343-.95.852zm-.192 2.668c0 .589.492.984 1.142.984.646 0 1.143-.395 1.143-.984S5.496 8.28 4.85 8.28c-.65 0-1.142.404-1.142.993z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm5.17 7.348c0 1.041-.927 1.766-2.333 1.766-1.406 0-2.312-.72-2.312-1.762 0-.954.712-1.384 1.257-1.494v-.053c-.51-.154-1.02-.558-1.02-1.331 0-.914.831-1.587 2.088-1.587 1.253 0 2.083.673 2.083 1.587 0 .782-.523 1.182-1.02 1.331v.053c.545.11 1.257.545 1.257 1.49zM12.102 5h1.306l-2.14 2.584 2.232 3.415h-1.428l-1.679-2.624-.615.699v1.925H8.59V5h1.187v2.685h.057L12.102 5z\"}}]})(props);\n};\nexport function BsFillBadgeAdFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.35 8.337c0-.699-.42-1.138-1.001-1.138-.584 0-.954.444-.954 1.239v.453c0 .8.374 1.248.972 1.248.588 0 .984-.44.984-1.2v-.602zm-5.413.237-.734-2.426H5.15l-.734 2.426h1.52z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm6.209 6.32c0-1.28.694-2.044 1.753-2.044.655 0 1.156.294 1.336.769h.053v-2.36h1.16V11h-1.138v-.747h-.057c-.145.474-.69.804-1.367.804-1.055 0-1.74-.764-1.74-2.043v-.695zm-4.04 1.138L3.7 11H2.5l2.013-5.999H5.9L7.905 11H6.644l-.47-1.542H4.17z\"}}]})(props);\n};\nexport function BsFillBadgeArFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m6.031 8.574-.734-2.426h-.052L4.51 8.574h1.52zm3.642-2.641v1.938h1.033c.66 0 1.068-.316 1.068-.95 0-.64-.422-.988-1.05-.988h-1.05z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm4.265 5.458h2.004L6.739 11H8L5.996 5.001H4.607L2.595 11h1.2l.47-1.542zM8.5 5v6h1.173V8.763h1.064L11.787 11h1.327L11.91 8.583C12.455 8.373 13 7.779 13 6.9c0-1.147-.773-1.9-2.105-1.9H8.5z\"}}]})(props);\n};\nexport function BsFillBadgeCcFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm3.027 4.002c-.83 0-1.319.642-1.319 1.753v.743c0 1.107.48 1.727 1.319 1.727.69 0 1.138-.435 1.186-1.05H7.36v.114c-.057 1.147-1.028 1.938-2.342 1.938-1.613 0-2.518-1.028-2.518-2.729v-.747C2.5 6.051 3.414 5 5.018 5c1.318 0 2.29.813 2.342 2v.11H6.213c-.048-.638-.505-1.108-1.186-1.108zm6.14 0c-.831 0-1.319.642-1.319 1.753v.743c0 1.107.48 1.727 1.318 1.727.69 0 1.139-.435 1.187-1.05H13.5v.114c-.057 1.147-1.028 1.938-2.342 1.938-1.613 0-2.518-1.028-2.518-2.729v-.747c0-1.7.914-2.751 2.518-2.751 1.318 0 2.29.813 2.342 2v.11h-1.147c-.048-.638-.505-1.108-1.187-1.108z\"}}]})(props);\n};\nexport function BsFillBadgeHdFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.53 5.968h-.843v4.06h.843c1.117 0 1.622-.667 1.622-2.02 0-1.354-.51-2.04-1.622-2.04z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm5.396 3.001V11H6.209V8.43H3.687V11H2.5V5.001h1.187v2.44h2.522V5h1.187zM8.5 11V5.001h2.188c1.824 0 2.685 1.09 2.685 2.984C13.373 9.893 12.5 11 10.69 11H8.5z\"}}]})(props);\n};\nexport function BsFillBadgeTmFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm3.295 3.995V11H4.104V5.995h-1.7V5H7v.994H5.295zM8.692 7.01V11H7.633V5.001h1.209l1.71 3.894h.039l1.71-3.894H13.5V11h-1.072V7.01h-.057l-1.42 3.239h-.773L8.75 7.008h-.058z\"}}]})(props);\n};\nexport function BsFillBadgeVoFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.296 8.394v-.782c0-1.156-.571-1.736-1.362-1.736-.796 0-1.363.58-1.363 1.736v.782c0 1.156.567 1.732 1.363 1.732.79 0 1.362-.576 1.362-1.732z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm11.5 5.62v.77c0 1.691-.962 2.724-2.566 2.724-1.604 0-2.571-1.033-2.571-2.724v-.77c0-1.704.967-2.733 2.57-2.733 1.605 0 2.567 1.037 2.567 2.734zM5.937 11H4.508L2.5 5.001h1.375L5.22 9.708h.057L6.61 5.001h1.318L5.937 11z\"}}]})(props);\n};\nexport function BsFillBadgeVrFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.673 5.933v1.938h1.033c.66 0 1.068-.316 1.068-.95 0-.64-.422-.988-1.05-.988h-1.05z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm5.937 7 1.99-5.999H6.61L5.277 9.708H5.22L3.875 5.001H2.5L4.508 11h1.429zM8.5 5.001V11h1.173V8.763h1.064L11.787 11h1.327L11.91 8.583C12.455 8.373 13 7.779 13 6.9c0-1.147-.773-1.9-2.105-1.9H8.5z\"}}]})(props);\n};\nexport function BsFillBadgeWcFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm11.666 1.89c.682 0 1.139.47 1.187 1.107H14v-.11c-.053-1.187-1.024-2-2.342-2-1.604 0-2.518 1.05-2.518 2.751v.747c0 1.7.905 2.73 2.518 2.73 1.314 0 2.285-.792 2.342-1.939v-.114h-1.147c-.048.615-.497 1.05-1.187 1.05-.839 0-1.318-.62-1.318-1.727v-.742c0-1.112.488-1.754 1.318-1.754zm-6.188.926h.044L6.542 11h1.006L9 5.001H7.818l-.82 4.355h-.056L5.97 5.001h-.94l-.972 4.355h-.053l-.827-4.355H2L3.452 11h1.005l1.02-4.184z\"}}]})(props);\n};\nexport function BsFillBagCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0zm-.646 5.354a.5.5 0 0 0-.708-.708L7.5 10.793 6.354 9.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z\"}}]})(props);\n};\nexport function BsFillBagDashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0zM6 9.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6z\"}}]})(props);\n};\nexport function BsFillBagFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1zm3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5z\"}}]})(props);\n};\nexport function BsFillBagPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0zM8.5 8a.5.5 0 0 0-1 0v1.5H6a.5.5 0 0 0 0 1h1.5V12a.5.5 0 0 0 1 0v-1.5H10a.5.5 0 0 0 0-1H8.5V8z\"}}]})(props);\n};\nexport function BsFillBagXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0zM6.854 8.146a.5.5 0 1 0-.708.708L7.293 10l-1.147 1.146a.5.5 0 0 0 .708.708L8 10.707l1.146 1.147a.5.5 0 0 0 .708-.708L8.707 10l1.147-1.146a.5.5 0 0 0-.708-.708L8 9.293 6.854 8.146z\"}}]})(props);\n};\nexport function BsFillBarChartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 11a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-3zm5-4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7zm5-5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V2z\"}}]})(props);\n};\nexport function BsFillBarChartLineFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1v-3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3h1V7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7h1V2z\"}}]})(props);\n};\nexport function BsFillBasketFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.071 1.243a.5.5 0 0 1 .858.514L3.383 6h9.234L10.07 1.757a.5.5 0 1 1 .858-.514L13.783 6H15.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H15v5a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V9H.5a.5.5 0 0 1-.5-.5v-2A.5.5 0 0 1 .5 6h1.717L5.07 1.243zM3.5 10.5a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3zm2.5 0a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3zm2.5 0a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3zm2.5 0a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3zm2.5 0a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3z\"}}]})(props);\n};\nexport function BsFillBasket2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.929 1.757a.5.5 0 1 0-.858-.514L2.217 6H.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h.623l1.844 6.456A.75.75 0 0 0 3.69 15h8.622a.75.75 0 0 0 .722-.544L14.877 8h.623a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1.717L10.93 1.243a.5.5 0 1 0-.858.514L12.617 6H3.383L5.93 1.757zM4 10a1 1 0 0 1 2 0v2a1 1 0 1 1-2 0v-2zm3 0a1 1 0 0 1 2 0v2a1 1 0 1 1-2 0v-2zm4-1a1 1 0 0 1 1 1v2a1 1 0 1 1-2 0v-2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFillBasket3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.757 1.071a.5.5 0 0 1 .172.686L3.383 6h9.234L10.07 1.757a.5.5 0 1 1 .858-.514L13.783 6H15.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-1A.5.5 0 0 1 .5 6h1.717L5.07 1.243a.5.5 0 0 1 .686-.172zM2.468 15.426.943 9h14.114l-1.525 6.426a.75.75 0 0 1-.729.574H3.197a.75.75 0 0 1-.73-.574z\"}}]})(props);\n};\nexport function BsFillBellFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16a2 2 0 0 0 2-2H6a2 2 0 0 0 2 2zm.995-14.901a1 1 0 1 0-1.99 0A5.002 5.002 0 0 0 3 6c0 1.098-.5 6-2 7h14c-1.5-1-2-5.902-2-7 0-2.42-1.72-4.44-4.005-4.901z\"}}]})(props);\n};\nexport function BsFillBellSlashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.164 14H15c-1.5-1-2-5.902-2-7 0-.264-.02-.523-.06-.776L5.164 14zm6.288-10.617A4.988 4.988 0 0 0 8.995 2.1a1 1 0 1 0-1.99 0A5.002 5.002 0 0 0 3 7c0 .898-.335 4.342-1.278 6.113l9.73-9.73zM10 15a2 2 0 1 1-4 0h4zm-9.375.625a.53.53 0 0 0 .75.75l14.75-14.75a.53.53 0 0 0-.75-.75L.625 15.625z\"}}]})(props);\n};\nexport function BsFillBinocularsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 1A1.5 1.5 0 0 0 3 2.5V3h4v-.5A1.5 1.5 0 0 0 5.5 1h-1zM7 4v1h2V4h4v.882a.5.5 0 0 0 .276.447l.895.447A1.5 1.5 0 0 1 15 7.118V13H9v-1.5a.5.5 0 0 1 .146-.354l.854-.853V9.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v.793l.854.853A.5.5 0 0 1 7 11.5V13H1V7.118a1.5 1.5 0 0 1 .83-1.342l.894-.447A.5.5 0 0 0 3 4.882V4h4zM1 14v.5A1.5 1.5 0 0 0 2.5 16h3A1.5 1.5 0 0 0 7 14.5V14H1zm8 0v.5a1.5 1.5 0 0 0 1.5 1.5h3a1.5 1.5 0 0 0 1.5-1.5V14H9zm4-11H9v-.5A1.5 1.5 0 0 1 10.5 1h1A1.5 1.5 0 0 1 13 2.5V3z\"}}]})(props);\n};\nexport function BsFillBookFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1.783C7.015.936 5.587.81 4.287.94c-1.514.153-3.042.672-3.994 1.105A.5.5 0 0 0 0 2.5v11a.5.5 0 0 0 .707.455c.882-.4 2.303-.881 3.68-1.02 1.409-.142 2.59.087 3.223.877a.5.5 0 0 0 .78 0c.633-.79 1.814-1.019 3.222-.877 1.378.139 2.8.62 3.681 1.02A.5.5 0 0 0 16 13.5v-11a.5.5 0 0 0-.293-.455c-.952-.433-2.48-.952-3.994-1.105C10.413.809 8.985.936 8 1.783z\"}}]})(props);\n};\nexport function BsFillBookmarkCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zm8.854-9.646a.5.5 0 0 0-.708-.708L7.5 7.793 6.354 6.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z\"}}]})(props);\n};\nexport function BsFillBookmarkDashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zM6 6a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6z\"}}]})(props);\n};\nexport function BsFillBookmarkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2v13.5a.5.5 0 0 0 .74.439L8 13.069l5.26 2.87A.5.5 0 0 0 14 15.5V2a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2z\"}}]})(props);\n};\nexport function BsFillBookmarkHeartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 15.5a.5.5 0 0 0 .74.439L8 13.069l5.26 2.87A.5.5 0 0 0 14 15.5V2a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v13.5zM8 4.41c1.387-1.425 4.854 1.07 0 4.277C3.146 5.48 6.613 2.986 8 4.412z\"}}]})(props);\n};\nexport function BsFillBookmarkPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zm6.5-11a.5.5 0 0 0-1 0V6H6a.5.5 0 0 0 0 1h1.5v1.5a.5.5 0 0 0 1 0V7H10a.5.5 0 0 0 0-1H8.5V4.5z\"}}]})(props);\n};\nexport function BsFillBookmarkStarFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zM8.16 4.1a.178.178 0 0 0-.32 0l-.634 1.285a.178.178 0 0 1-.134.098l-1.42.206a.178.178 0 0 0-.098.303L6.58 6.993c.042.041.061.1.051.158L6.39 8.565a.178.178 0 0 0 .258.187l1.27-.668a.178.178 0 0 1 .165 0l1.27.668a.178.178 0 0 0 .257-.187L9.368 7.15a.178.178 0 0 1 .05-.158l1.028-1.001a.178.178 0 0 0-.098-.303l-1.42-.206a.178.178 0 0 1-.134-.098L8.16 4.1z\"}}]})(props);\n};\nexport function BsFillBookmarkXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zM6.854 5.146a.5.5 0 1 0-.708.708L7.293 7 6.146 8.146a.5.5 0 1 0 .708.708L8 7.707l1.146 1.147a.5.5 0 1 0 .708-.708L8.707 7l1.147-1.146a.5.5 0 0 0-.708-.708L8 6.293 6.854 5.146z\"}}]})(props);\n};\nexport function BsFillBookmarksFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v11.5a.5.5 0 0 1-.777.416L7 13.101l-4.223 2.815A.5.5 0 0 1 2 15.5V4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.268 1A2 2 0 0 1 6 0h6a2 2 0 0 1 2 2v11.5a.5.5 0 0 1-.777.416L13 13.768V2a1 1 0 0 0-1-1H4.268z\"}}]})(props);\n};\nexport function BsFillBootstrapFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.375 7.125V4.658h1.78c.973 0 1.542.457 1.542 1.237 0 .802-.604 1.23-1.764 1.23H6.375zm0 3.762h1.898c1.184 0 1.81-.48 1.81-1.377 0-.885-.65-1.348-1.886-1.348H6.375v2.725z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.002 0a4 4 0 0 0-4 4v8a4 4 0 0 0 4 4h8a4 4 0 0 0 4-4V4a4 4 0 0 0-4-4h-8zm1.06 12V3.545h3.399c1.587 0 2.543.809 2.543 2.11 0 .884-.65 1.675-1.483 1.816v.1c1.143.117 1.904.931 1.904 2.033 0 1.488-1.084 2.396-2.888 2.396H5.062z\"}}]})(props);\n};\nexport function BsFillBriefcaseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 1A1.5 1.5 0 0 0 5 2.5V3H1.5A1.5 1.5 0 0 0 0 4.5v1.384l7.614 2.03a1.5 1.5 0 0 0 .772 0L16 5.884V4.5A1.5 1.5 0 0 0 14.5 3H11v-.5A1.5 1.5 0 0 0 9.5 1h-3zm0 1h3a.5.5 0 0 1 .5.5V3H6v-.5a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12.5A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5V6.85L8.129 8.947a.5.5 0 0 1-.258 0L0 6.85v5.65z\"}}]})(props);\n};\nexport function BsFillBrightnessAltHighFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 3zm8 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zm-13.5.5a.5.5 0 0 0 0-1h-2a.5.5 0 0 0 0 1h2zm11.157-6.157a.5.5 0 0 1 0 .707l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm-9.9 2.121a.5.5 0 0 0 .707-.707L3.05 5.343a.5.5 0 1 0-.707.707l1.414 1.414zM8 7a4 4 0 0 0-4 4 .5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5 4 4 0 0 0-4-4z\"}}]})(props);\n};\nexport function BsFillBrightnessAltLowFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm5 6a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zM2 11a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0zm10.243-3.536a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm-8.486-.707a.5.5 0 1 0 .707.707.5.5 0 0 0-.707-.707zM8 7a4 4 0 0 0-4 4 .5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5 4 4 0 0 0-4-4z\"}}]})(props);\n};\nexport function BsFillBrightnessHighFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8a4 4 0 1 1-8 0 4 4 0 0 1 8 0zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z\"}}]})(props);\n};\nexport function BsFillBrightnessLowFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8a4 4 0 1 1-8 0 4 4 0 0 1 8 0zM8.5 2.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm0 11a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm5-5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm-11 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm9.743-4.036a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm-7.779 7.779a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm7.072 0a.5.5 0 1 1 .707-.707.5.5 0 0 1-.707.707zM3.757 4.464a.5.5 0 1 1 .707-.707.5.5 0 0 1-.707.707z\"}}]})(props);\n};\nexport function BsFillBrushFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.825.12a.5.5 0 0 1 .132.584c-1.53 3.43-4.743 8.17-7.095 10.64a6.067 6.067 0 0 1-2.373 1.534c-.018.227-.06.538-.16.868-.201.659-.667 1.479-1.708 1.74a8.118 8.118 0 0 1-3.078.132 3.659 3.659 0 0 1-.562-.135 1.382 1.382 0 0 1-.466-.247.714.714 0 0 1-.204-.288.622.622 0 0 1 .004-.443c.095-.245.316-.38.461-.452.394-.197.625-.453.867-.826.095-.144.184-.297.287-.472l.117-.198c.151-.255.326-.54.546-.848.528-.739 1.201-.925 1.746-.896.126.007.243.025.348.048.062-.172.142-.38.238-.608.261-.619.658-1.419 1.187-2.069 2.176-2.67 6.18-6.206 9.117-8.104a.5.5 0 0 1 .596.04z\"}}]})(props);\n};\nexport function BsFillBucketFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.522 5H2a.5.5 0 0 0-.494.574l1.372 9.149A1.5 1.5 0 0 0 4.36 16h7.278a1.5 1.5 0 0 0 1.483-1.277l1.373-9.149A.5.5 0 0 0 14 5h-.522A5.5 5.5 0 0 0 2.522 5zm1.005 0a4.5 4.5 0 0 1 8.945 0H3.527z\"}}]})(props);\n};\nexport function BsFillBugFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.978.855a.5.5 0 1 0-.956.29l.41 1.352A4.985 4.985 0 0 0 3 6h10a4.985 4.985 0 0 0-1.432-3.503l.41-1.352a.5.5 0 1 0-.956-.29l-.291.956A4.978 4.978 0 0 0 8 1a4.979 4.979 0 0 0-2.731.811l-.29-.956z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6v1H8.5v8.975A5 5 0 0 0 13 11h.5a.5.5 0 0 1 .5.5v.5a.5.5 0 1 0 1 0v-.5a1.5 1.5 0 0 0-1.5-1.5H13V9h1.5a.5.5 0 0 0 0-1H13V7h.5A1.5 1.5 0 0 0 15 5.5V5a.5.5 0 0 0-1 0v.5a.5.5 0 0 1-.5.5H13zm-5.5 9.975V7H3V6h-.5a.5.5 0 0 1-.5-.5V5a.5.5 0 0 0-1 0v.5A1.5 1.5 0 0 0 2.5 7H3v1H1.5a.5.5 0 0 0 0 1H3v1h-.5A1.5 1.5 0 0 0 1 11.5v.5a.5.5 0 1 0 1 0v-.5a.5.5 0 0 1 .5-.5H3a5 5 0 0 0 4.5 4.975z\"}}]})(props);\n};\nexport function BsFillCalculatorFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm2 .5v2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5zm0 4v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zM4.5 9a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM4 12.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zM7.5 6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM7 9.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm.5 2.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM10 6.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm.5 2.5a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsFillCalendarCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zm-5.146-5.146-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFillCalendarDateFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zm5.402 9.746c.625 0 1.184-.484 1.184-1.18 0-.832-.527-1.23-1.16-1.23-.586 0-1.168.387-1.168 1.21 0 .817.543 1.2 1.144 1.2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zm-6.664-1.21c-1.11 0-1.656-.767-1.703-1.407h.683c.043.37.387.82 1.051.82.844 0 1.301-.848 1.305-2.164h-.027c-.153.414-.637.79-1.383.79-.852 0-1.676-.61-1.676-1.77 0-1.137.871-1.809 1.797-1.809 1.172 0 1.953.734 1.953 2.668 0 1.805-.742 2.871-2 2.871zm-2.89-5.435v5.332H5.77V8.079h-.012c-.29.156-.883.52-1.258.777V8.16a12.6 12.6 0 0 1 1.313-.805h.632z\"}}]})(props);\n};\nexport function BsFillCalendarDayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V5h16v9zm-4.785-6.145a.428.428 0 1 0 0-.855.426.426 0 0 0-.43.43c0 .238.192.425.43.425zm.336.563h-.672v4.105h.672V8.418zm-6.867 4.105v-2.3h2.261v-.61H4.684V7.801h2.464v-.61H4v5.332h.684zm3.296 0h.676V9.98c0-.554.227-1.007.953-1.007.125 0 .258.004.329.015v-.613a1.806 1.806 0 0 0-.254-.02c-.582 0-.891.32-1.012.567h-.02v-.504H7.98v4.105z\"}}]})(props);\n};\nexport function BsFillCalendarEventFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zm-3.5-7h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillCalendarFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V5h16V4H0V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillCalendarMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM6 10h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillCalendarMonthFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zm.104 7.305L4.9 10.18H3.284l.8-2.375h.02zm9.074 2.297c0-.832-.414-1.36-1.062-1.36-.692 0-1.098.492-1.098 1.36v.253c0 .852.406 1.364 1.098 1.364.671 0 1.062-.516 1.062-1.364v-.253z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM2.56 12.332h-.71L3.748 7h.696l1.898 5.332h-.719l-.539-1.602H3.1l-.54 1.602zm7.29-4.105v4.105h-.668v-.539h-.027c-.145.324-.532.605-1.188.605-.847 0-1.453-.484-1.453-1.425V8.227h.676v2.554c0 .766.441 1.012.98 1.012.59 0 1.004-.371 1.004-1.023V8.227h.676zm1.273 4.41c.075.332.422.636.985.636.648 0 1.07-.378 1.07-1.023v-.605h-.02c-.163.355-.613.648-1.171.648-.957 0-1.64-.672-1.64-1.902v-.34c0-1.207.675-1.887 1.64-1.887.558 0 1.004.293 1.195.64h.02v-.577h.648v4.03c0 1.052-.816 1.579-1.746 1.579-1.043 0-1.574-.516-1.668-1.2h.687z\"}}]})(props);\n};\nexport function BsFillCalendarPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM8.5 8.5V10H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V11H6a.5.5 0 0 1 0-1h1.5V8.5a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillCalendarRangeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 7V5H0v5h5a1 1 0 1 1 0 2H0v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9h-6a1 1 0 1 1 0-2h6z\"}}]})(props);\n};\nexport function BsFillCalendarWeekFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM9.5 7h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5zm3 0h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5zM2 10.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3.5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillCalendarXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM6.854 8.146 8 9.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 10l1.147 1.146a.5.5 0 0 1-.708.708L8 10.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 10 6.146 8.854a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFillCalendar2CheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zm-2.6 5.854a.5.5 0 0 0-.708-.708L7.5 10.793 6.354 9.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z\"}}]})(props);\n};\nexport function BsFillCalendar2DateFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.402 10.246c.625 0 1.184-.484 1.184-1.18 0-.832-.527-1.23-1.16-1.23-.586 0-1.168.387-1.168 1.21 0 .817.543 1.2 1.144 1.2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zm-4.118 9.79c1.258 0 2-1.067 2-2.872 0-1.934-.781-2.668-1.953-2.668-.926 0-1.797.672-1.797 1.809 0 1.16.824 1.77 1.676 1.77.746 0 1.23-.376 1.383-.79h.027c-.004 1.316-.461 2.164-1.305 2.164-.664 0-1.008-.45-1.05-.82h-.684c.047.64.594 1.406 1.703 1.406zm-2.89-5.435h-.633A12.6 12.6 0 0 0 4.5 8.16v.695c.375-.257.969-.62 1.258-.777h.012v4.61h.675V7.354z\"}}]})(props);\n};\nexport function BsFillCalendar2DayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zm-2.24 4.855a.428.428 0 1 0 0-.855.426.426 0 0 0-.429.43c0 .238.192.425.43.425zm.337.563h-.672v4.105h.672V8.418zm-6.867 4.105v-2.3h2.261v-.61H4.684V7.801h2.464v-.61H4v5.332h.684zm3.296 0h.676V9.98c0-.554.227-1.007.953-1.007.125 0 .258.004.329.015v-.613a1.806 1.806 0 0 0-.254-.02c-.582 0-.891.32-1.012.567h-.02v-.504H7.98v4.105z\"}}]})(props);\n};\nexport function BsFillCalendar2EventFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM11.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsFillCalendar2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM2.545 3h10.91c.3 0 .545.224.545.5v1c0 .276-.244.5-.546.5H2.545C2.245 5 2 4.776 2 4.5v-1c0-.276.244-.5.545-.5z\"}}]})(props);\n};\nexport function BsFillCalendar2MinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM6 10a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6z\"}}]})(props);\n};\nexport function BsFillCalendar2MonthFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.104 7.805 4.9 10.18H3.284l.8-2.375h.02zm9.074 2.297c0-.832-.414-1.36-1.062-1.36-.692 0-1.098.492-1.098 1.36v.253c0 .852.406 1.364 1.098 1.364.671 0 1.062-.516 1.062-1.364v-.253z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM2.561 12.332 3.1 10.73h1.984l.54 1.602h.718L4.444 7h-.696L1.85 12.332h.71zM9.85 8.227h-.676v2.543c0 .652-.414 1.023-1.004 1.023-.539 0-.98-.246-.98-1.012V8.227h-.676v2.746c0 .941.606 1.425 1.453 1.425.656 0 1.043-.28 1.188-.605h.027v.539h.668V8.227zm1.273 4.41h-.687c.094.683.625 1.199 1.668 1.199.93 0 1.746-.527 1.746-1.578V8.227h-.649v.578h-.019c-.191-.348-.637-.64-1.195-.64-.965 0-1.64.679-1.64 1.886v.34c0 1.23.683 1.902 1.64 1.902.558 0 1.008-.293 1.172-.648h.02v.605c0 .645-.423 1.023-1.071 1.023-.563 0-.91-.304-.985-.636z\"}}]})(props);\n};\nexport function BsFillCalendar2PlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 3.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5H2.545c-.3 0-.545.224-.545.5zm6.5 5a.5.5 0 0 0-1 0V10H6a.5.5 0 0 0 0 1h1.5v1.5a.5.5 0 0 0 1 0V11H10a.5.5 0 0 0 0-1H8.5V8.5z\"}}]})(props);\n};\nexport function BsFillCalendar2RangeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM10 7a1 1 0 0 0 0 2h5V7h-5zm-4 4a1 1 0 0 0-1-1H1v2h4a1 1 0 0 0 1-1z\"}}]})(props);\n};\nexport function BsFillCalendar2WeekFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM8.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM3 10.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsFillCalendar2XFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zm-6.6 5.146a.5.5 0 1 0-.708.708L7.293 10l-1.147 1.146a.5.5 0 0 0 .708.708L8 10.707l1.146 1.147a.5.5 0 0 0 .708-.708L8.707 10l1.147-1.146a.5.5 0 0 0-.708-.708L8 9.293 6.854 8.146z\"}}]})(props);\n};\nexport function BsFillCalendar3EventFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 0a2 2 0 0 0-2 2h16a2 2 0 0 0-2-2H2zM0 14V3h16v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm12-8a1 1 0 1 0 2 0 1 1 0 0 0-2 0z\"}}]})(props);\n};\nexport function BsFillCalendar3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2H0zm0 1v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3H0z\"}}]})(props);\n};\nexport function BsFillCalendar3RangeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 0a2 2 0 0 0-2 2h16a2 2 0 0 0-2-2H2zM0 8V3h16v2h-6a1 1 0 1 0 0 2h6v7a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-4h6a1 1 0 1 0 0-2H0z\"}}]})(props);\n};\nexport function BsFillCalendar3WeekFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 0a2 2 0 0 0-2 2h16a2 2 0 0 0-2-2H2zM0 14V3h16v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm12-8a1 1 0 1 0 2 0 1 1 0 0 0-2 0zM5 9a1 1 0 1 0 2 0 1 1 0 0 0-2 0zm5-2a1 1 0 1 1 0-2 1 1 0 0 1 0 2zM2 9a1 1 0 1 0 2 0 1 1 0 0 0-2 0z\"}}]})(props);\n};\nexport function BsFillCameraFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 8.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-1.172a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 9.172 2H6.828a2 2 0 0 0-1.414.586l-.828.828A2 2 0 0 1 3.172 4H2zm.5 2a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm9 2.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0z\"}}]})(props);\n};\nexport function BsFillCameraReelsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 3a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6h.5a2 2 0 0 1 1.983 1.738l3.11-1.382A1 1 0 0 1 16 7.269v7.462a1 1 0 0 1-1.406.913l-3.111-1.382A2 2 0 0 1 9.5 16H2a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h7z\"}}]})(props);\n};\nexport function BsFillCameraVideoFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 5a2 2 0 0 1 2-2h7.5a2 2 0 0 1 1.983 1.738l3.11-1.382A1 1 0 0 1 16 4.269v7.462a1 1 0 0 1-1.406.913l-3.111-1.382A2 2 0 0 1 9.5 13H2a2 2 0 0 1-2-2V5z\"}}]})(props);\n};\nexport function BsFillCameraVideoOffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.961 12.365a1.99 1.99 0 0 0 .522-1.103l3.11 1.382A1 1 0 0 0 16 11.731V4.269a1 1 0 0 0-1.406-.913l-3.111 1.382A2 2 0 0 0 9.5 3H4.272l6.69 9.365zm-10.114-9A2.001 2.001 0 0 0 0 5v6a2 2 0 0 0 2 2h5.728L.847 3.366zm9.746 11.925-10-14 .814-.58 10 14-.814.58z\"}}]})(props);\n};\nexport function BsFillCapslockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.27 1.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H11.5v1a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-1H1.654C.78 9.5.326 8.455.924 7.816L7.27 1.047zM4.5 13.5a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-1z\"}}]})(props);\n};\nexport function BsFillCaretDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z\"}}]})(props);\n};\nexport function BsFillCaretDownSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm4 4a.5.5 0 0 0-.374.832l4 4.5a.5.5 0 0 0 .748 0l4-4.5A.5.5 0 0 0 12 6H4z\"}}]})(props);\n};\nexport function BsFillCaretLeftFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3.86 8.753 5.482 4.796c.646.566 1.658.106 1.658-.753V3.204a1 1 0 0 0-1.659-.753l-5.48 4.796a1 1 0 0 0 0 1.506z\"}}]})(props);\n};\nexport function BsFillCaretLeftSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm10.5 10V4a.5.5 0 0 0-.832-.374l-4.5 4a.5.5 0 0 0 0 .748l4.5 4A.5.5 0 0 0 10.5 12z\"}}]})(props);\n};\nexport function BsFillCaretRightFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12.14 8.753-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z\"}}]})(props);\n};\nexport function BsFillCaretRightSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm5.5 10a.5.5 0 0 0 .832.374l4.5-4a.5.5 0 0 0 0-.748l-4.5-4A.5.5 0 0 0 5.5 4v8z\"}}]})(props);\n};\nexport function BsFillCaretUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7.247 4.86-4.796 5.481c-.566.647-.106 1.659.753 1.659h9.592a1 1 0 0 0 .753-1.659l-4.796-5.48a1 1 0 0 0-1.506 0z\"}}]})(props);\n};\nexport function BsFillCaretUpSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm4 9h8a.5.5 0 0 0 .374-.832l-4-4.5a.5.5 0 0 0-.748 0l-4 4.5A.5.5 0 0 0 4 11z\"}}]})(props);\n};\nexport function BsFillCartCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-1.646-7.646-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L8 8.293l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFillCartDashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM6.5 7h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillCartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A.5.5 0 0 1 .5 1H2a.5.5 0 0 1 .485.379L2.89 3H14.5a.5.5 0 0 1 .491.592l-1.5 8A.5.5 0 0 1 13 12H4a.5.5 0 0 1-.491-.408L2.01 3.607 1.61 2H.5a.5.5 0 0 1-.5-.5zM5 12a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm-7 1a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm7 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsFillCartPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM9 5.5V7h1.5a.5.5 0 0 1 0 1H9v1.5a.5.5 0 0 1-1 0V8H6.5a.5.5 0 0 1 0-1H8V5.5a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillCartXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7.354 5.646 8.5 6.793l1.146-1.147a.5.5 0 0 1 .708.708L9.207 7.5l1.147 1.146a.5.5 0 0 1-.708.708L8.5 8.207 7.354 9.354a.5.5 0 1 1-.708-.708L7.793 7.5 6.646 6.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFillChatDotsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8c0 3.866-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234-.2.032-.352-.176-.273-.362.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7zM5 8a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm4 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsFillChatFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15c4.418 0 8-3.134 8-7s-3.582-7-8-7-8 3.134-8 7c0 1.76.743 3.37 1.97 4.6-.097 1.016-.417 2.13-.771 2.966-.079.186.074.394.273.362 2.256-.37 3.597-.938 4.18-1.234A9.06 9.06 0 0 0 8 15z\"}}]})(props);\n};\nexport function BsFillChatLeftDotsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4.414a1 1 0 0 0-.707.293L.854 15.146A.5.5 0 0 1 0 14.793V2zm5 4a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm4 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsFillChatLeftFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsFillChatLeftQuoteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4.414a1 1 0 0 0-.707.293L.854 15.146A.5.5 0 0 1 0 14.793V2zm7.194 2.766a1.688 1.688 0 0 0-.227-.272 1.467 1.467 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 5.734 4C4.776 4 4 4.746 4 5.667c0 .92.776 1.666 1.734 1.666.343 0 .662-.095.931-.26-.137.389-.39.804-.81 1.22a.405.405 0 0 0 .011.59c.173.16.447.155.614-.01 1.334-1.329 1.37-2.758.941-3.706a2.461 2.461 0 0 0-.227-.4zM11 7.073c-.136.389-.39.804-.81 1.22a.405.405 0 0 0 .012.59c.172.16.446.155.613-.01 1.334-1.329 1.37-2.758.942-3.706a2.466 2.466 0 0 0-.228-.4 1.686 1.686 0 0 0-.227-.273 1.466 1.466 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 10.07 4c-.957 0-1.734.746-1.734 1.667 0 .92.777 1.666 1.734 1.666.343 0 .662-.095.931-.26z\"}}]})(props);\n};\nexport function BsFillChatLeftTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4.414a1 1 0 0 0-.707.293L.854 15.146A.5.5 0 0 1 0 14.793V2zm3.5 1a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 2.5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 2.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5z\"}}]})(props);\n};\nexport function BsFillChatQuoteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8c0 3.866-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234-.2.032-.352-.176-.273-.362.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7zM7.194 6.766a1.688 1.688 0 0 0-.227-.272 1.467 1.467 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 5.734 6C4.776 6 4 6.746 4 7.667c0 .92.776 1.666 1.734 1.666.343 0 .662-.095.931-.26-.137.389-.39.804-.81 1.22a.405.405 0 0 0 .011.59c.173.16.447.155.614-.01 1.334-1.329 1.37-2.758.941-3.706a2.461 2.461 0 0 0-.227-.4zM11 9.073c-.136.389-.39.804-.81 1.22a.405.405 0 0 0 .012.59c.172.16.446.155.613-.01 1.334-1.329 1.37-2.758.942-3.706a2.466 2.466 0 0 0-.228-.4 1.686 1.686 0 0 0-.227-.273 1.466 1.466 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 10.07 6c-.957 0-1.734.746-1.734 1.667 0 .92.777 1.666 1.734 1.666.343 0 .662-.095.931-.26z\"}}]})(props);\n};\nexport function BsFillChatRightDotsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h9.586a1 1 0 0 1 .707.293l2.853 2.853a.5.5 0 0 0 .854-.353V2zM5 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 1a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BsFillChatRightFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0a2 2 0 0 1 2 2v12.793a.5.5 0 0 1-.854.353l-2.853-2.853a1 1 0 0 0-.707-.293H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12z\"}}]})(props);\n};\nexport function BsFillChatRightQuoteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h9.586a1 1 0 0 1 .707.293l2.853 2.853a.5.5 0 0 0 .854-.353V2zM7.194 4.766c.087.124.163.26.227.401.428.948.393 2.377-.942 3.706a.446.446 0 0 1-.612.01.405.405 0 0 1-.011-.59c.419-.416.672-.831.809-1.22-.269.165-.588.26-.93.26C4.775 7.333 4 6.587 4 5.667 4 4.747 4.776 4 5.734 4c.271 0 .528.06.756.166l.008.004c.169.07.327.182.469.324.085.083.161.174.227.272zM11 7.073c-.269.165-.588.26-.93.26-.958 0-1.735-.746-1.735-1.666 0-.92.777-1.667 1.734-1.667.271 0 .528.06.756.166l.008.004c.17.07.327.182.469.324.085.083.161.174.227.272.087.124.164.26.228.401.428.948.392 2.377-.942 3.706a.446.446 0 0 1-.613.01.405.405 0 0 1-.011-.59c.42-.416.672-.831.81-1.22z\"}}]})(props);\n};\nexport function BsFillChatRightTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h9.586a1 1 0 0 1 .707.293l2.853 2.853a.5.5 0 0 0 .854-.353V2zM3.5 3h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1zm0 2.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1zm0 2.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillChatSquareDotsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.5a1 1 0 0 0-.8.4l-1.9 2.533a1 1 0 0 1-1.6 0L5.3 12.4a1 1 0 0 0-.8-.4H2a2 2 0 0 1-2-2V2zm5 4a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm4 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsFillChatSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5a1 1 0 0 1 .8.4l1.9 2.533a1 1 0 0 0 1.6 0l1.9-2.533a1 1 0 0 1 .8-.4H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsFillChatSquareQuoteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.5a1 1 0 0 0-.8.4l-1.9 2.533a1 1 0 0 1-1.6 0L5.3 12.4a1 1 0 0 0-.8-.4H2a2 2 0 0 1-2-2V2zm7.194 2.766a1.688 1.688 0 0 0-.227-.272 1.467 1.467 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 5.734 4C4.776 4 4 4.746 4 5.667c0 .92.776 1.666 1.734 1.666.343 0 .662-.095.931-.26-.137.389-.39.804-.81 1.22a.405.405 0 0 0 .011.59c.173.16.447.155.614-.01 1.334-1.329 1.37-2.758.941-3.706a2.461 2.461 0 0 0-.227-.4zM11 7.073c-.136.389-.39.804-.81 1.22a.405.405 0 0 0 .012.59c.172.16.446.155.613-.01 1.334-1.329 1.37-2.758.942-3.706a2.466 2.466 0 0 0-.228-.4 1.686 1.686 0 0 0-.227-.273 1.466 1.466 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 10.07 4c-.957 0-1.734.746-1.734 1.667 0 .92.777 1.666 1.734 1.666.343 0 .662-.095.931-.26z\"}}]})(props);\n};\nexport function BsFillChatSquareTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.5a1 1 0 0 0-.8.4l-1.9 2.533a1 1 0 0 1-1.6 0L5.3 12.4a1 1 0 0 0-.8-.4H2a2 2 0 0 1-2-2V2zm3.5 1a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 2.5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 2.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5z\"}}]})(props);\n};\nexport function BsFillChatTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8c0 3.866-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234-.2.032-.352-.176-.273-.362.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7zM4.5 5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7zm0 2.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7zm0 2.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4z\"}}]})(props);\n};\nexport function BsFillCheckCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z\"}}]})(props);\n};\nexport function BsFillCheckSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm10.03 4.97a.75.75 0 0 1 .011 1.05l-3.992 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.75.75 0 0 1 1.08-.022z\"}}]})(props);\n};\nexport function BsFillCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"8\",\"r\":\"8\"}}]})(props);\n};\nexport function BsFillClockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71V3.5z\"}}]})(props);\n};\nexport function BsFillCloudArrowDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zm2.354 6.854-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 9.293V5.5a.5.5 0 0 1 1 0v3.793l1.146-1.147a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFillCloudArrowUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zm2.354 5.146a.5.5 0 0 1-.708.708L8.5 6.707V10.5a.5.5 0 0 1-1 0V6.707L6.354 7.854a.5.5 0 1 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2z\"}}]})(props);\n};\nexport function BsFillCloudCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zm2.354 4.854-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFillCloudDownloadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 4.095 0 5.555 0 7.318 0 9.366 1.708 11 3.781 11H7.5V5.5a.5.5 0 0 1 1 0V11h4.188C14.502 11 16 9.57 16 7.773c0-1.636-1.242-2.969-2.834-3.194C12.923 1.999 10.69 0 8 0zm-.354 15.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 14.293V11h-1v3.293l-2.146-2.147a.5.5 0 0 0-.708.708l3 3z\"}}]})(props);\n};\nexport function BsFillCloudDrizzleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.158 12.025a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm6 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm-3.5 1.5a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm6 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm.747-8.498a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 11H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383z\"}}]})(props);\n};\nexport function BsFillCloudFogFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 13.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm10.405-9.473a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 12H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudFog2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 3a5.001 5.001 0 0 1 4.905 4.027A3 3 0 0 1 13 13h-1.5a.5.5 0 0 0 0-1H1.05a3.51 3.51 0 0 1-.713-1H9.5a.5.5 0 0 0 0-1H.035a3.53 3.53 0 0 1 0-1H7.5a.5.5 0 0 0 0-1H.337a3.5 3.5 0 0 1 3.57-1.977A5.001 5.001 0 0 1 8.5 3z\"}}]})(props);\n};\nexport function BsFillCloudHailFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.75 15.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zM7.75 15.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm3.592 3.724a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm1.247-6.999a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10.5H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudHazeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm-3 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm2 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM13.405 4.027a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudHaze2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 2a5.001 5.001 0 0 1 4.905 4.027A3 3 0 0 1 13 12H3.5A3.5 3.5 0 0 1 .035 9H5.5a.5.5 0 0 0 0-1H.035a3.5 3.5 0 0 1 3.871-2.977A5.001 5.001 0 0 1 8.5 2zm-6 8a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zM0 13.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillCloudLightningFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.053 11.276A.5.5 0 0 1 7.5 11h1a.5.5 0 0 1 .474.658l-.28.842H9.5a.5.5 0 0 1 .39.812l-2 2.5a.5.5 0 0 1-.875-.433L7.36 14H6.5a.5.5 0 0 1-.447-.724l1-2zm6.352-7.249a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudLightningRainFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.658 11.026a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm9.5 0a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm-7.5 1.5a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm9.5 0a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm-7.105-1.25A.5.5 0 0 1 7.5 11h1a.5.5 0 0 1 .474.658l-.28.842H9.5a.5.5 0 0 1 .39.812l-2 2.5a.5.5 0 0 1-.875-.433L7.36 14H6.5a.5.5 0 0 1-.447-.724l1-2zm6.352-7.249a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zM6 7.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillCloudMoonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.473 11a4.5 4.5 0 0 0-8.72-.99A3 3 0 0 0 3 16h8.5a2.5 2.5 0 0 0 0-5h-.027z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.286 1.778a.5.5 0 0 0-.565-.755 4.595 4.595 0 0 0-3.18 5.003 5.46 5.46 0 0 1 1.055.209A3.603 3.603 0 0 1 9.83 2.617a4.593 4.593 0 0 0 4.31 5.744 3.576 3.576 0 0 1-2.241.634c.162.317.295.652.394 1a4.59 4.59 0 0 0 3.624-2.04.5.5 0 0 0-.565-.755 3.593 3.593 0 0 1-4.065-5.422z\"}}]})(props);\n};\nexport function BsFillCloudPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zm.5 4v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillCloudRainFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.158 12.025a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-1 3a.5.5 0 1 1-.948-.316l1-3a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-1 3a.5.5 0 1 1-.948-.316l1-3a.5.5 0 0 1 .632-.317zm.247-6.998a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 11H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudRainHeavyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.176 11.032a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm.229-7.005a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudSlashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.112 5.112a3.125 3.125 0 0 0-.17.613C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13H11L3.112 5.112zm11.372 7.372L4.937 2.937A5.512 5.512 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773a3.2 3.2 0 0 1-1.516 2.711zm-.838 1.87-12-12 .708-.708 12 12-.707.707z\"}}]})(props);\n};\nexport function BsFillCloudSleetFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.375 13.5a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 1 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 1 1-.248-.434l.495-.283-.495-.283a.25.25 0 1 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 0 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223zM6.375 13.5a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 1 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 1 1-.248-.434l.495-.283-.495-.283a.25.25 0 1 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 0 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223zm2.151 2.447a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 1 1-.248.434l-.501-.286v.569a.25.25 0 0 1-.5 0v-.57l-.501.287a.25.25 0 1 1-.248-.434l.495-.283-.495-.283a.25.25 0 1 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 1 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223zm1.181-7.026a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudSnowFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.625 11.5a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm2.75 2a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm5.5 0a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 0 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm-2.75-2a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm5.5 0a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 0 1-.5 0v-.57l-.501.287a.25.25 0 1 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm-.22-7.223a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10.25H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudSunFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.473 11a4.5 4.5 0 0 0-8.72-.99A3 3 0 0 0 3 16h8.5a2.5 2.5 0 0 0 0-5h-.027z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 1.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1zm3.743 1.964a.5.5 0 1 0-.707-.707l-.708.707a.5.5 0 0 0 .708.708l.707-.708zm-7.779-.707a.5.5 0 0 0-.707.707l.707.708a.5.5 0 1 0 .708-.708l-.708-.707zm1.734 3.374a2 2 0 1 1 3.296 2.198c.199.281.372.582.516.898a3 3 0 1 0-4.84-3.225c.352.011.696.055 1.028.129zm4.484 4.074c.6.215 1.125.59 1.522 1.072a.5.5 0 0 0 .039-.742l-.707-.707a.5.5 0 0 0-.854.377zM14.5 6.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"}}]})(props);\n};\nexport function BsFillCloudUploadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 4.095 0 5.555 0 7.318 0 9.366 1.708 11 3.781 11H7.5V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V11h4.188C14.502 11 16 9.57 16 7.773c0-1.636-1.242-2.969-2.834-3.194C12.923 1.999 10.69 0 8 0zm-.5 14.5V11h1v3.5a.5.5 0 0 1-1 0z\"}}]})(props);\n};\nexport function BsFillCloudsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.473 9a4.5 4.5 0 0 0-8.72-.99A3 3 0 0 0 3 14h8.5a2.5 2.5 0 1 0-.027-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.544 9.772a3.506 3.506 0 0 0-2.225-1.676 5.502 5.502 0 0 0-6.337-4.002 4.002 4.002 0 0 1 7.392.91 2.5 2.5 0 0 1 1.17 4.769z\"}}]})(props);\n};\nexport function BsFillCloudyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.405 7.027a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 13H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCollectionFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 13a1.5 1.5 0 0 0 1.5 1.5h13A1.5 1.5 0 0 0 16 13V6a1.5 1.5 0 0 0-1.5-1.5h-13A1.5 1.5 0 0 0 0 6v7zM2 3a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 0-1h-11A.5.5 0 0 0 2 3zm2-2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7A.5.5 0 0 0 4 1z\"}}]})(props);\n};\nexport function BsFillCollectionPlayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 3.5a.5.5 0 0 1 0-1h11a.5.5 0 0 1 0 1h-11zm2-2a.5.5 0 0 1 0-1h7a.5.5 0 0 1 0 1h-7zM0 13a1.5 1.5 0 0 0 1.5 1.5h13A1.5 1.5 0 0 0 16 13V6a1.5 1.5 0 0 0-1.5-1.5h-13A1.5 1.5 0 0 0 0 6v7zm6.258-6.437a.5.5 0 0 1 .507.013l4 2.5a.5.5 0 0 1 0 .848l-4 2.5A.5.5 0 0 1 6 12V7a.5.5 0 0 1 .258-.437z\"}}]})(props);\n};\nexport function BsFillCompassFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 8.516a7.5 7.5 0 1 1-9.462-7.24A1 1 0 0 1 7 0h2a1 1 0 0 1 .962 1.276 7.503 7.503 0 0 1 5.538 7.24zm-3.61-3.905L6.94 7.439 4.11 12.39l4.95-2.828 2.828-4.95z\"}}]})(props);\n};\nexport function BsFillCpuFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 6a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5.5a.5.5 0 0 0-1 0V2A2.5 2.5 0 0 0 2 4.5H.5a.5.5 0 0 0 0 1H2v1H.5a.5.5 0 0 0 0 1H2v1H.5a.5.5 0 0 0 0 1H2v1H.5a.5.5 0 0 0 0 1H2A2.5 2.5 0 0 0 4.5 14v1.5a.5.5 0 0 0 1 0V14h1v1.5a.5.5 0 0 0 1 0V14h1v1.5a.5.5 0 0 0 1 0V14h1v1.5a.5.5 0 0 0 1 0V14a2.5 2.5 0 0 0 2.5-2.5h1.5a.5.5 0 0 0 0-1H14v-1h1.5a.5.5 0 0 0 0-1H14v-1h1.5a.5.5 0 0 0 0-1H14v-1h1.5a.5.5 0 0 0 0-1H14A2.5 2.5 0 0 0 11.5 2V.5a.5.5 0 0 0-1 0V2h-1V.5a.5.5 0 0 0-1 0V2h-1V.5a.5.5 0 0 0-1 0V2h-1V.5zm1 4.5h3A1.5 1.5 0 0 1 11 6.5v3A1.5 1.5 0 0 1 9.5 11h-3A1.5 1.5 0 0 1 5 9.5v-3A1.5 1.5 0 0 1 6.5 5z\"}}]})(props);\n};\nexport function BsFillCreditCard2BackFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5H0V4zm11.5 1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2zM0 11v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1H0z\"}}]})(props);\n};\nexport function BsFillCreditCard2FrontFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm2.5 1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2zm0 3a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm3 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm3 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm3 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"}}]})(props);\n};\nexport function BsFillCreditCardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1H0V4zm0 3v5a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7H0zm3 2h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFillCupFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2a1 1 0 0 1 1-1h11a1 1 0 0 1 1 1v1h.5A1.5 1.5 0 0 1 16 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-.55a2.5 2.5 0 0 1-2.45 2h-8A2.5 2.5 0 0 1 1 12.5V2zm13 10h.5a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5H14v8z\"}}]})(props);\n};\nexport function BsFillCursorFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.082 2.182a.5.5 0 0 1 .103.557L8.528 15.467a.5.5 0 0 1-.917-.007L5.57 10.694.803 8.652a.5.5 0 0 1-.006-.916l12.728-5.657a.5.5 0 0 1 .556.103z\"}}]})(props);\n};\nexport function BsFillDashCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7z\"}}]})(props);\n};\nexport function BsFillDashSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm2.5 7.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillDiagram2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 3.5A1.5 1.5 0 0 1 7.5 2h1A1.5 1.5 0 0 1 10 3.5v1A1.5 1.5 0 0 1 8.5 6v1H11a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 5 7h2.5V6A1.5 1.5 0 0 1 6 4.5v-1zm-3 8A1.5 1.5 0 0 1 4.5 10h1A1.5 1.5 0 0 1 7 11.5v1A1.5 1.5 0 0 1 5.5 14h-1A1.5 1.5 0 0 1 3 12.5v-1zm6 0a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1A1.5 1.5 0 0 1 9 12.5v-1z\"}}]})(props);\n};\nexport function BsFillDiagram3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 3.5A1.5 1.5 0 0 1 7.5 2h1A1.5 1.5 0 0 1 10 3.5v1A1.5 1.5 0 0 1 8.5 6v1H14a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 2 7h5.5V6A1.5 1.5 0 0 1 6 4.5v-1zm-6 8A1.5 1.5 0 0 1 1.5 10h1A1.5 1.5 0 0 1 4 11.5v1A1.5 1.5 0 0 1 2.5 14h-1A1.5 1.5 0 0 1 0 12.5v-1zm6 0A1.5 1.5 0 0 1 7.5 10h1a1.5 1.5 0 0 1 1.5 1.5v1A1.5 1.5 0 0 1 8.5 14h-1A1.5 1.5 0 0 1 6 12.5v-1zm6 0a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5v-1z\"}}]})(props);\n};\nexport function BsFillDiamondFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.95.435c.58-.58 1.52-.58 2.1 0l6.515 6.516c.58.58.58 1.519 0 2.098L9.05 15.565c-.58.58-1.519.58-2.098 0L.435 9.05a1.482 1.482 0 0 1 0-2.098L6.95.435z\"}}]})(props);\n};\nexport function BsFillDice1Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm5 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsFillDice2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V3zm5.5 1a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0zm6.5 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]})(props);\n};\nexport function BsFillDice3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm2.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM8 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsFillDice4Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm1 5.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm8 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm1.5 6.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM4 13.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsFillDice5Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm2.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM12 13.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM5.5 12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM8 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsFillDice6Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm1 5.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm8 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm1.5 6.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM12 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM5.5 12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM4 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsFillDiscFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-6 0a2 2 0 1 0-4 0 2 2 0 0 0 4 0zM4 8a4 4 0 0 1 4-4 .5.5 0 0 0 0-1 5 5 0 0 0-5 5 .5.5 0 0 0 1 0zm9 0a.5.5 0 1 0-1 0 4 4 0 0 1-4 4 .5.5 0 0 0 0 1 5 5 0 0 0 5-5z\"}}]})(props);\n};\nexport function BsFillDisplayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12c0 .667-.083 1.167-.25 1.5H5a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-.75c-.167-.333-.25-.833-.25-1.5h4c2 0 2-2 2-2V4c0-2-2-2-2-2H2C0 2 0 4 0 4v6c0 2 2 2 2 2h4z\"}}]})(props);\n};\nexport function BsFillDoorClosedFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a1 1 0 0 1 1 1v13h1.5a.5.5 0 0 1 0 1h-13a.5.5 0 0 1 0-1H3V2a1 1 0 0 1 1-1h8zm-2 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsFillDoorOpenFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 15a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1H13V2.5A1.5 1.5 0 0 0 11.5 1H11V.5a.5.5 0 0 0-.57-.495l-7 1A.5.5 0 0 0 3 1.5V15H1.5zM11 2h.5a.5.5 0 0 1 .5.5V15h-1V2zm-2.5 8c-.276 0-.5-.448-.5-1s.224-1 .5-1 .5.448.5 1-.224 1-.5 1z\"}}]})(props);\n};\nexport function BsFillDropletFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 16a6 6 0 0 0 6-6c0-1.655-1.122-2.904-2.432-4.362C10.254 4.176 8.75 2.503 8 0c0 0-6 5.686-6 10a6 6 0 0 0 6 6zM6.646 4.646c-.376.377-1.272 1.489-2.093 3.13l.894.448c.78-1.559 1.616-2.58 1.907-2.87l-.708-.708z\"}}]})(props);\n};\nexport function BsFillEaselFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.473.337a.5.5 0 0 0-.946 0L6.954 2H2a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h1.85l-1.323 3.837a.5.5 0 1 0 .946.326L4.908 11H7.5v2.5a.5.5 0 0 0 1 0V11h2.592l1.435 4.163a.5.5 0 0 0 .946-.326L12.15 11H14a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H9.046L8.473.337z\"}}]})(props);\n};\nexport function BsFillEggFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10a6 6 0 0 1-12 0C2 5.686 5 0 8 0s6 5.686 6 10z\"}}]})(props);\n};\nexport function BsFillEjectFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.27 1.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H1.656C.78 9.5.326 8.455.926 7.816L7.27 1.047zM.5 11.5a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-13a1 1 0 0 1-1-1v-1z\"}}]})(props);\n};\nexport function BsFillEmojiAngryFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM4.053 4.276a.5.5 0 0 1 .67-.223l2 1a.5.5 0 0 1 .166.76c.071.206.111.44.111.687C7 7.328 6.552 8 6 8s-1-.672-1-1.5c0-.408.109-.778.285-1.049l-1.009-.504a.5.5 0 0 1-.223-.67zm.232 8.157a.5.5 0 0 1-.183-.683A4.498 4.498 0 0 1 8 9.5a4.5 4.5 0 0 1 3.898 2.25.5.5 0 1 1-.866.5A3.498 3.498 0 0 0 8 10.5a3.498 3.498 0 0 0-3.032 1.75.5.5 0 0 1-.683.183zM10 8c-.552 0-1-.672-1-1.5 0-.247.04-.48.11-.686a.502.502 0 0 1 .166-.761l2-1a.5.5 0 1 1 .448.894l-1.009.504c.176.27.285.64.285 1.049 0 .828-.448 1.5-1 1.5z\"}}]})(props);\n};\nexport function BsFillEmojiDizzyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM4.146 5.146a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 1 1 .708.708l-.647.646.647.646a.5.5 0 1 1-.708.708L5.5 7.207l-.646.647a.5.5 0 1 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 0-.708zm5 0a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708.708l-.647.646.647.646a.5.5 0 0 1-.708.708l-.646-.647-.646.647a.5.5 0 1 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 0-.708zM8 13a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]})(props);\n};\nexport function BsFillEmojiExpressionlessFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM4.5 6h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1zm5 0h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1zm-5 4h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillEmojiFrownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zm-2.715 5.933a.5.5 0 0 1-.183-.683A4.498 4.498 0 0 1 8 9.5a4.5 4.5 0 0 1 3.898 2.25.5.5 0 0 1-.866.5A3.498 3.498 0 0 0 8 10.5a3.498 3.498 0 0 0-3.032 1.75.5.5 0 0 1-.683.183zM10 8c-.552 0-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5S10.552 8 10 8z\"}}]})(props);\n};\nexport function BsFillEmojiHeartEyesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zM4.756 4.566c.763-1.424 4.02-.12.952 3.434-4.496-1.596-2.35-4.298-.952-3.434zm6.559 5.448a.5.5 0 0 1 .548.736A4.498 4.498 0 0 1 7.965 13a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .548-.736h.005l.017.005.067.015.252.055c.215.046.515.108.857.169.693.124 1.522.242 2.152.242.63 0 1.46-.118 2.152-.242a26.58 26.58 0 0 0 1.109-.224l.067-.015.017-.004.005-.002zm-.07-5.448c1.397-.864 3.543 1.838-.953 3.434-3.067-3.554.19-4.858.952-3.434z\"}}]})(props);\n};\nexport function BsFillEmojiLaughingFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM7 6.5c0 .501-.164.396-.415.235C6.42 6.629 6.218 6.5 6 6.5c-.218 0-.42.13-.585.235C5.164 6.896 5 7 5 6.5 5 5.672 5.448 5 6 5s1 .672 1 1.5zm5.331 3a1 1 0 0 1 0 1A4.998 4.998 0 0 1 8 13a4.998 4.998 0 0 1-4.33-2.5A1 1 0 0 1 4.535 9h6.93a1 1 0 0 1 .866.5zm-1.746-2.765C10.42 6.629 10.218 6.5 10 6.5c-.218 0-.42.13-.585.235C9.164 6.896 9 7 9 6.5c0-.828.448-1.5 1-1.5s1 .672 1 1.5c0 .501-.164.396-.415.235z\"}}]})(props);\n};\nexport function BsFillEmojiNeutralFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zm-3 4a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM10 8c-.552 0-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5S10.552 8 10 8z\"}}]})(props);\n};\nexport function BsFillEmojiSmileFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zM4.285 9.567a.5.5 0 0 1 .683.183A3.498 3.498 0 0 0 8 11.5a3.498 3.498 0 0 0 3.032-1.75.5.5 0 1 1 .866.5A4.498 4.498 0 0 1 8 12.5a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .183-.683zM10 8c-.552 0-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5S10.552 8 10 8z\"}}]})(props);\n};\nexport function BsFillEmojiSmileUpsideDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM7 9.5C7 8.672 6.552 8 6 8s-1 .672-1 1.5.448 1.5 1 1.5 1-.672 1-1.5zM4.285 6.433a.5.5 0 0 0 .683-.183A3.498 3.498 0 0 1 8 4.5c1.295 0 2.426.703 3.032 1.75a.5.5 0 0 0 .866-.5A4.498 4.498 0 0 0 8 3.5a4.5 4.5 0 0 0-3.898 2.25.5.5 0 0 0 .183.683zM10 8c-.552 0-1 .672-1 1.5s.448 1.5 1 1.5 1-.672 1-1.5S10.552 8 10 8z\"}}]})(props);\n};\nexport function BsFillEmojiSunglassesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM2.31 5.243A1 1 0 0 1 3.28 4H6a1 1 0 0 1 1 1v.116A4.22 4.22 0 0 1 8 5c.35 0 .69.04 1 .116V5a1 1 0 0 1 1-1h2.72a1 1 0 0 1 .97 1.243l-.311 1.242A2 2 0 0 1 11.439 8H11a2 2 0 0 1-1.994-1.839A2.99 2.99 0 0 0 8 6c-.393 0-.74.064-1.006.161A2 2 0 0 1 5 8h-.438a2 2 0 0 1-1.94-1.515L2.31 5.243zM4.969 9.75A3.498 3.498 0 0 0 8 11.5a3.498 3.498 0 0 0 3.032-1.75.5.5 0 1 1 .866.5A4.498 4.498 0 0 1 8 12.5a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .866-.5z\"}}]})(props);\n};\nexport function BsFillEmojiWinkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM7 6.5C7 5.672 6.552 5 6 5s-1 .672-1 1.5S5.448 8 6 8s1-.672 1-1.5zM4.285 9.567a.5.5 0 0 0-.183.683A4.498 4.498 0 0 0 8 12.5a4.5 4.5 0 0 0 3.898-2.25.5.5 0 1 0-.866-.5A3.498 3.498 0 0 1 8 11.5a3.498 3.498 0 0 1-3.032-1.75.5.5 0 0 0-.683-.183zm5.152-3.31a.5.5 0 0 0-.874.486c.33.595.958 1.007 1.687 1.007.73 0 1.356-.412 1.687-1.007a.5.5 0 0 0-.874-.486.934.934 0 0 1-.813.493.934.934 0 0 1-.813-.493z\"}}]})(props);\n};\nexport function BsFillEnvelopeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555zM0 4.697v7.104l5.803-3.558L0 4.697zM6.761 8.83l-6.57 4.027A2 2 0 0 0 2 14h12a2 2 0 0 0 1.808-1.144l-6.57-4.027L8 9.586l-1.239-.757zm3.436-.586L16 11.801V4.697l-5.803 3.546z\"}}]})(props);\n};\nexport function BsFillEnvelopeOpenFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.941.435a2 2 0 0 0-1.882 0l-6 3.2A2 2 0 0 0 0 5.4v.313l6.709 3.933L8 8.928l1.291.717L16 5.715V5.4a2 2 0 0 0-1.059-1.765l-6-3.2zM16 6.873l-5.693 3.337L16 13.372v-6.5zm-.059 7.611L8 10.072.059 14.484A2 2 0 0 0 2 16h12a2 2 0 0 0 1.941-1.516zM0 13.373l5.693-3.163L0 6.873v6.5z\"}}]})(props);\n};\nexport function BsFillEraserFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.086 2.207a2 2 0 0 1 2.828 0l3.879 3.879a2 2 0 0 1 0 2.828l-5.5 5.5A2 2 0 0 1 7.879 15H5.12a2 2 0 0 1-1.414-.586l-2.5-2.5a2 2 0 0 1 0-2.828l6.879-6.879zm.66 11.34L3.453 8.254 1.914 9.793a1 1 0 0 0 0 1.414l2.5 2.5a1 1 0 0 0 .707.293H7.88a1 1 0 0 0 .707-.293l.16-.16z\"}}]})(props);\n};\nexport function BsFillExclamationCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8 4a.905.905 0 0 0-.9.995l.35 3.507a.552.552 0 0 0 1.1 0l.35-3.507A.905.905 0 0 0 8 4zm.002 6a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsFillExclamationDiamondFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435zM8 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsFillExclamationOctagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.46.146A.5.5 0 0 0 11.107 0H4.893a.5.5 0 0 0-.353.146L.146 4.54A.5.5 0 0 0 0 4.893v6.214a.5.5 0 0 0 .146.353l4.394 4.394a.5.5 0 0 0 .353.146h6.214a.5.5 0 0 0 .353-.146l4.394-4.394a.5.5 0 0 0 .146-.353V4.893a.5.5 0 0 0-.146-.353L11.46.146zM8 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsFillExclamationSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsFillExclamationTriangleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsFillEyeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 8a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8s3-5.5 8-5.5S16 8 16 8s-3 5.5-8 5.5S0 8 0 8zm8 3.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7z\"}}]})(props);\n};\nexport function BsFillEyeSlashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m10.79 12.912-1.614-1.615a3.5 3.5 0 0 1-4.474-4.474l-2.06-2.06C.938 6.278 0 8 0 8s3 5.5 8 5.5a7.029 7.029 0 0 0 2.79-.588zM5.21 3.088A7.028 7.028 0 0 1 8 2.5c5 0 8 5.5 8 5.5s-.939 1.721-2.641 3.238l-2.062-2.062a3.5 3.5 0 0 0-4.474-4.474L5.21 3.089z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.525 7.646a2.5 2.5 0 0 0 2.829 2.829l-2.83-2.829zm4.95.708-2.829-2.83a2.5 2.5 0 0 1 2.829 2.829zm3.171 6-12-12 .708-.708 12 12-.708.708z\"}}]})(props);\n};\nexport function BsFillFileArrowDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8 5a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 9.293V5.5A.5.5 0 0 1 8 5z\"}}]})(props);\n};\nexport function BsFillFileArrowUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM7.5 6.707 6.354 7.854a.5.5 0 1 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 6.707V10.5a.5.5 0 0 1-1 0V6.707z\"}}]})(props);\n};\nexport function BsFillFileBarGraphFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-2 11.5v-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-2.5.5a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-1zm-3 0a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-1z\"}}]})(props);\n};\nexport function BsFillFileBinaryFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.526 9.273c-.542 0-.832.563-.832 1.612 0 .088.003.173.006.252l1.56-1.143c-.126-.474-.375-.72-.733-.72zm-.732 2.508c.126.472.372.718.732.718.54 0 .83-.563.83-1.614 0-.085-.003-.17-.006-.25l-1.556 1.146z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM7.05 10.885c0 1.415-.548 2.206-1.524 2.206C4.548 13.09 4 12.3 4 10.885c0-1.412.548-2.203 1.526-2.203.976 0 1.524.79 1.524 2.203zm3.805 1.52V13h-3v-.595h1.181V9.5h-.05l-1.136.747v-.688l1.19-.786h.69v3.633h1.125z\"}}]})(props);\n};\nexport function BsFillFileBreakFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h8a2 2 0 0 1 2 2v7H2V2a2 2 0 0 1 2-2zM2 12h12v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-2zM.5 10a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1H.5z\"}}]})(props);\n};\nexport function BsFillFileCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-1.146 6.854-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 8.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFillFileCodeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM6.646 5.646a.5.5 0 1 1 .708.708L5.707 8l1.647 1.646a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2zm2.708 0 2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 8 8.646 6.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFillFileDiffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8.5 4.5V6H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V7H6a.5.5 0 0 1 0-1h1.5V4.5a.5.5 0 0 1 1 0zM6 10h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillFileEarmarkArrowDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-1 4v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 .708-.708L7.5 11.293V7.5a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillFileEarmarkArrowUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6.354 9.854a.5.5 0 0 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 8.707V12.5a.5.5 0 0 1-1 0V8.707L6.354 9.854z\"}}]})(props);\n};\nexport function BsFillFileEarmarkBarGraphFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm.5 10v-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-2.5.5a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-1zm-3 0a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-1z\"}}]})(props);\n};\nexport function BsFillFileEarmarkBinaryFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.526 10.273c-.542 0-.832.563-.832 1.612 0 .088.003.173.006.252l1.559-1.143c-.126-.474-.375-.72-.733-.72zm-.732 2.508c.126.472.372.718.732.718.54 0 .83-.563.83-1.614 0-.085-.003-.17-.006-.25l-1.556 1.146z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-2.45 8.385c0 1.415-.548 2.206-1.524 2.206C4.548 14.09 4 13.3 4 11.885c0-1.412.548-2.203 1.526-2.203.976 0 1.524.79 1.524 2.203zm3.805 1.52V14h-3v-.595h1.181V10.5h-.05l-1.136.747v-.688l1.19-.786h.69v3.633h1.125z\"}}]})(props);\n};\nexport function BsFillFileEarmarkBreakFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707V9H2V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3zM2 12h12v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-2zM.5 10a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1H.5z\"}}]})(props);\n};\nexport function BsFillFileEarmarkCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm1.354 4.354-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFillFileEarmarkCodeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6.646 7.646a.5.5 0 1 1 .708.708L5.707 10l1.647 1.646a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2zm2.708 0 2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 10 8.646 8.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFillFileEarmarkDiffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM8 6a.5.5 0 0 1 .5.5V8H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V9H6a.5.5 0 0 1 0-1h1.5V6.5A.5.5 0 0 1 8 6zm-2.5 6.5A.5.5 0 0 1 6 12h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillFileEarmarkEaselFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 7.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM8.5 6h2A1.5 1.5 0 0 1 12 7.5v2a1.5 1.5 0 0 1-1.5 1.5h-.473l.447 1.342a.5.5 0 0 1-.948.316L8.973 11H8.5v1a.5.5 0 0 1-1 0v-1h-.473l-.553 1.658a.5.5 0 1 1-.948-.316L5.973 11H5.5A1.5 1.5 0 0 1 4 9.5v-2A1.5 1.5 0 0 1 5.5 6h2a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillFileEarmarkExcelFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5.884 6.68 8 9.219l2.116-2.54a.5.5 0 1 1 .768.641L8.651 10l2.233 2.68a.5.5 0 0 1-.768.64L8 10.781l-2.116 2.54a.5.5 0 0 1-.768-.641L7.349 10 5.116 7.32a.5.5 0 1 1 .768-.64z\"}}]})(props);\n};\nexport function BsFillFileEarmarkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3z\"}}]})(props);\n};\nexport function BsFillFileEarmarkFontFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5.057 6h5.886L11 8h-.5c-.18-1.096-.356-1.192-1.694-1.235l-.298-.01v5.09c0 .47.1.582.903.655v.5H6.59v-.5c.799-.073.898-.184.898-.654V6.755l-.293.01C5.856 6.808 5.68 6.905 5.5 8H5l.057-2z\"}}]})(props);\n};\nexport function BsFillFileEarmarkImageFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707v5.586l-2.73-2.73a1 1 0 0 0-1.52.127l-1.889 2.644-1.769-1.062a1 1 0 0 0-1.222.15L2 12.292V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3zm-1.498 4a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.564 8.27 14 11.708V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-.293l3.578-3.577 2.56 1.536 2.426-3.395z\"}}]})(props);\n};\nexport function BsFillFileEarmarkLockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7a1 1 0 0 1 2 0v1H7V7zM6 9.3c0-.042.02-.107.105-.175A.637.637 0 0 1 6.5 9h3a.64.64 0 0 1 .395.125c.085.068.105.133.105.175v2.4c0 .042-.02.107-.105.175A.637.637 0 0 1 9.5 12h-3a.637.637 0 0 1-.395-.125C6.02 11.807 6 11.742 6 11.7V9.3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM10 7v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V9.3c0-.627.46-1.058 1-1.224V7a2 2 0 1 1 4 0z\"}}]})(props);\n};\nexport function BsFillFileEarmarkLock2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7a1 1 0 0 1 2 0v1H7V7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM10 7v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V9.3c0-.627.46-1.058 1-1.224V7a2 2 0 1 1 4 0z\"}}]})(props);\n};\nexport function BsFillFileEarmarkMedicalFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-3 2v.634l.549-.317a.5.5 0 1 1 .5.866L7 7l.549.317a.5.5 0 1 1-.5.866L6.5 7.866V8.5a.5.5 0 0 1-1 0v-.634l-.549.317a.5.5 0 1 1-.5-.866L5 7l-.549-.317a.5.5 0 0 1 .5-.866l.549.317V5.5a.5.5 0 1 1 1 0zm-2 4.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zm0 2h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillFileEarmarkMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6 8.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillFileEarmarkMusicFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM11 6.64v1.75l-2 .5v3.61c0 .495-.301.883-.662 1.123C7.974 13.866 7.499 14 7 14c-.5 0-.974-.134-1.338-.377-.36-.24-.662-.628-.662-1.123s.301-.883.662-1.123C6.026 11.134 6.501 11 7 11c.356 0 .7.068 1 .196V6.89a1 1 0 0 1 .757-.97l1-.25A1 1 0 0 1 11 6.64z\"}}]})(props);\n};\nexport function BsFillFileEarmarkPdfFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.523 12.424c.14-.082.293-.162.459-.238a7.878 7.878 0 0 1-.45.606c-.28.337-.498.516-.635.572a.266.266 0 0 1-.035.012.282.282 0 0 1-.026-.044c-.056-.11-.054-.216.04-.36.106-.165.319-.354.647-.548zm2.455-1.647c-.119.025-.237.05-.356.078a21.148 21.148 0 0 0 .5-1.05 12.045 12.045 0 0 0 .51.858c-.217.032-.436.07-.654.114zm2.525.939a3.881 3.881 0 0 1-.435-.41c.228.005.434.022.612.054.317.057.466.147.518.209a.095.095 0 0 1 .026.064.436.436 0 0 1-.06.2.307.307 0 0 1-.094.124.107.107 0 0 1-.069.015c-.09-.003-.258-.066-.498-.256zM8.278 6.97c-.04.244-.108.524-.2.829a4.86 4.86 0 0 1-.089-.346c-.076-.353-.087-.63-.046-.822.038-.177.11-.248.196-.283a.517.517 0 0 1 .145-.04c.013.03.028.092.032.198.005.122-.007.277-.038.465z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3zM4.165 13.668c.09.18.23.343.438.419.207.075.412.04.58-.03.318-.13.635-.436.926-.786.333-.401.683-.927 1.021-1.51a11.651 11.651 0 0 1 1.997-.406c.3.383.61.713.91.95.28.22.603.403.934.417a.856.856 0 0 0 .51-.138c.155-.101.27-.247.354-.416.09-.181.145-.37.138-.563a.844.844 0 0 0-.2-.518c-.226-.27-.596-.4-.96-.465a5.76 5.76 0 0 0-1.335-.05 10.954 10.954 0 0 1-.98-1.686c.25-.66.437-1.284.52-1.794.036-.218.055-.426.048-.614a1.238 1.238 0 0 0-.127-.538.7.7 0 0 0-.477-.365c-.202-.043-.41 0-.601.077-.377.15-.576.47-.651.823-.073.34-.04.736.046 1.136.088.406.238.848.43 1.295a19.697 19.697 0 0 1-1.062 2.227 7.662 7.662 0 0 0-1.482.645c-.37.22-.699.48-.897.787-.21.326-.275.714-.08 1.103z\"}}]})(props);\n};\nexport function BsFillFileEarmarkPersonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0zm2 5.755V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-.245S4 12 8 12s5 1.755 5 1.755z\"}}]})(props);\n};\nexport function BsFillFileEarmarkPlayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6 6.883a.5.5 0 0 1 .757-.429l3.528 2.117a.5.5 0 0 1 0 .858l-3.528 2.117a.5.5 0 0 1-.757-.43V6.884z\"}}]})(props);\n};\nexport function BsFillFileEarmarkPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM8.5 7v1.5H10a.5.5 0 0 1 0 1H8.5V11a.5.5 0 0 1-1 0V9.5H6a.5.5 0 0 1 0-1h1.5V7a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillFileEarmarkPostFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-5-.5H7a.5.5 0 0 1 0 1H4.5a.5.5 0 0 1 0-1zm0 3h7a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillFileEarmarkPptFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.188 10H7V6.5h1.188a1.75 1.75 0 1 1 0 3.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3zM7 5.5a1 1 0 0 0-1 1V13a.5.5 0 0 0 1 0v-2h1.188a2.75 2.75 0 0 0 0-5.5H7z\"}}]})(props);\n};\nexport function BsFillFileEarmarkRichtextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM7 6.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.861 1.542 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047l1.888.974V9.5a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V9s1.54-1.274 1.639-1.208zM5 11h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1zm0 2h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillFileEarmarkRuledFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM3 9h10v1H6v2h7v1H6v2H5v-2H3v-1h2v-2H3V9z\"}}]})(props);\n};\nexport function BsFillFileEarmarkSlidesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 9.78V7.22c0-.096.106-.156.19-.106l2.13 1.279a.125.125 0 0 1 0 .214l-2.13 1.28A.125.125 0 0 1 7 9.778z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5 6h6a.5.5 0 0 1 .496.438l.5 4A.5.5 0 0 1 11.5 11h-3v2.016c.863.055 1.5.251 1.5.484 0 .276-.895.5-2 .5s-2-.224-2-.5c0-.233.637-.429 1.5-.484V11h-3a.5.5 0 0 1-.496-.562l.5-4A.5.5 0 0 1 5 6z\"}}]})(props);\n};\nexport function BsFillFileEarmarkSpreadsheetFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12v-2h3v2H6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM3 9h10v1h-3v2h3v1h-3v2H9v-2H6v2H5v-2H3v-1h2v-2H3V9z\"}}]})(props);\n};\nexport function BsFillFileEarmarkTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM4.5 9a.5.5 0 0 1 0-1h7a.5.5 0 0 1 0 1h-7zM4 10.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm.5 2.5a.5.5 0 0 1 0-1h4a.5.5 0 0 1 0 1h-4z\"}}]})(props);\n};\nexport function BsFillFileEarmarkWordFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5.485 6.879l1.036 4.144.997-3.655a.5.5 0 0 1 .964 0l.997 3.655 1.036-4.144a.5.5 0 0 1 .97.242l-1.5 6a.5.5 0 0 1-.967.01L8 9.402l-1.018 3.73a.5.5 0 0 1-.967-.01l-1.5-6a.5.5 0 1 1 .97-.242z\"}}]})(props);\n};\nexport function BsFillFileEarmarkXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6.854 7.146 8 8.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 9l1.147 1.146a.5.5 0 0 1-.708.708L8 9.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 9 6.146 7.854a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFillFileEarmarkZipFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 9.438V8.5h1v.938a1 1 0 0 0 .03.243l.4 1.598-.93.62-.93-.62.4-1.598a1 1 0 0 0 .03-.243z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-4-.5V2h-1V1H6v1h1v1H6v1h1v1H6v1h1v1H5.5V6h-1V5h1V4h-1V3h1zm0 4.5h1a1 1 0 0 1 1 1v.938l.4 1.599a1 1 0 0 1-.416 1.074l-.93.62a1 1 0 0 1-1.109 0l-.93-.62a1 1 0 0 1-.415-1.074l.4-1.599V8.5a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFillFileEaselFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8.5 5h2A1.5 1.5 0 0 1 12 6.5v2a1.5 1.5 0 0 1-1.5 1.5h-.473l.447 1.342a.5.5 0 0 1-.948.316L8.973 10H8.5v1a.5.5 0 0 1-1 0v-1h-.473l-.553 1.658a.5.5 0 1 1-.948-.316L5.973 10H5.5A1.5 1.5 0 0 1 4 8.5v-2A1.5 1.5 0 0 1 5.5 5h2a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillFileExcelFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5.884 4.68 8 7.219l2.116-2.54a.5.5 0 1 1 .768.641L8.651 8l2.233 2.68a.5.5 0 0 1-.768.64L8 8.781l-2.116 2.54a.5.5 0 0 1-.768-.641L7.349 8 5.116 5.32a.5.5 0 1 1 .768-.64z\"}}]})(props);\n};\nexport function BsFillFileFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2z\"}}]})(props);\n};\nexport function BsFillFileFontFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5.057 4h5.886L11 6h-.5c-.18-1.096-.356-1.192-1.694-1.235l-.298-.01v6.09c0 .47.1.582.903.655v.5H6.59v-.5c.799-.073.898-.184.898-.654V4.755l-.293.01C5.856 4.808 5.68 4.905 5.5 6H5l.057-2z\"}}]})(props);\n};\nexport function BsFillFileImageFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h8a2 2 0 0 1 2 2v8.293l-2.73-2.73a1 1 0 0 0-1.52.127l-1.889 2.644-1.769-1.062a1 1 0 0 0-1.222.15L2 12.292V2a2 2 0 0 1 2-2zm4.002 5.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.564 8.27 14 11.708V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-.293l3.578-3.577 2.56 1.536 2.426-3.395z\"}}]})(props);\n};\nexport function BsFillFileLockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6a1 1 0 0 1 2 0v1H7V6zM6 8.3c0-.042.02-.107.105-.175A.637.637 0 0 1 6.5 8h3a.64.64 0 0 1 .395.125c.085.068.105.133.105.175v2.4c0 .042-.02.107-.105.175A.637.637 0 0 1 9.5 11h-3a.637.637 0 0 1-.395-.125C6.02 10.807 6 10.742 6 10.7V8.3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-2 6v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V8.3c0-.627.46-1.058 1-1.224V6a2 2 0 1 1 4 0z\"}}]})(props);\n};\nexport function BsFillFileLock2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6a1 1 0 0 1 2 0v1H7V6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-2 6v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V8.3c0-.627.46-1.058 1-1.224V6a2 2 0 1 1 4 0z\"}}]})(props);\n};\nexport function BsFillFileMedicalFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8.5 4.5v.634l.549-.317a.5.5 0 1 1 .5.866L9 6l.549.317a.5.5 0 1 1-.5.866L8.5 6.866V7.5a.5.5 0 0 1-1 0v-.634l-.549.317a.5.5 0 1 1-.5-.866L7 6l-.549-.317a.5.5 0 0 1 .5-.866l.549.317V4.5a.5.5 0 1 1 1 0zM5.5 9h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zm0 2h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillFileMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM6 7.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillFileMusicFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-.5 4.11v1.8l-2.5.5v5.09c0 .495-.301.883-.662 1.123C7.974 12.866 7.499 13 7 13c-.5 0-.974-.134-1.338-.377-.36-.24-.662-.628-.662-1.123s.301-.883.662-1.123C6.026 10.134 6.501 10 7 10c.356 0 .7.068 1 .196V4.41a1 1 0 0 1 .804-.98l1.5-.3a1 1 0 0 1 1.196.98z\"}}]})(props);\n};\nexport function BsFillFilePdfFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.523 10.424c.14-.082.293-.162.459-.238a7.878 7.878 0 0 1-.45.606c-.28.337-.498.516-.635.572a.266.266 0 0 1-.035.012.282.282 0 0 1-.026-.044c-.056-.11-.054-.216.04-.36.106-.165.319-.354.647-.548zm2.455-1.647c-.119.025-.237.05-.356.078a21.035 21.035 0 0 0 .5-1.05 11.96 11.96 0 0 0 .51.858c-.217.032-.436.07-.654.114zm2.525.939a3.888 3.888 0 0 1-.435-.41c.228.005.434.022.612.054.317.057.466.147.518.209a.095.095 0 0 1 .026.064.436.436 0 0 1-.06.2.307.307 0 0 1-.094.124.107.107 0 0 1-.069.015c-.09-.003-.258-.066-.498-.256zM8.278 4.97c-.04.244-.108.524-.2.829a4.86 4.86 0 0 1-.089-.346c-.076-.353-.087-.63-.046-.822.038-.177.11-.248.196-.283a.517.517 0 0 1 .145-.04c.013.03.028.092.032.198.005.122-.007.277-.038.465z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm.165 11.668c.09.18.23.343.438.419.207.075.412.04.58-.03.318-.13.635-.436.926-.786.333-.401.683-.927 1.021-1.51a11.64 11.64 0 0 1 1.997-.406c.3.383.61.713.91.95.28.22.603.403.934.417a.856.856 0 0 0 .51-.138c.155-.101.27-.247.354-.416.09-.181.145-.37.138-.563a.844.844 0 0 0-.2-.518c-.226-.27-.596-.4-.96-.465a5.76 5.76 0 0 0-1.335-.05 10.954 10.954 0 0 1-.98-1.686c.25-.66.437-1.284.52-1.794.036-.218.055-.426.048-.614a1.238 1.238 0 0 0-.127-.538.7.7 0 0 0-.477-.365c-.202-.043-.41 0-.601.077-.377.15-.576.47-.651.823-.073.34-.04.736.046 1.136.088.406.238.848.43 1.295a19.707 19.707 0 0 1-1.062 2.227 7.662 7.662 0 0 0-1.482.645c-.37.22-.699.48-.897.787-.21.326-.275.714-.08 1.103z\"}}]})(props);\n};\nexport function BsFillFilePersonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-1 7a3 3 0 1 1-6 0 3 3 0 0 1 6 0zm-3 4c2.623 0 4.146.826 5 1.755V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-1.245C3.854 11.825 5.377 11 8 11z\"}}]})(props);\n};\nexport function BsFillFilePlayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM6 5.883a.5.5 0 0 1 .757-.429l3.528 2.117a.5.5 0 0 1 0 .858l-3.528 2.117a.5.5 0 0 1-.757-.43V5.884z\"}}]})(props);\n};\nexport function BsFillFilePlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8.5 6v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillFilePostFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM4.5 3h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zm0 2h7a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillFilePptFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.188 8.5H7V5h1.188a1.75 1.75 0 1 1 0 3.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm3 4a1 1 0 0 0-1 1v6.5a.5.5 0 0 0 1 0v-2h1.188a2.75 2.75 0 0 0 0-5.5H7z\"}}]})(props);\n};\nexport function BsFillFileRichtextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM7 4.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.861 1.542 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047l1.888.974V7.5a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V7s1.54-1.274 1.639-1.208zM5 9h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1zm0 2h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillFileRuledFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v4h12V2a2 2 0 0 0-2-2zm2 7H6v2h8V7zm0 3H6v2h8v-2zm0 3H6v3h6a2 2 0 0 0 2-2v-1zm-9 3v-3H2v1a2 2 0 0 0 2 2h1zm-3-4h3v-2H2v2zm0-3h3V7H2v2z\"}}]})(props);\n};\nexport function BsFillFileSlidesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7.78V5.22c0-.096.106-.156.19-.106l2.13 1.279a.125.125 0 0 1 0 .214l-2.13 1.28A.125.125 0 0 1 7 7.778z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5 4h6a.5.5 0 0 1 .496.438l.5 4A.5.5 0 0 1 11.5 9h-3v2.016c.863.055 1.5.251 1.5.484 0 .276-.895.5-2 .5s-2-.224-2-.5c0-.233.637-.429 1.5-.484V9h-3a.5.5 0 0 1-.496-.562l.5-4A.5.5 0 0 1 5 4z\"}}]})(props);\n};\nexport function BsFillFileSpreadsheetFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v4h12V2a2 2 0 0 0-2-2zm2 7h-4v2h4V7zm0 3h-4v2h4v-2zm0 3h-4v3h2a2 2 0 0 0 2-2v-1zm-5 3v-3H6v3h3zm-4 0v-3H2v1a2 2 0 0 0 2 2h1zm-3-4h3v-2H2v2zm0-3h3V7H2v2zm4 0V7h3v2H6zm0 1h3v2H6v-2z\"}}]})(props);\n};\nexport function BsFillFileTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5 4h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1zm-.5 2.5A.5.5 0 0 1 5 6h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zM5 8h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1zm0 2h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillFileWordFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5.485 4.879l1.036 4.144.997-3.655a.5.5 0 0 1 .964 0l.997 3.655 1.036-4.144a.5.5 0 0 1 .97.242l-1.5 6a.5.5 0 0 1-.967.01L8 7.402l-1.018 3.73a.5.5 0 0 1-.967-.01l-1.5-6a.5.5 0 1 1 .97-.242z\"}}]})(props);\n};\nexport function BsFillFileXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM6.854 6.146 8 7.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 8l1.147 1.146a.5.5 0 0 1-.708.708L8 8.707 6.854 9.854a.5.5 0 0 1-.708-.708L7.293 8 6.146 6.854a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFillFileZipFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 9.438V8.5h-1v.938a1 1 0 0 1-.03.243l-.4 1.598.93.62.93-.62-.4-1.598a1 1 0 0 1-.03-.243z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm2.5 8.5v.938l-.4 1.599a1 1 0 0 0 .416 1.074l.93.62a1 1 0 0 0 1.109 0l.93-.62a1 1 0 0 0 .415-1.074l-.4-1.599V8.5a1 1 0 0 0-1-1h-1a1 1 0 0 0-1 1zm1-5.5h-1v1h1v1h-1v1h1v1H9V6H8V5h1V4H8V3h1V2H8V1H6.5v1h1v1z\"}}]})(props);\n};\nexport function BsFillFilterCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM3.5 5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1zM5 8.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm2 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillFilterSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm.5 5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1 0-1zM4 8.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm2 3a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillFlagFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.778.085A.5.5 0 0 1 15 .5V8a.5.5 0 0 1-.314.464L14.5 8l.186.464-.003.001-.006.003-.023.009a12.435 12.435 0 0 1-.397.15c-.264.095-.631.223-1.047.35-.816.252-1.879.523-2.71.523-.847 0-1.548-.28-2.158-.525l-.028-.01C7.68 8.71 7.14 8.5 6.5 8.5c-.7 0-1.638.23-2.437.477A19.626 19.626 0 0 0 3 9.342V15.5a.5.5 0 0 1-1 0V.5a.5.5 0 0 1 1 0v.282c.226-.079.496-.17.79-.26C4.606.272 5.67 0 6.5 0c.84 0 1.524.277 2.121.519l.043.018C9.286.788 9.828 1 10.5 1c.7 0 1.638-.23 2.437-.477a19.587 19.587 0 0 0 1.349-.476l.019-.007.004-.002h.001\"}}]})(props);\n};\nexport function BsFillFolderFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.828 3h3.982a2 2 0 0 1 1.992 2.181l-.637 7A2 2 0 0 1 13.174 14H2.825a2 2 0 0 1-1.991-1.819l-.637-7a1.99 1.99 0 0 1 .342-1.31L.5 3a2 2 0 0 1 2-2h3.672a2 2 0 0 1 1.414.586l.828.828A2 2 0 0 0 9.828 3zm-8.322.12C1.72 3.042 1.95 3 2.19 3h5.396l-.707-.707A1 1 0 0 0 6.172 2H2.5a1 1 0 0 0-1 .981l.006.139z\"}}]})(props);\n};\nexport function BsFillFolderSymlinkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.81 3H9.828a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 6.172 1H2.5a2 2 0 0 0-2 2l.04.87a1.99 1.99 0 0 0-.342 1.311l.637 7A2 2 0 0 0 2.826 14h10.348a2 2 0 0 0 1.991-1.819l.637-7A2 2 0 0 0 13.81 3zM2.19 3c-.24 0-.47.042-.683.12L1.5 2.98a1 1 0 0 1 1-.98h3.672a1 1 0 0 1 .707.293L7.586 3H2.19zm9.608 5.271-3.182 1.97c-.27.166-.616-.036-.616-.372V9.1s-2.571-.3-4 2.4c.571-4.8 3.143-4.8 4-4.8v-.769c0-.336.346-.538.616-.371l3.182 1.969c.27.166.27.576 0 .742z\"}}]})(props);\n};\nexport function BsFillForwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9.77 12.11 4.012-2.953a.647.647 0 0 0 0-1.114L9.771 5.09a.644.644 0 0 0-.971.557V6.65H2v3.9h6.8v1.003c0 .505.545.808.97.557z\"}}]})(props);\n};\nexport function BsFillFunnelFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 1.5A.5.5 0 0 1 2 1h12a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.128.334L10 8.692V13.5a.5.5 0 0 1-.342.474l-3 1A.5.5 0 0 1 6 14.5V8.692L1.628 3.834A.5.5 0 0 1 1.5 3.5v-2z\"}}]})(props);\n};\nexport function BsFillGearFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.405 1.05c-.413-1.4-2.397-1.4-2.81 0l-.1.34a1.464 1.464 0 0 1-2.105.872l-.31-.17c-1.283-.698-2.686.705-1.987 1.987l.169.311c.446.82.023 1.841-.872 2.105l-.34.1c-1.4.413-1.4 2.397 0 2.81l.34.1a1.464 1.464 0 0 1 .872 2.105l-.17.31c-.698 1.283.705 2.686 1.987 1.987l.311-.169a1.464 1.464 0 0 1 2.105.872l.1.34c.413 1.4 2.397 1.4 2.81 0l.1-.34a1.464 1.464 0 0 1 2.105-.872l.31.17c1.283.698 2.686-.705 1.987-1.987l-.169-.311a1.464 1.464 0 0 1 .872-2.105l.34-.1c1.4-.413 1.4-2.397 0-2.81l-.34-.1a1.464 1.464 0 0 1-.872-2.105l.17-.31c.698-1.283-.705-2.686-1.987-1.987l-.311.169a1.464 1.464 0 0 1-2.105-.872l-.1-.34zM8 10.93a2.929 2.929 0 1 1 0-5.86 2.929 2.929 0 0 1 0 5.858z\"}}]})(props);\n};\nexport function BsFillGeoAltFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10zm0-7a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]})(props);\n};\nexport function BsFillGeoFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 4a4 4 0 1 1 4.5 3.969V13.5a.5.5 0 0 1-1 0V7.97A4 4 0 0 1 4 3.999zm2.493 8.574a.5.5 0 0 1-.411.575c-.712.118-1.28.295-1.655.493a1.319 1.319 0 0 0-.37.265.301.301 0 0 0-.057.09V14l.002.008a.147.147 0 0 0 .016.033.617.617 0 0 0 .145.15c.165.13.435.27.813.395.751.25 1.82.414 3.024.414s2.273-.163 3.024-.414c.378-.126.648-.265.813-.395a.619.619 0 0 0 .146-.15.148.148 0 0 0 .015-.033L12 14v-.004a.301.301 0 0 0-.057-.09 1.318 1.318 0 0 0-.37-.264c-.376-.198-.943-.375-1.655-.493a.5.5 0 1 1 .164-.986c.77.127 1.452.328 1.957.594C12.5 13 13 13.4 13 14c0 .426-.26.752-.544.977-.29.228-.68.413-1.116.558-.878.293-2.059.465-3.34.465-1.281 0-2.462-.172-3.34-.465-.436-.145-.826-.33-1.116-.558C3.26 14.752 3 14.426 3 14c0-.599.5-1 .961-1.243.505-.266 1.187-.467 1.957-.594a.5.5 0 0 1 .575.411z\"}}]})(props);\n};\nexport function BsFillGiftFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2.5a2.5 2.5 0 0 1 5 0 2.5 2.5 0 0 1 5 0v.006c0 .07 0 .27-.038.494H15a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h2.038A2.968 2.968 0 0 1 3 2.506V2.5zm1.068.5H7v-.5a1.5 1.5 0 1 0-3 0c0 .085.002.274.045.43a.522.522 0 0 0 .023.07zM9 3h2.932a.56.56 0 0 0 .023-.07c.043-.156.045-.345.045-.43a1.5 1.5 0 0 0-3 0V3zm6 4v7.5a1.5 1.5 0 0 1-1.5 1.5H9V7h6zM2.5 16A1.5 1.5 0 0 1 1 14.5V7h6v9H2.5z\"}}]})(props);\n};\nexport function BsFillGrid1X2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1zm9 0a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1V1zm0 9a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-5z\"}}]})(props);\n};\nexport function BsFillGrid3X2GapFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V4zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V4zM1 9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V9zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V9zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V9z\"}}]})(props);\n};\nexport function BsFillGrid3X3GapFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V2zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V2zM1 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V7zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V7zM1 12a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-2zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-2zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-2z\"}}]})(props);\n};\nexport function BsFillGridFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.5A1.5 1.5 0 0 1 2.5 1h3A1.5 1.5 0 0 1 7 2.5v3A1.5 1.5 0 0 1 5.5 7h-3A1.5 1.5 0 0 1 1 5.5v-3zm8 0A1.5 1.5 0 0 1 10.5 1h3A1.5 1.5 0 0 1 15 2.5v3A1.5 1.5 0 0 1 13.5 7h-3A1.5 1.5 0 0 1 9 5.5v-3zm-8 8A1.5 1.5 0 0 1 2.5 9h3A1.5 1.5 0 0 1 7 10.5v3A1.5 1.5 0 0 1 5.5 15h-3A1.5 1.5 0 0 1 1 13.5v-3zm8 0A1.5 1.5 0 0 1 10.5 9h3a1.5 1.5 0 0 1 1.5 1.5v3a1.5 1.5 0 0 1-1.5 1.5h-3A1.5 1.5 0 0 1 9 13.5v-3z\"}}]})(props);\n};\nexport function BsFillHandIndexFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 4.466V1.75a1.75 1.75 0 1 0-3.5 0v5.34l-1.2.24a1.5 1.5 0 0 0-1.196 1.636l.345 3.106a2.5 2.5 0 0 0 .405 1.11l1.433 2.15A1.5 1.5 0 0 0 6.035 16h6.385a1.5 1.5 0 0 0 1.302-.756l1.395-2.441a3.5 3.5 0 0 0 .444-1.389l.271-2.715a2 2 0 0 0-1.99-2.199h-.581a5.114 5.114 0 0 0-.195-.248c-.191-.229-.51-.568-.88-.716-.364-.146-.846-.132-1.158-.108l-.132.012a1.26 1.26 0 0 0-.56-.642 2.632 2.632 0 0 0-.738-.288c-.31-.062-.739-.058-1.05-.046l-.048.002z\"}}]})(props);\n};\nexport function BsFillHandIndexThumbFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 1.75v2.716l.047-.002c.312-.012.742-.016 1.051.046.28.056.543.18.738.288.273.152.456.385.56.642l.132-.012c.312-.024.794-.038 1.158.108.37.148.689.487.88.716.075.09.141.175.195.248h.582a2 2 0 0 1 1.99 2.199l-.272 2.715a3.5 3.5 0 0 1-.444 1.389l-1.395 2.441A1.5 1.5 0 0 1 12.42 16H6.118a1.5 1.5 0 0 1-1.342-.83l-1.215-2.43L1.07 8.589a1.517 1.517 0 0 1 2.373-1.852L5 8.293V1.75a1.75 1.75 0 0 1 3.5 0z\"}}]})(props);\n};\nexport function BsFillHandThumbsDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.956 14.534c.065.936.952 1.659 1.908 1.42l.261-.065a1.378 1.378 0 0 0 1.012-.965c.22-.816.533-2.512.062-4.51.136.02.285.037.443.051.713.065 1.669.071 2.516-.211.518-.173.994-.68 1.2-1.272a1.896 1.896 0 0 0-.234-1.734c.058-.118.103-.242.138-.362.077-.27.113-.568.113-.856 0-.29-.036-.586-.113-.857a2.094 2.094 0 0 0-.16-.403c.169-.387.107-.82-.003-1.149a3.162 3.162 0 0 0-.488-.9c.054-.153.076-.313.076-.465a1.86 1.86 0 0 0-.253-.912C13.1.757 12.437.28 11.5.28H8c-.605 0-1.07.08-1.466.217a4.823 4.823 0 0 0-.97.485l-.048.029c-.504.308-.999.61-2.068.723C2.682 1.815 2 2.434 2 3.279v4c0 .851.685 1.433 1.357 1.616.849.232 1.574.787 2.132 1.41.56.626.914 1.28 1.039 1.638.199.575.356 1.54.428 2.591z\"}}]})(props);\n};\nexport function BsFillHandThumbsUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.956 1.745C7.021.81 7.908.087 8.864.325l.261.066c.463.116.874.456 1.012.965.22.816.533 2.511.062 4.51a9.84 9.84 0 0 1 .443-.051c.713-.065 1.669-.072 2.516.21.518.173.994.681 1.2 1.273.184.532.16 1.162-.234 1.733.058.119.103.242.138.363.077.27.113.567.113.856 0 .289-.036.586-.113.856-.039.135-.09.273-.16.404.169.387.107.819-.003 1.148a3.163 3.163 0 0 1-.488.901c.054.152.076.312.076.465 0 .305-.089.625-.253.912C13.1 15.522 12.437 16 11.5 16H8c-.605 0-1.07-.081-1.466-.218a4.82 4.82 0 0 1-.97-.484l-.048-.03c-.504-.307-.999-.609-2.068-.722C2.682 14.464 2 13.846 2 13V9c0-.85.685-1.432 1.357-1.615.849-.232 1.574-.787 2.132-1.41.56-.627.914-1.28 1.039-1.639.199-.575.356-1.539.428-2.59z\"}}]})(props);\n};\nexport function BsFillHandbagFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2 2 0 0 0-2 2v2H5V3a3 3 0 1 1 6 0v2h-1V3a2 2 0 0 0-2-2zM5 5H3.36a1.5 1.5 0 0 0-1.483 1.277L.85 13.13A2.5 2.5 0 0 0 3.322 16h9.355a2.5 2.5 0 0 0 2.473-2.87l-1.028-6.853A1.5 1.5 0 0 0 12.64 5H11v1.5a.5.5 0 0 1-1 0V5H6v1.5a.5.5 0 0 1-1 0V5z\"}}]})(props);\n};\nexport function BsFillHddFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 10a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-1zm2.5 1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zm2 0a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zM.91 7.204A2.993 2.993 0 0 1 2 7h12c.384 0 .752.072 1.09.204l-1.867-3.422A1.5 1.5 0 0 0 11.906 3H4.094a1.5 1.5 0 0 0-1.317.782L.91 7.204z\"}}]})(props);\n};\nexport function BsFillHddNetworkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h5.5v3A1.5 1.5 0 0 0 6 11.5H.5a.5.5 0 0 0 0 1H6A1.5 1.5 0 0 0 7.5 14h1a1.5 1.5 0 0 0 1.5-1.5h5.5a.5.5 0 0 0 0-1H10A1.5 1.5 0 0 0 8.5 10V7H14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm.5 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1z\"}}]})(props);\n};\nexport function BsFillHddRackFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h1v2H2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2h-1V7h1a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm.5 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm-2 7a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zM12 7v2H4V7h8z\"}}]})(props);\n};\nexport function BsFillHddStackFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 9a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2H2zm.5 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zM2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm.5 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1z\"}}]})(props);\n};\nexport function BsFillHeartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 1.314C12.438-3.248 23.534 4.735 8 15-7.534 4.736 3.562-3.248 8 1.314z\"}}]})(props);\n};\nexport function BsFillHeptagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.779.052a.5.5 0 0 1 .442 0l6.015 2.97a.5.5 0 0 1 .267.34l1.485 6.676a.5.5 0 0 1-.093.415l-4.162 5.354a.5.5 0 0 1-.395.193H4.662a.5.5 0 0 1-.395-.193L.105 10.453a.5.5 0 0 1-.093-.415l1.485-6.676a.5.5 0 0 1 .267-.34L7.779.053z\"}}]})(props);\n};\nexport function BsFillHexagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.5.134a1 1 0 0 0-1 0l-6 3.577a1 1 0 0 0-.5.866v6.846a1 1 0 0 0 .5.866l6 3.577a1 1 0 0 0 1 0l6-3.577a1 1 0 0 0 .5-.866V4.577a1 1 0 0 0-.5-.866L8.5.134z\"}}]})(props);\n};\nexport function BsFillHouseDoorFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5z\"}}]})(props);\n};\nexport function BsFillHouseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"m8 3.293 6 6V13.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5V9.293l6-6zm5-.793V6l-2-2V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.293 1.5a1 1 0 0 1 1.414 0l6.647 6.646a.5.5 0 0 1-.708.708L8 2.207 1.354 8.854a.5.5 0 1 1-.708-.708L7.293 1.5z\"}}]})(props);\n};\nexport function BsFillImageFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.002 3a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-12a2 2 0 0 1-2-2V3zm1 9v1a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9.5l-3.777-1.947a.5.5 0 0 0-.577.093l-3.71 3.71-2.66-1.772a.5.5 0 0 0-.63.062L1.002 12zm5-6.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0z\"}}]})(props);\n};\nexport function BsFillInboxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.98 4a.5.5 0 0 0-.39.188L1.54 8H6a.5.5 0 0 1 .5.5 1.5 1.5 0 1 0 3 0A.5.5 0 0 1 10 8h4.46l-3.05-3.812A.5.5 0 0 0 11.02 4H4.98zm-1.17-.437A1.5 1.5 0 0 1 4.98 3h6.04a1.5 1.5 0 0 1 1.17.563l3.7 4.625a.5.5 0 0 1 .106.374l-.39 3.124A1.5 1.5 0 0 1 14.117 13H1.883a1.5 1.5 0 0 1-1.489-1.314l-.39-3.124a.5.5 0 0 1 .106-.374l3.7-4.625z\"}}]})(props);\n};\nexport function BsFillInboxesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.98 1a.5.5 0 0 0-.39.188L1.54 5H6a.5.5 0 0 1 .5.5 1.5 1.5 0 0 0 3 0A.5.5 0 0 1 10 5h4.46l-3.05-3.812A.5.5 0 0 0 11.02 1H4.98zM3.81.563A1.5 1.5 0 0 1 4.98 0h6.04a1.5 1.5 0 0 1 1.17.563l3.7 4.625a.5.5 0 0 1 .106.374l-.39 3.124A1.5 1.5 0 0 1 14.117 10H1.883A1.5 1.5 0 0 1 .394 8.686l-.39-3.124a.5.5 0 0 1 .106-.374L3.81.563zM.125 11.17A.5.5 0 0 1 .5 11H6a.5.5 0 0 1 .5.5 1.5 1.5 0 0 0 3 0 .5.5 0 0 1 .5-.5h5.5a.5.5 0 0 1 .496.562l-.39 3.124A1.5 1.5 0 0 1 14.117 16H1.883a1.5 1.5 0 0 1-1.489-1.314l-.39-3.124a.5.5 0 0 1 .121-.393z\"}}]})(props);\n};\nexport function BsFillInfoCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BsFillInfoSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm8.93 4.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM8 5.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsFillJournalBookmarkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 1h6v7a.5.5 0 0 1-.757.429L9 7.083 6.757 8.43A.5.5 0 0 1 6 8V1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsFillKanbanFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2h-11zm5 2h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm-5 1a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3zm9-1h1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFillKeyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 11.5a3.5 3.5 0 1 1 3.163-5H14L15.5 8 14 9.5l-1-1-1 1-1-1-1 1-1-1-1 1H6.663a3.5 3.5 0 0 1-3.163 2zM2.5 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsFillKeyboardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6zm13 .25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM2.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 8.75v-.5A.25.25 0 0 0 2.75 8h-.5zM4 8.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 8.75v-.5A.25.25 0 0 0 4.75 8h-.5a.25.25 0 0 0-.25.25zM6.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 7 8.75v-.5A.25.25 0 0 0 6.75 8h-.5zM8 8.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 9 8.75v-.5A.25.25 0 0 0 8.75 8h-.5a.25.25 0 0 0-.25.25zM13.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zm0 2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zm-3-2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-1.5zm.75 2.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM11.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zM9 6.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5A.25.25 0 0 0 9.75 6h-.5a.25.25 0 0 0-.25.25zM7.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 8 6.75v-.5A.25.25 0 0 0 7.75 6h-.5zM5 6.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 6.75v-.5A.25.25 0 0 0 5.75 6h-.5a.25.25 0 0 0-.25.25zM2.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5A.25.25 0 0 0 4 6.75v-.5A.25.25 0 0 0 3.75 6h-1.5zM2 10.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM4.25 10a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h5.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-5.5z\"}}]})(props);\n};\nexport function BsFillLampFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3zm5.5-2 .276-.553a.25.25 0 0 1 .448 0L8.5 1h-1zm-.615 8h2.23C9.968 10.595 11 12.69 11 13.5c0 1.38-1.343 2.5-3 2.5s-3-1.12-3-2.5c0-.81 1.032-2.905 1.885-4.5z\"}}]})(props);\n};\nexport function BsFillLaptopFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 2A1.5 1.5 0 0 0 1 3.5V12h14V3.5A1.5 1.5 0 0 0 13.5 2h-11zM0 12.5h16a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5z\"}}]})(props);\n};\nexport function BsFillLayersFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.765 1.559a.5.5 0 0 1 .47 0l7.5 4a.5.5 0 0 1 0 .882l-7.5 4a.5.5 0 0 1-.47 0l-7.5-4a.5.5 0 0 1 0-.882l7.5-4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2.125 8.567-1.86.992a.5.5 0 0 0 0 .882l7.5 4a.5.5 0 0 0 .47 0l7.5-4a.5.5 0 0 0 0-.882l-1.86-.992-5.17 2.756a1.5 1.5 0 0 1-1.41 0l-5.17-2.756z\"}}]})(props);\n};\nexport function BsFillLightbulbFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6a6 6 0 1 1 10.174 4.31c-.203.196-.359.4-.453.619l-.762 1.769A.5.5 0 0 1 10.5 13h-5a.5.5 0 0 1-.46-.302l-.761-1.77a1.964 1.964 0 0 0-.453-.618A5.984 5.984 0 0 1 2 6zm3 8.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1l-.224.447a1 1 0 0 1-.894.553H6.618a1 1 0 0 1-.894-.553L5.5 15a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillLightbulbOffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6c0-.572.08-1.125.23-1.65l8.558 8.559A.5.5 0 0 1 10.5 13h-5a.5.5 0 0 1-.46-.302l-.761-1.77a1.964 1.964 0 0 0-.453-.618A5.984 5.984 0 0 1 2 6zm10.303 4.181L3.818 1.697a6 6 0 0 1 8.484 8.484zM5 14.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1l-.224.447a1 1 0 0 1-.894.553H6.618a1 1 0 0 1-.894-.553L5.5 15a.5.5 0 0 1-.5-.5zM2.354 1.646a.5.5 0 1 0-.708.708l12 12a.5.5 0 0 0 .708-.708l-12-12z\"}}]})(props);\n};\nexport function BsFillLightningChargeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.251.068a.5.5 0 0 1 .227.58L9.677 6.5H13a.5.5 0 0 1 .364.843l-8 8.5a.5.5 0 0 1-.842-.49L6.323 9.5H3a.5.5 0 0 1-.364-.843l8-8.5a.5.5 0 0 1 .615-.09z\"}}]})(props);\n};\nexport function BsFillLightningFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.52.359A.5.5 0 0 1 6 0h4a.5.5 0 0 1 .474.658L8.694 6H12.5a.5.5 0 0 1 .395.807l-7 9a.5.5 0 0 1-.873-.454L6.823 9.5H3.5a.5.5 0 0 1-.48-.641l2.5-8.5z\"}}]})(props);\n};\nexport function BsFillLockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2z\"}}]})(props);\n};\nexport function BsFillMapFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16 .5a.5.5 0 0 0-.598-.49L10.5.99 5.598.01a.5.5 0 0 0-.196 0l-5 1A.5.5 0 0 0 0 1.5v14a.5.5 0 0 0 .598.49l4.902-.98 4.902.98a.502.502 0 0 0 .196 0l5-1A.5.5 0 0 0 16 14.5V.5zM5 14.09V1.11l.5-.1.5.1v12.98l-.402-.08a.498.498 0 0 0-.196 0L5 14.09zm5 .8V1.91l.402.08a.5.5 0 0 0 .196 0L11 1.91v12.98l-.5.1-.5-.1z\"}}]})(props);\n};\nexport function BsFillMarkdownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm11.5 1a.5.5 0 0 0-.5.5v3.793L9.854 8.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0-.708-.708L12 9.293V5.5a.5.5 0 0 0-.5-.5zM3.56 7.01h.056l1.428 3.239h.774l1.42-3.24h.056V11h1.073V5.001h-1.2l-1.71 3.894h-.039l-1.71-3.894H2.5V11h1.06V7.01z\"}}]})(props);\n};\nexport function BsFillMegaphoneFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 2.5a1.5 1.5 0 0 1 3 0v11a1.5 1.5 0 0 1-3 0v-11zm-1 .724c-2.067.95-4.539 1.481-7 1.656v6.237a25.222 25.222 0 0 1 1.088.085c2.053.204 4.038.668 5.912 1.56V3.224zm-8 7.841V4.934c-.68.027-1.399.043-2.008.053A2.02 2.02 0 0 0 0 7v2c0 1.106.896 1.996 1.994 2.009a68.14 68.14 0 0 1 .496.008 64 64 0 0 1 1.51.048zm1.39 1.081c.285.021.569.047.85.078l.253 1.69a1 1 0 0 1-.983 1.187h-.548a1 1 0 0 1-.916-.599l-1.314-2.48a65.81 65.81 0 0 1 1.692.064c.327.017.65.037.966.06z\"}}]})(props);\n};\nexport function BsFillMenuAppFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A1.5 1.5 0 0 1 1.5 0h2A1.5 1.5 0 0 1 5 1.5v2A1.5 1.5 0 0 1 3.5 5h-2A1.5 1.5 0 0 1 0 3.5v-2zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillMenuButtonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 0A1.5 1.5 0 0 0 0 1.5v2A1.5 1.5 0 0 0 1.5 5h8A1.5 1.5 0 0 0 11 3.5v-2A1.5 1.5 0 0 0 9.5 0h-8zm5.927 2.427A.25.25 0 0 1 7.604 2h.792a.25.25 0 0 1 .177.427l-.396.396a.25.25 0 0 1-.354 0l-.396-.396zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillMenuButtonWideFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 0A1.5 1.5 0 0 0 0 1.5v2A1.5 1.5 0 0 0 1.5 5h13A1.5 1.5 0 0 0 16 3.5v-2A1.5 1.5 0 0 0 14.5 0h-13zm1 2h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1zm9.927.427A.25.25 0 0 1 12.604 2h.792a.25.25 0 0 1 .177.427l-.396.396a.25.25 0 0 1-.354 0l-.396-.396zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillMicFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3a3 3 0 0 1 6 0v5a3 3 0 0 1-6 0V3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 6.5A.5.5 0 0 1 4 7v1a4 4 0 0 0 8 0V7a.5.5 0 0 1 1 0v1a5 5 0 0 1-4.5 4.975V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillMicMuteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 8c0 .564-.094 1.107-.266 1.613l-.814-.814A4.02 4.02 0 0 0 12 8V7a.5.5 0 0 1 1 0v1zm-5 4c.818 0 1.578-.245 2.212-.667l.718.719a4.973 4.973 0 0 1-2.43.923V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 1 0v1a4 4 0 0 0 4 4zm3-9v4.879L5.158 2.037A3.001 3.001 0 0 1 11 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.486 10.607 5 6.12V8a3 3 0 0 0 4.486 2.607zm-7.84-9.253 12 12 .708-.708-12-12-.708.708z\"}}]})(props);\n};\nexport function BsFillMoonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278z\"}}]})(props);\n};\nexport function BsFillMoonStarsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.794 3.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387a1.734 1.734 0 0 0-1.097 1.097l-.387 1.162a.217.217 0 0 1-.412 0l-.387-1.162A1.734 1.734 0 0 0 9.31 6.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387a1.734 1.734 0 0 0 1.097-1.097l.387-1.162zM13.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.156 1.156 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.156 1.156 0 0 0-.732-.732l-.774-.258a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732L13.863.1z\"}}]})(props);\n};\nexport function BsFillMouseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5a5 5 0 0 1 10 0v6a5 5 0 0 1-10 0V5zm5.5-1.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 1 0v-2z\"}}]})(props);\n};\nexport function BsFillMouse2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5.026C4.958.286 3 2.515 3 5.188V5.5h4.5V.026zm1 0V5.5H13v-.312C13 2.515 11.042.286 8.5.026zM13 6.5H3v4.313C3 13.658 5.22 16 8 16s5-2.342 5-5.188V6.5z\"}}]})(props);\n};\nexport function BsFillMouse3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5.069A15.328 15.328 0 0 0 7 0c-.593 0-1.104.157-1.527.463-.418.302-.717.726-.93 1.208-.386.873-.522 2.01-.54 3.206l4.497 1V.069zM3.71 5.836 3.381 6A2.5 2.5 0 0 0 2 8.236v2.576C2 13.659 4.22 16 7 16h2c2.78 0 5-2.342 5-5.188V8.123l-9-2v.003l.008.353c.007.3.023.715.053 1.175.063.937.186 2.005.413 2.688a.5.5 0 1 1-.948.316c-.273-.817-.4-2-.462-2.937A30.16 30.16 0 0 1 4 6.003c0-.034.003-.067.01-.1l-.3-.067zM14 7.1V5.187c0-1.13-.272-2.044-.748-2.772-.474-.726-1.13-1.235-1.849-1.59A7.495 7.495 0 0 0 9.5.212v5.887l4.5 1z\"}}]})(props);\n};\nexport function BsFillMusicPlayerFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm1 2h6a1 1 0 0 1 1 1v2.5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm3 12a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]})(props);\n};\nexport function BsFillNodeMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16 8a5 5 0 0 1-9.975.5H4A1.5 1.5 0 0 1 2.5 10h-1A1.5 1.5 0 0 1 0 8.5v-1A1.5 1.5 0 0 1 1.5 6h1A1.5 1.5 0 0 1 4 7.5h2.025A5 5 0 0 1 16 8zm-2 0a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5A.5.5 0 0 0 14 8z\"}}]})(props);\n};\nexport function BsFillNodePlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 13a5 5 0 1 0-4.975-5.5H4A1.5 1.5 0 0 0 2.5 6h-1A1.5 1.5 0 0 0 0 7.5v1A1.5 1.5 0 0 0 1.5 10h1A1.5 1.5 0 0 0 4 8.5h2.025A5 5 0 0 0 11 13zm.5-7.5v2h2a.5.5 0 0 1 0 1h-2v2a.5.5 0 0 1-1 0v-2h-2a.5.5 0 0 1 0-1h2v-2a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillNutFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.58 1a1 1 0 0 0-.868.504l-3.428 6a1 1 0 0 0 0 .992l3.428 6A1 1 0 0 0 4.58 15h6.84a1 1 0 0 0 .868-.504l3.429-6a1 1 0 0 0 0-.992l-3.429-6A1 1 0 0 0 11.42 1H4.58zm5.018 9.696a3 3 0 1 1-3-5.196 3 3 0 0 1 3 5.196z\"}}]})(props);\n};\nexport function BsFillOctagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.107 0a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146A.5.5 0 0 1 4.893 0h6.214z\"}}]})(props);\n};\nexport function BsFillPaletteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.433 10.07C14.133 10.585 16 11.15 16 8a8 8 0 1 0-8 8c1.996 0 1.826-1.504 1.649-3.08-.124-1.101-.252-2.237.351-2.92.465-.527 1.42-.237 2.433.07zM8 5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm4.5 3a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM5 6.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm.5 6.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsFillPatchCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zm.287 5.984-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFillPatchExclamationFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zM8 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsFillPatchMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zM6 7.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillPatchPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zM8.5 6v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillPatchQuestionFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.933.87a2.89 2.89 0 0 1 4.134 0l.622.638.89-.011a2.89 2.89 0 0 1 2.924 2.924l-.01.89.636.622a2.89 2.89 0 0 1 0 4.134l-.637.622.011.89a2.89 2.89 0 0 1-2.924 2.924l-.89-.01-.622.636a2.89 2.89 0 0 1-4.134 0l-.622-.637-.89.011a2.89 2.89 0 0 1-2.924-2.924l.01-.89-.636-.622a2.89 2.89 0 0 1 0-4.134l.637-.622-.011-.89a2.89 2.89 0 0 1 2.924-2.924l.89.01.622-.636zM7.002 11a1 1 0 1 0 2 0 1 1 0 0 0-2 0zm1.602-2.027c.04-.534.198-.815.846-1.26.674-.475 1.05-1.09 1.05-1.986 0-1.325-.92-2.227-2.262-2.227-1.02 0-1.792.492-2.1 1.29A1.71 1.71 0 0 0 6 5.48c0 .393.203.64.545.64.272 0 .455-.147.564-.51.158-.592.525-.915 1.074-.915.61 0 1.03.446 1.03 1.084 0 .563-.208.885-.822 1.325-.619.433-.926.914-.926 1.64v.111c0 .428.208.745.585.745.336 0 .504-.24.554-.627z\"}}]})(props);\n};\nexport function BsFillPauseBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm6.25-7C5.56 5 5 5.56 5 6.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C7.5 5.56 6.94 5 6.25 5zm3.5 0c-.69 0-1.25.56-1.25 1.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C11 5.56 10.44 5 9.75 5z\"}}]})(props);\n};\nexport function BsFillPauseCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.25 5C5.56 5 5 5.56 5 6.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C7.5 5.56 6.94 5 6.25 5zm3.5 0c-.69 0-1.25.56-1.25 1.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C11 5.56 10.44 5 9.75 5z\"}}]})(props);\n};\nexport function BsFillPauseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 3.5A1.5 1.5 0 0 1 7 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5zm5 0A1.5 1.5 0 0 1 12 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5z\"}}]})(props);\n};\nexport function BsFillPeaceFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 13.292A8 8 0 0 0 8.5.015v7.778l5.5 5.5zm-.708.708L8.5 9.206v6.778a7.967 7.967 0 0 0 4.792-1.986zM7.5 15.985V9.207L2.708 14A7.967 7.967 0 0 0 7.5 15.985zM2 13.292A8 8 0 0 1 7.5.015v7.778l-5.5 5.5z\"}}]})(props);\n};\nexport function BsFillPenFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m13.498.795.149-.149a1.207 1.207 0 1 1 1.707 1.708l-.149.148a1.5 1.5 0 0 1-.059 2.059L4.854 14.854a.5.5 0 0 1-.233.131l-4 1a.5.5 0 0 1-.606-.606l1-4a.5.5 0 0 1 .131-.232l9.642-9.642a.5.5 0 0 0-.642.056L6.854 4.854a.5.5 0 1 1-.708-.708L9.44.854A1.5 1.5 0 0 1 11.5.796a1.5 1.5 0 0 1 1.998-.001z\"}}]})(props);\n};\nexport function BsFillPencilFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.854.146a.5.5 0 0 0-.707 0L10.5 1.793 14.207 5.5l1.647-1.646a.5.5 0 0 0 0-.708l-3-3zm.646 6.061L9.793 2.5 3.293 9H3.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.207l6.5-6.5zm-7.468 7.468A.5.5 0 0 1 6 13.5V13h-.5a.5.5 0 0 1-.5-.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.5-.5V10h-.5a.499.499 0 0 1-.175-.032l-.179.178a.5.5 0 0 0-.11.168l-2 5a.5.5 0 0 0 .65.65l5-2a.5.5 0 0 0 .168-.11l.178-.178z\"}}]})(props);\n};\nexport function BsFillPentagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 0 8 6.5-3 9.5H3L0 6.5 8 0z\"}}]})(props);\n};\nexport function BsFillPeopleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 14s-1 0-1-1 1-4 5-4 5 3 5 4-1 1-1 1H7zm4-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.216 14A2.238 2.238 0 0 1 5 13c0-1.355.68-2.75 1.936-3.72A6.325 6.325 0 0 0 5 9c-4 0-5 3-5 4s1 1 1 1h4.216z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 8a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5z\"}}]})(props);\n};\nexport function BsFillPersonBadgeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm4.5 0a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM8 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm5 2.755C12.146 12.825 10.623 12 8 12s-4.146.826-5 1.755V14a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-.245z\"}}]})(props);\n};\nexport function BsFillPersonCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.854 5.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L12.5 7.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsFillPersonDashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11 7.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsFillPersonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsFillPersonLinesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-5 6s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zM11 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5zm.5 2.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4zm2 3a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2zm0 3a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2z\"}}]})(props);\n};\nexport function BsFillPersonPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M13.5 5a.5.5 0 0 1 .5.5V7h1.5a.5.5 0 0 1 0 1H14v1.5a.5.5 0 0 1-1 0V8h-1.5a.5.5 0 0 1 0-1H13V5.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillPersonXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm6.146-2.854a.5.5 0 0 1 .708 0L14 6.293l1.146-1.147a.5.5 0 0 1 .708.708L14.707 7l1.147 1.146a.5.5 0 0 1-.708.708L14 7.707l-1.146 1.147a.5.5 0 0 1-.708-.708L13.293 7l-1.147-1.146a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsFillPhoneFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V2zm6 11a1 1 0 1 0-2 0 1 1 0 0 0 2 0z\"}}]})(props);\n};\nexport function BsFillPhoneLandscapeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12.5a2 2 0 0 1-2-2v-6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H2zm11-6a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsFillPhoneVibrateFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4zm5 7a1 1 0 1 0-2 0 1 1 0 0 0 2 0zM1.807 4.734a.5.5 0 1 0-.884-.468A7.967 7.967 0 0 0 0 8c0 1.347.334 2.618.923 3.734a.5.5 0 1 0 .884-.468A6.967 6.967 0 0 1 1 8c0-1.18.292-2.292.807-3.266zm13.27-.468a.5.5 0 0 0-.884.468C14.708 5.708 15 6.819 15 8c0 1.18-.292 2.292-.807 3.266a.5.5 0 0 0 .884.468A7.967 7.967 0 0 0 16 8a7.967 7.967 0 0 0-.923-3.734zM3.34 6.182a.5.5 0 1 0-.93-.364A5.986 5.986 0 0 0 2 8c0 .769.145 1.505.41 2.182a.5.5 0 1 0 .93-.364A4.986 4.986 0 0 1 3 8c0-.642.12-1.255.34-1.818zm10.25-.364a.5.5 0 0 0-.93.364c.22.563.34 1.176.34 1.818 0 .642-.12 1.255-.34 1.818a.5.5 0 0 0 .93.364C13.856 9.505 14 8.769 14 8c0-.769-.145-1.505-.41-2.182z\"}}]})(props);\n};\nexport function BsFillPieChartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.985 8.5H8.207l-5.5 5.5a8 8 0 0 0 13.277-5.5zM2 13.292A8 8 0 0 1 7.5.015v7.778l-5.5 5.5zM8.5.015V7.5h7.485A8.001 8.001 0 0 0 8.5.015z\"}}]})(props);\n};\nexport function BsFillPiggyBankFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.964 1.527c-2.977 0-5.571 1.704-6.32 4.125h-.55A1 1 0 0 0 .11 6.824l.254 1.46a1.5 1.5 0 0 0 1.478 1.243h.263c.3.513.688.978 1.145 1.382l-.729 2.477a.5.5 0 0 0 .48.641h2a.5.5 0 0 0 .471-.332l.482-1.351c.635.173 1.31.267 2.011.267.707 0 1.388-.095 2.028-.272l.543 1.372a.5.5 0 0 0 .465.316h2a.5.5 0 0 0 .478-.645l-.761-2.506C13.81 9.895 14.5 8.559 14.5 7.069c0-.145-.007-.29-.02-.431.261-.11.508-.266.705-.444.315.306.815.306.815-.417 0 .223-.5.223-.461-.026a.95.95 0 0 0 .09-.255.7.7 0 0 0-.202-.645.58.58 0 0 0-.707-.098.735.735 0 0 0-.375.562c-.024.243.082.48.32.654a2.112 2.112 0 0 1-.259.153c-.534-2.664-3.284-4.595-6.442-4.595zm7.173 3.876a.565.565 0 0 1-.098.21.704.704 0 0 1-.044-.025c-.146-.09-.157-.175-.152-.223a.236.236 0 0 1 .117-.173c.049-.027.08-.021.113.012a.202.202 0 0 1 .064.199zm-8.999-.65A6.613 6.613 0 0 1 7.964 4.5c.666 0 1.303.097 1.893.273a.5.5 0 1 0 .286-.958A7.601 7.601 0 0 0 7.964 3.5c-.734 0-1.441.103-2.102.292a.5.5 0 1 0 .276.962zM5 6.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0z\"}}]})(props);\n};\nexport function BsFillPinAngleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146z\"}}]})(props);\n};\nexport function BsFillPinFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.146.146A.5.5 0 0 1 4.5 0h7a.5.5 0 0 1 .5.5c0 .68-.342 1.174-.646 1.479-.126.125-.25.224-.354.298v4.431l.078.048c.203.127.476.314.751.555C12.36 7.775 13 8.527 13 9.5a.5.5 0 0 1-.5.5h-4v4.5c0 .276-.224 1.5-.5 1.5s-.5-1.224-.5-1.5V10h-4a.5.5 0 0 1-.5-.5c0-.973.64-1.725 1.17-2.189A5.921 5.921 0 0 1 5 6.708V2.277a2.77 2.77 0 0 1-.354-.298C4.342 1.674 4 1.179 4 .5a.5.5 0 0 1 .146-.354z\"}}]})(props);\n};\nexport function BsFillPinMapFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.1 11.2a.5.5 0 0 1 .4-.2H6a.5.5 0 0 1 0 1H3.75L1.5 15h13l-2.25-3H10a.5.5 0 0 1 0-1h2.5a.5.5 0 0 1 .4.2l3 4a.5.5 0 0 1-.4.8H.5a.5.5 0 0 1-.4-.8l3-4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 4a4 4 0 1 1 4.5 3.969V13.5a.5.5 0 0 1-1 0V7.97A4 4 0 0 1 4 3.999z\"}}]})(props);\n};\nexport function BsFillPipFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13zm7 6h5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillPlayBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm6.79-6.907A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407l3.5-2.5a.5.5 0 0 0 0-.814l-3.5-2.5z\"}}]})(props);\n};\nexport function BsFillPlayCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.79 5.093A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407l3.5-2.5a.5.5 0 0 0 0-.814l-3.5-2.5z\"}}]})(props);\n};\nexport function BsFillPlayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11.596 8.697-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393z\"}}]})(props);\n};\nexport function BsFillPlugFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 0a.5.5 0 0 1 .5.5V3h3V.5a.5.5 0 0 1 1 0V3h1a.5.5 0 0 1 .5.5v3A3.5 3.5 0 0 1 8.5 10c-.002.434-.01.845-.04 1.22-.041.514-.126 1.003-.317 1.424a2.083 2.083 0 0 1-.97 1.028C6.725 13.9 6.169 14 5.5 14c-.998 0-1.61.33-1.974.718A1.922 1.922 0 0 0 3 16H2c0-.616.232-1.367.797-1.968C3.374 13.42 4.261 13 5.5 13c.581 0 .962-.088 1.218-.219.241-.123.4-.3.514-.55.121-.266.193-.621.23-1.09.027-.34.035-.718.037-1.141A3.5 3.5 0 0 1 4 6.5v-3a.5.5 0 0 1 .5-.5h1V.5A.5.5 0 0 1 6 0z\"}}]})(props);\n};\nexport function BsFillPlusCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v3h-3a.5.5 0 0 0 0 1h3v3a.5.5 0 0 0 1 0v-3h3a.5.5 0 0 0 0-1h-3v-3z\"}}]})(props);\n};\nexport function BsFillPlusSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillPrinterFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 1a2 2 0 0 0-2 2v1h10V3a2 2 0 0 0-2-2H5zm6 8H5a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-1v-2a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2H2a2 2 0 0 1-2-2V7zm2.5 1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1z\"}}]})(props);\n};\nexport function BsFillPuzzleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.112 3.645A1.5 1.5 0 0 1 4.605 2H7a.5.5 0 0 1 .5.5v.382c0 .696-.497 1.182-.872 1.469a.459.459 0 0 0-.115.118.113.113 0 0 0-.012.025L6.5 4.5v.003l.003.01c.004.01.014.028.036.053a.86.86 0 0 0 .27.194C7.09 4.9 7.51 5 8 5c.492 0 .912-.1 1.19-.24a.86.86 0 0 0 .271-.194.213.213 0 0 0 .036-.054l.003-.01v-.008a.112.112 0 0 0-.012-.025.459.459 0 0 0-.115-.118c-.375-.287-.872-.773-.872-1.469V2.5A.5.5 0 0 1 9 2h2.395a1.5 1.5 0 0 1 1.493 1.645L12.645 6.5h.237c.195 0 .42-.147.675-.48.21-.274.528-.52.943-.52.568 0 .947.447 1.154.862C15.877 6.807 16 7.387 16 8s-.123 1.193-.346 1.638c-.207.415-.586.862-1.154.862-.415 0-.733-.246-.943-.52-.255-.333-.48-.48-.675-.48h-.237l.243 2.855A1.5 1.5 0 0 1 11.395 14H9a.5.5 0 0 1-.5-.5v-.382c0-.696.497-1.182.872-1.469a.459.459 0 0 0 .115-.118.113.113 0 0 0 .012-.025L9.5 11.5v-.003l-.003-.01a.214.214 0 0 0-.036-.053.859.859 0 0 0-.27-.194C8.91 11.1 8.49 11 8 11c-.491 0-.912.1-1.19.24a.859.859 0 0 0-.271.194.214.214 0 0 0-.036.054l-.003.01v.002l.001.006a.113.113 0 0 0 .012.025c.016.027.05.068.115.118.375.287.872.773.872 1.469v.382a.5.5 0 0 1-.5.5H4.605a1.5 1.5 0 0 1-1.493-1.645L3.356 9.5h-.238c-.195 0-.42.147-.675.48-.21.274-.528.52-.943.52-.568 0-.947-.447-1.154-.862C.123 9.193 0 8.613 0 8s.123-1.193.346-1.638C.553 5.947.932 5.5 1.5 5.5c.415 0 .733.246.943.52.255.333.48.48.675.48h.238l-.244-2.855z\"}}]})(props);\n};\nexport function BsFillQuestionCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.496 6.033h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286a.237.237 0 0 0 .241.247zm2.325 6.443c.61 0 1.029-.394 1.029-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94 0 .533.425.927 1.01.927z\"}}]})(props);\n};\nexport function BsFillQuestionDiamondFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435zM5.495 6.033a.237.237 0 0 1-.24-.247C5.35 4.091 6.737 3.5 8.005 3.5c1.396 0 2.672.73 2.672 2.24 0 1.08-.635 1.594-1.244 2.057-.737.559-1.01.768-1.01 1.486v.105a.25.25 0 0 1-.25.25h-.81a.25.25 0 0 1-.25-.246l-.004-.217c-.038-.927.495-1.498 1.168-1.987.59-.444.965-.736.965-1.371 0-.825-.628-1.168-1.314-1.168-.803 0-1.253.478-1.342 1.134-.018.137-.128.25-.266.25h-.825zm2.325 6.443c-.584 0-1.009-.394-1.009-.927 0-.552.425-.94 1.01-.94.609 0 1.028.388 1.028.94 0 .533-.42.927-1.029.927z\"}}]})(props);\n};\nexport function BsFillQuestionOctagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.46.146A.5.5 0 0 0 11.107 0H4.893a.5.5 0 0 0-.353.146L.146 4.54A.5.5 0 0 0 0 4.893v6.214a.5.5 0 0 0 .146.353l4.394 4.394a.5.5 0 0 0 .353.146h6.214a.5.5 0 0 0 .353-.146l4.394-4.394a.5.5 0 0 0 .146-.353V4.893a.5.5 0 0 0-.146-.353L11.46.146zM5.496 6.033a.237.237 0 0 1-.24-.247C5.35 4.091 6.737 3.5 8.005 3.5c1.396 0 2.672.73 2.672 2.24 0 1.08-.635 1.594-1.244 2.057-.737.559-1.01.768-1.01 1.486v.105a.25.25 0 0 1-.25.25h-.81a.25.25 0 0 1-.25-.246l-.004-.217c-.038-.927.495-1.498 1.168-1.987.59-.444.965-.736.965-1.371 0-.825-.628-1.168-1.314-1.168-.803 0-1.253.478-1.342 1.134-.018.137-.128.25-.266.25h-.825zm2.325 6.443c-.584 0-1.009-.394-1.009-.927 0-.552.425-.94 1.01-.94.609 0 1.028.388 1.028.94 0 .533-.42.927-1.029.927z\"}}]})(props);\n};\nexport function BsFillQuestionSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm3.496 6.033a.237.237 0 0 1-.24-.247C5.35 4.091 6.737 3.5 8.005 3.5c1.396 0 2.672.73 2.672 2.24 0 1.08-.635 1.594-1.244 2.057-.737.559-1.01.768-1.01 1.486v.105a.25.25 0 0 1-.25.25h-.81a.25.25 0 0 1-.25-.246l-.004-.217c-.038-.927.495-1.498 1.168-1.987.59-.444.965-.736.965-1.371 0-.825-.628-1.168-1.314-1.168-.803 0-1.253.478-1.342 1.134-.018.137-.128.25-.266.25h-.825zm2.325 6.443c-.584 0-1.009-.394-1.009-.927 0-.552.425-.94 1.01-.94.609 0 1.028.388 1.028.94 0 .533-.42.927-1.029.927z\"}}]})(props);\n};\nexport function BsFillRecordBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm8-1a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsFillRecordCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-8 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsFillRecordFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 13A5 5 0 1 0 8 3a5 5 0 0 0 0 10z\"}}]})(props);\n};\nexport function BsFillRecord2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13A5 5 0 1 0 8 3a5 5 0 0 0 0 10zm0-2a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]})(props);\n};\nexport function BsFillReplyAllFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.021 11.9 3.453 8.62a.719.719 0 0 1 0-1.238L8.021 4.1a.716.716 0 0 1 1.079.619V6c1.5 0 6 0 7 8-2.5-4.5-7-4-7-4v1.281c0 .56-.606.898-1.079.62z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.232 4.293a.5.5 0 0 1-.106.7L1.114 7.945a.5.5 0 0 1-.042.028.147.147 0 0 0 0 .252.503.503 0 0 1 .042.028l4.012 2.954a.5.5 0 1 1-.593.805L.539 9.073a1.147 1.147 0 0 1 0-1.946l3.994-2.94a.5.5 0 0 1 .699.106z\"}}]})(props);\n};\nexport function BsFillReplyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.921 11.9 1.353 8.62a.719.719 0 0 1 0-1.238L5.921 4.1A.716.716 0 0 1 7 4.719V6c1.5 0 6 0 7 8-2.5-4.5-7-4-7-4v1.281c0 .56-.606.898-1.079.62z\"}}]})(props);\n};\nexport function BsFillRssFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm1.5 2.5c5.523 0 10 4.477 10 10a1 1 0 1 1-2 0 8 8 0 0 0-8-8 1 1 0 0 1 0-2zm0 4a6 6 0 0 1 6 6 1 1 0 1 1-2 0 4 4 0 0 0-4-4 1 1 0 0 1 0-2zm.5 7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsFillSafeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.778 9.414A2 2 0 1 1 6.95 6.586a2 2 0 0 1 2.828 2.828z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 0A1.5 1.5 0 0 0 1 1.5V3H.5a.5.5 0 0 0 0 1H1v3.5H.5a.5.5 0 0 0 0 1H1V12H.5a.5.5 0 0 0 0 1H1v1.5A1.5 1.5 0 0 0 2.5 16h12a1.5 1.5 0 0 0 1.5-1.5v-13A1.5 1.5 0 0 0 14.5 0h-12zm3.036 4.464 1.09 1.09a3.003 3.003 0 0 1 3.476 0l1.09-1.09a.5.5 0 1 1 .707.708l-1.09 1.09c.74 1.037.74 2.44 0 3.476l1.09 1.09a.5.5 0 1 1-.707.708l-1.09-1.09a3.002 3.002 0 0 1-3.476 0l-1.09 1.09a.5.5 0 1 1-.708-.708l1.09-1.09a3.003 3.003 0 0 1 0-3.476l-1.09-1.09a.5.5 0 1 1 .708-.708zM14 6.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillSafe2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.563 8H5.035a3.482 3.482 0 0 1 .662-1.596l1.08 1.08c-.094.16-.167.332-.214.516zm.921-1.223-1.08-1.08A3.482 3.482 0 0 1 8 5.035v1.528c-.184.047-.357.12-.516.214zM9 6.563V5.035a3.482 3.482 0 0 1 1.596.662l-1.08 1.08A1.988 1.988 0 0 0 9 6.563zm1.223.921 1.08-1.08c.343.458.577 1.003.662 1.596h-1.528a1.989 1.989 0 0 0-.214-.516zM10.437 9h1.528a3.483 3.483 0 0 1-.662 1.596l-1.08-1.08c.094-.16.167-.332.214-.516zm-.921 1.223 1.08 1.08A3.483 3.483 0 0 1 9 11.965v-1.528c.184-.047.357-.12.516-.214zM8 10.437v1.528a3.483 3.483 0 0 1-1.596-.662l1.08-1.08c.16.094.332.167.516.214zm-1.223-.921-1.08 1.08A3.482 3.482 0 0 1 5.035 9h1.528c.047.184.12.357.214.516zM7.5 8.5a1 1 0 1 1 2 0 1 1 0 0 1-2 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 1A1.5 1.5 0 0 0 1 2.5V3H.5a.5.5 0 0 0 0 1H1v4H.5a.5.5 0 0 0 0 1H1v4H.5a.5.5 0 0 0 0 1H1v.5A1.5 1.5 0 0 0 2.5 16h12a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 14.5 1h-12zm6 3a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9z\"}}]})(props);\n};\nexport function BsFillSaveFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 1.5A1.5 1.5 0 0 1 10 0h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h6c-.314.418-.5.937-.5 1.5v7.793L4.854 6.646a.5.5 0 1 0-.708.708l3.5 3.5a.5.5 0 0 0 .708 0l3.5-3.5a.5.5 0 0 0-.708-.708L8.5 9.293V1.5z\"}}]})(props);\n};\nexport function BsFillSave2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 1.5A1.5 1.5 0 0 1 10 0h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h6c-.314.418-.5.937-.5 1.5v6h-2a.5.5 0 0 0-.354.854l2.5 2.5a.5.5 0 0 0 .708 0l2.5-2.5A.5.5 0 0 0 10.5 7.5h-2v-6z\"}}]})(props);\n};\nexport function BsFillSdCardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.5 0H5.914a1.5 1.5 0 0 0-1.06.44L2.439 2.853A1.5 1.5 0 0 0 2 3.914V14.5A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-13A1.5 1.5 0 0 0 12.5 0zm-7 2.75a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75zm2 0a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75zm2.75.75a.75.75 0 0 0-1.5 0v2a.75.75 0 0 0 1.5 0v-2zm1.25-.75a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75z\"}}]})(props);\n};\nexport function BsFillShareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2.5a2.5 2.5 0 1 1 .603 1.628l-6.718 3.12a2.499 2.499 0 0 1 0 1.504l6.718 3.12a2.5 2.5 0 1 1-.488.876l-6.718-3.12a2.5 2.5 0 1 1 0-3.256l6.718-3.12A2.5 2.5 0 0 1 11 2.5z\"}}]})(props);\n};\nexport function BsFillShieldFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}}]})(props);\n};\nexport function BsFillShieldLockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.775 11.775 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.541 1.541 0 0 0-1.044-1.263 62.467 62.467 0 0 0-2.887-.87C9.843.266 8.69 0 8 0zm0 5a1.5 1.5 0 0 1 .5 2.915l.385 1.99a.5.5 0 0 1-.491.595h-.788a.5.5 0 0 1-.49-.595l.384-1.99A1.5 1.5 0 0 1 8 5z\"}}]})(props);\n};\nexport function BsFillShieldSlashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.093 3.093c-.465 4.275.885 7.46 2.513 9.589a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.32 11.32 0 0 0 1.733-1.525L1.093 3.093zm12.215 8.215L3.128 1.128A61.369 61.369 0 0 1 5.073.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.483 3.626-.332 6.491-1.551 8.616zm.338 3.046-13-13 .708-.708 13 13-.707.707z\"}}]})(props);\n};\nexport function BsFillShiftFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.27 2.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H11.5v3a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-3H1.654C.78 10.5.326 9.455.924 8.816L7.27 2.047z\"}}]})(props);\n};\nexport function BsFillSignpost2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293.707A1 1 0 0 0 7 1.414V2H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h5v1H2.5a1 1 0 0 0-.8.4L.725 8.7a.5.5 0 0 0 0 .6l.975 1.3a1 1 0 0 0 .8.4H7v5h2v-5h5a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H9V6h4.5a1 1 0 0 0 .8-.4l.975-1.3a.5.5 0 0 0 0-.6L14.3 2.4a1 1 0 0 0-.8-.4H9v-.586A1 1 0 0 0 7.293.707z\"}}]})(props);\n};\nexport function BsFillSignpostFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293.707A1 1 0 0 0 7 1.414V4H2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h5v6h2v-6h3.532a1 1 0 0 0 .768-.36l1.933-2.32a.5.5 0 0 0 0-.64L13.3 4.36a1 1 0 0 0-.768-.36H9V1.414A1 1 0 0 0 7.293.707z\"}}]})(props);\n};\nexport function BsFillSignpostSplitFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 16h2V6h5a1 1 0 0 0 .8-.4l.975-1.3a.5.5 0 0 0 0-.6L14.8 2.4A1 1 0 0 0 14 2H9v-.586a1 1 0 0 0-2 0V7H2a1 1 0 0 0-.8.4L.225 8.7a.5.5 0 0 0 0 .6l.975 1.3a1 1 0 0 0 .8.4h5v5z\"}}]})(props);\n};\nexport function BsFillSimFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 4.5a.5.5 0 0 1 .5-.5h2v2H5V4.5zM8.5 6V4h2a.5.5 0 0 1 .5.5V6H8.5zM5 7h6v2H5V7zm3.5 3H11v1.5a.5.5 0 0 1-.5.5h-2v-2zm-1 0v2h-2a.5.5 0 0 1-.5-.5V10h2.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0A1.5 1.5 0 0 0 2 1.5v13A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5V3.414a1.5 1.5 0 0 0-.44-1.06L11.647.439A1.5 1.5 0 0 0 10.586 0H3.5zm2 3h5A1.5 1.5 0 0 1 12 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 4 11.5v-7A1.5 1.5 0 0 1 5.5 3z\"}}]})(props);\n};\nexport function BsFillSkipBackwardBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm11.21-6.907L8.5 7.028V5.5a.5.5 0 0 0-.79-.407L5 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407V8.972l2.71 1.935A.5.5 0 0 0 12 10.5v-5a.5.5 0 0 0-.79-.407z\"}}]})(props);\n};\nexport function BsFillSkipBackwardCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-4.79-2.907L8.5 7.028V5.5a.5.5 0 0 0-.79-.407L5 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407V8.972l2.71 1.935A.5.5 0 0 0 12 10.5v-5a.5.5 0 0 0-.79-.407z\"}}]})(props);\n};\nexport function BsFillSkipBackwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 3.5A.5.5 0 0 0 0 4v8a.5.5 0 0 0 1 0V8.753l6.267 3.636c.54.313 1.233-.066 1.233-.697v-2.94l6.267 3.636c.54.314 1.233-.065 1.233-.696V4.308c0-.63-.693-1.01-1.233-.696L8.5 7.248v-2.94c0-.63-.692-1.01-1.233-.696L1 7.248V4a.5.5 0 0 0-.5-.5z\"}}]})(props);\n};\nexport function BsFillSkipEndBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm6.79-6.907A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407L9.5 8.972V10.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L6.79 5.093z\"}}]})(props);\n};\nexport function BsFillSkipEndCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.79 5.093A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407L9.5 8.972V10.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L6.79 5.093z\"}}]})(props);\n};\nexport function BsFillSkipEndFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 4a.5.5 0 0 0-1 0v3.248L5.233 3.612C4.693 3.3 4 3.678 4 4.308v7.384c0 .63.692 1.01 1.233.697L11.5 8.753V12a.5.5 0 0 0 1 0V4z\"}}]})(props);\n};\nexport function BsFillSkipForwardBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 10V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm4.79-6.907A.5.5 0 0 0 4 3.5v5a.5.5 0 0 0 .79.407L7.5 6.972V8.5a.5.5 0 0 0 .79.407L11 6.972V8.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L8.29 3.093a.5.5 0 0 0-.79.407v1.528L4.79 3.093z\"}}]})(props);\n};\nexport function BsFillSkipForwardCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.79 5.093A.5.5 0 0 0 4 5.5v5a.5.5 0 0 0 .79.407L7.5 8.972V10.5a.5.5 0 0 0 .79.407L11 8.972V10.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L8.29 5.093a.5.5 0 0 0-.79.407v1.528L4.79 5.093z\"}}]})(props);\n};\nexport function BsFillSkipForwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 3.5a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-1 0V8.753l-6.267 3.636c-.54.313-1.233-.066-1.233-.697v-2.94l-6.267 3.636C.693 12.703 0 12.324 0 11.693V4.308c0-.63.693-1.01 1.233-.696L7.5 7.248v-2.94c0-.63.693-1.01 1.233-.696L15 7.248V4a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillSkipStartBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm9.71-6.907L7 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407v-5a.5.5 0 0 0-.79-.407z\"}}]})(props);\n};\nexport function BsFillSkipStartCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM9.71 5.093 7 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407v-5a.5.5 0 0 0-.79-.407z\"}}]})(props);\n};\nexport function BsFillSkipStartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a.5.5 0 0 1 1 0v3.248l6.267-3.636c.54-.313 1.232.066 1.232.696v7.384c0 .63-.692 1.01-1.232.697L5 8.753V12a.5.5 0 0 1-1 0V4z\"}}]})(props);\n};\nexport function BsFillSlashCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-4.646-2.646a.5.5 0 0 0-.708-.708l-6 6a.5.5 0 0 0 .708.708l6-6z\"}}]})(props);\n};\nexport function BsFillSlashSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm9.354 5.354-6 6a.5.5 0 0 1-.708-.708l6-6a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFillSpeakerFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-2.5 6.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm6 4a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 7a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7z\"}}]})(props);\n};\nexport function BsFillSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2z\"}}]})(props);\n};\nexport function BsFillStarFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z\"}}]})(props);\n};\nexport function BsFillStickiesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5V13a1 1 0 0 0 1 1V1.5a.5.5 0 0 1 .5-.5H14a1 1 0 0 0-1-1H1.5A1.5 1.5 0 0 0 0 1.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 2A1.5 1.5 0 0 0 2 3.5v11A1.5 1.5 0 0 0 3.5 16h6.086a1.5 1.5 0 0 0 1.06-.44l4.915-4.914A1.5 1.5 0 0 0 16 9.586V3.5A1.5 1.5 0 0 0 14.5 2h-11zm6 8.5a1 1 0 0 1 1-1h4.396a.25.25 0 0 1 .177.427l-5.146 5.146a.25.25 0 0 1-.427-.177V10.5z\"}}]})(props);\n};\nexport function BsFillStickyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 1A1.5 1.5 0 0 0 1 2.5v11A1.5 1.5 0 0 0 2.5 15h6.086a1.5 1.5 0 0 0 1.06-.44l4.915-4.914A1.5 1.5 0 0 0 15 8.586V2.5A1.5 1.5 0 0 0 13.5 1h-11zm6 8.5a1 1 0 0 1 1-1h4.396a.25.25 0 0 1 .177.427l-5.146 5.146a.25.25 0 0 1-.427-.177V9.5z\"}}]})(props);\n};\nexport function BsFillStopBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm6.5-7A1.5 1.5 0 0 0 5 6.5v3A1.5 1.5 0 0 0 6.5 11h3A1.5 1.5 0 0 0 11 9.5v-3A1.5 1.5 0 0 0 9.5 5h-3z\"}}]})(props);\n};\nexport function BsFillStopCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.5 5A1.5 1.5 0 0 0 5 6.5v3A1.5 1.5 0 0 0 6.5 11h3A1.5 1.5 0 0 0 11 9.5v-3A1.5 1.5 0 0 0 9.5 5h-3z\"}}]})(props);\n};\nexport function BsFillStopFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3.5h6A1.5 1.5 0 0 1 12.5 5v6a1.5 1.5 0 0 1-1.5 1.5H5A1.5 1.5 0 0 1 3.5 11V5A1.5 1.5 0 0 1 5 3.5z\"}}]})(props);\n};\nexport function BsFillStoplightsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 0a2 2 0 0 0-2 2H2c.167.5.8 1.6 2 2v2H2c.167.5.8 1.6 2 2v2H2c.167.5.8 1.6 2 2v1a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-1c1.2-.4 1.833-1.5 2-2h-2V8c1.2-.4 1.833-1.5 2-2h-2V4c1.2-.4 1.833-1.5 2-2h-2a2 2 0 0 0-2-2H6zm3.5 3.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM8 13a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsFillStopwatchFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0a.5.5 0 0 0 0 1H7v1.07A7.001 7.001 0 0 0 8 16a7 7 0 0 0 5.29-11.584.531.531 0 0 0 .013-.012l.354-.354.353.354a.5.5 0 1 0 .707-.707l-1.414-1.415a.5.5 0 1 0-.707.707l.354.354-.354.354a.717.717 0 0 0-.012.012A6.973 6.973 0 0 0 9 2.071V1h.5a.5.5 0 0 0 0-1h-3zm2 5.6V9a.5.5 0 0 1-.5.5H4.5a.5.5 0 0 1 0-1h3V5.6a.5.5 0 1 1 1 0z\"}}]})(props);\n};\nexport function BsFillSuitClubFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5 12.5a3.493 3.493 0 0 1-2.684-1.254 19.92 19.92 0 0 0 1.582 2.907c.231.35-.02.847-.438.847H6.04c-.419 0-.67-.497-.438-.847a19.919 19.919 0 0 0 1.582-2.907 3.5 3.5 0 1 1-2.538-5.743 3.5 3.5 0 1 1 6.708 0A3.5 3.5 0 1 1 11.5 12.5z\"}}]})(props);\n};\nexport function BsFillSuitDiamondFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.45 7.4 7.2 1.067a1 1 0 0 1 1.6 0L13.55 7.4a1 1 0 0 1 0 1.2L8.8 14.933a1 1 0 0 1-1.6 0L2.45 8.6a1 1 0 0 1 0-1.2z\"}}]})(props);\n};\nexport function BsFillSuitHeartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1c2.21 0 4 1.755 4 3.92C8 2.755 9.79 1 12 1s4 1.755 4 3.92c0 3.263-3.234 4.414-7.608 9.608a.513.513 0 0 1-.784 0C3.234 9.334 0 8.183 0 4.92 0 2.755 1.79 1 4 1z\"}}]})(props);\n};\nexport function BsFillSuitSpadeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.184 11.246A3.5 3.5 0 0 1 1 9c0-1.602 1.14-2.633 2.66-4.008C4.986 3.792 6.602 2.33 8 0c1.398 2.33 3.014 3.792 4.34 4.992C13.86 6.367 15 7.398 15 9a3.5 3.5 0 0 1-6.184 2.246 19.92 19.92 0 0 0 1.582 2.907c.231.35-.02.847-.438.847H6.04c-.419 0-.67-.497-.438-.847a19.919 19.919 0 0 0 1.582-2.907z\"}}]})(props);\n};\nexport function BsFillSunFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z\"}}]})(props);\n};\nexport function BsFillSunriseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 1.146a.5.5 0 0 1 .708 0l1.5 1.5a.5.5 0 0 1-.708.708L8.5 2.707V4.5a.5.5 0 0 1-1 0V2.707l-.646.647a.5.5 0 1 1-.708-.708l1.5-1.5zM2.343 4.343a.5.5 0 0 1 .707 0l1.414 1.414a.5.5 0 0 1-.707.707L2.343 5.05a.5.5 0 0 1 0-.707zm11.314 0a.5.5 0 0 1 0 .707l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zM11.709 11.5a4 4 0 1 0-7.418 0H.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-3.79zM0 10a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 0 10zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillSunsetFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 4.854a.5.5 0 0 0 .708 0l1.5-1.5a.5.5 0 0 0-.708-.708l-.646.647V1.5a.5.5 0 0 0-1 0v1.793l-.646-.647a.5.5 0 1 0-.708.708l1.5 1.5zm-5.303-.51a.5.5 0 0 1 .707 0l1.414 1.413a.5.5 0 0 1-.707.707L2.343 5.05a.5.5 0 0 1 0-.707zm11.314 0a.5.5 0 0 1 0 .706l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zM11.709 11.5a4 4 0 1 0-7.418 0H.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-3.79zM0 10a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 0 10zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillTabletFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm7 11a1 1 0 1 0-2 0 1 1 0 0 0 2 0z\"}}]})(props);\n};\nexport function BsFillTabletLandscapeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 14a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2zm11-7a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsFillTagFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v4.586a1 1 0 0 0 .293.707l7 7a1 1 0 0 0 1.414 0l4.586-4.586a1 1 0 0 0 0-1.414l-7-7A1 1 0 0 0 6.586 1H2zm4 3.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsFillTagsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a1 1 0 0 1 1-1h4.586a1 1 0 0 1 .707.293l7 7a1 1 0 0 1 0 1.414l-4.586 4.586a1 1 0 0 1-1.414 0l-7-7A1 1 0 0 1 2 6.586V2zm3.5 4a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.293 7.793A1 1 0 0 1 1 7.086V2a1 1 0 0 0-1 1v4.586a1 1 0 0 0 .293.707l7 7a1 1 0 0 0 1.414 0l.043-.043-7.457-7.457z\"}}]})(props);\n};\nexport function BsFillTelephoneFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z\"}}]})(props);\n};\nexport function BsFillTelephoneForwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zm10.761.135a.5.5 0 0 1 .708 0l2.5 2.5a.5.5 0 0 1 0 .708l-2.5 2.5a.5.5 0 0 1-.708-.708L14.293 4H9.5a.5.5 0 0 1 0-1h4.793l-1.647-1.646a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsFillTelephoneInboundFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM15.854.146a.5.5 0 0 1 0 .708L11.707 5H14.5a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 1 0v2.793L15.146.146a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsFillTelephoneMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM10 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillTelephoneOutboundFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM11 .5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V1.707l-4.146 4.147a.5.5 0 0 1-.708-.708L14.293 1H11.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillTelephonePlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM12.5 1a.5.5 0 0 1 .5.5V3h1.5a.5.5 0 0 1 0 1H13v1.5a.5.5 0 0 1-1 0V4h-1.5a.5.5 0 0 1 0-1H12V1.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillTelephoneXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zm9.261 1.135a.5.5 0 0 1 .708 0L13 2.793l1.146-1.147a.5.5 0 0 1 .708.708L13.707 3.5l1.147 1.146a.5.5 0 0 1-.708.708L13 4.207l-1.146 1.147a.5.5 0 0 1-.708-.708L12.293 3.5l-1.147-1.146a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsFillTerminalFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3zm9.5 5.5h-3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1zm-6.354-.354a.5.5 0 1 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 1 0-.708.708L4.793 6.5 3.146 8.146z\"}}]})(props);\n};\nexport function BsFillTrashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1H3v9a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V4h.5a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H10a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1H2.5zm3 4a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 .5-.5zM8 5a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7A.5.5 0 0 1 8 5zm3 .5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillTrash2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.037 3.225A.703.703 0 0 1 2 3c0-1.105 2.686-2 6-2s6 .895 6 2a.702.702 0 0 1-.037.225l-1.684 10.104A2 2 0 0 1 10.305 15H5.694a2 2 0 0 1-1.973-1.671L2.037 3.225zm9.89-.69C10.966 2.214 9.578 2 8 2c-1.58 0-2.968.215-3.926.534-.477.16-.795.327-.975.466.18.14.498.307.975.466C5.032 3.786 6.42 4 8 4s2.967-.215 3.926-.534c.477-.16.795-.327.975-.466-.18-.14-.498-.307-.975-.466z\"}}]})(props);\n};\nexport function BsFillTreeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.416.223a.5.5 0 0 0-.832 0l-3 4.5A.5.5 0 0 0 5 5.5h.098L3.076 8.735A.5.5 0 0 0 3.5 9.5h.191l-1.638 3.276a.5.5 0 0 0 .447.724H7V16h2v-2.5h4.5a.5.5 0 0 0 .447-.724L12.31 9.5h.191a.5.5 0 0 0 .424-.765L10.902 5.5H11a.5.5 0 0 0 .416-.777l-3-4.5z\"}}]})(props);\n};\nexport function BsFillTriangleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.022 1.566a1.13 1.13 0 0 1 1.96 0l6.857 11.667c.457.778-.092 1.767-.98 1.767H1.144c-.889 0-1.437-.99-.98-1.767L7.022 1.566z\"}}]})(props);\n};\nexport function BsFillTrophyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5.5A.5.5 0 0 1 3 0h10a.5.5 0 0 1 .5.5c0 .538-.012 1.05-.034 1.536a3 3 0 1 1-1.133 5.89c-.79 1.865-1.878 2.777-2.833 3.011v2.173l1.425.356c.194.048.377.135.537.255L13.3 15.1a.5.5 0 0 1-.3.9H3a.5.5 0 0 1-.3-.9l1.838-1.379c.16-.12.343-.207.537-.255L6.5 13.11v-2.173c-.955-.234-2.043-1.146-2.833-3.012a3 3 0 1 1-1.132-5.89A33.076 33.076 0 0 1 2.5.5zm.099 2.54a2 2 0 0 0 .72 3.935c-.333-1.05-.588-2.346-.72-3.935zm10.083 3.935a2 2 0 0 0 .72-3.935c-.133 1.59-.388 2.885-.72 3.935z\"}}]})(props);\n};\nexport function BsFillTvFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 13.5A.5.5 0 0 1 3 13h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zM2 2h12s2 0 2 2v6s0 2-2 2H2s-2 0-2-2V4s0-2 2-2z\"}}]})(props);\n};\nexport function BsFillUmbrellaFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0a.5.5 0 0 1 .5.5v.514C12.625 1.238 16 4.22 16 8c0 0 0 .5-.5.5-.149 0-.352-.145-.352-.145l-.004-.004-.025-.023a3.484 3.484 0 0 0-.555-.394A3.166 3.166 0 0 0 13 7.5c-.638 0-1.178.213-1.564.434a3.484 3.484 0 0 0-.555.394l-.025.023-.003.003s-.204.146-.353.146-.352-.145-.352-.145l-.004-.004-.025-.023a3.484 3.484 0 0 0-.555-.394 3.3 3.3 0 0 0-1.064-.39V13.5H8h.5v.039l-.005.083a2.958 2.958 0 0 1-.298 1.102 2.257 2.257 0 0 1-.763.88C7.06 15.851 6.587 16 6 16s-1.061-.148-1.434-.396a2.255 2.255 0 0 1-.763-.88 2.958 2.958 0 0 1-.302-1.185v-.025l-.001-.009v-.003s0-.002.5-.002h-.5V13a.5.5 0 0 1 1 0v.506l.003.044a1.958 1.958 0 0 0 .195.726c.095.191.23.367.423.495.19.127.466.229.879.229s.689-.102.879-.229c.193-.128.328-.304.424-.495a1.958 1.958 0 0 0 .197-.77V7.544a3.3 3.3 0 0 0-1.064.39 3.482 3.482 0 0 0-.58.417l-.004.004S5.65 8.5 5.5 8.5c-.149 0-.352-.145-.352-.145l-.004-.004a3.482 3.482 0 0 0-.58-.417A3.166 3.166 0 0 0 3 7.5c-.638 0-1.177.213-1.564.434a3.482 3.482 0 0 0-.58.417l-.004.004S.65 8.5.5 8.5C0 8.5 0 8 0 8c0-3.78 3.375-6.762 7.5-6.986V.5A.5.5 0 0 1 8 0z\"}}]})(props);\n};\nexport function BsFillUnlockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 1a2 2 0 0 0-2 2v4a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h5V3a3 3 0 0 1 6 0v4a.5.5 0 0 1-1 0V3a2 2 0 0 0-2-2z\"}}]})(props);\n};\nexport function BsFillVinylFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm0 3a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4 8a4 4 0 1 0 8 0 4 4 0 0 0-8 0z\"}}]})(props);\n};\nexport function BsFillVolumeDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4a.5.5 0 0 0-.812-.39L5.825 5.5H3.5A.5.5 0 0 0 3 6v4a.5.5 0 0 0 .5.5h2.325l2.363 1.89A.5.5 0 0 0 9 12V4zm3.025 4a4.486 4.486 0 0 1-1.318 3.182L10 10.475A3.489 3.489 0 0 0 11.025 8 3.49 3.49 0 0 0 10 5.525l.707-.707A4.486 4.486 0 0 1 12.025 8z\"}}]})(props);\n};\nexport function BsFillVolumeMuteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.717 3.55A.5.5 0 0 1 7 4v8a.5.5 0 0 1-.812.39L3.825 10.5H1.5A.5.5 0 0 1 1 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06zm7.137 2.096a.5.5 0 0 1 0 .708L12.207 8l1.647 1.646a.5.5 0 0 1-.708.708L11.5 8.707l-1.646 1.647a.5.5 0 0 1-.708-.708L10.793 8 9.146 6.354a.5.5 0 1 1 .708-.708L11.5 7.293l1.646-1.647a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsFillVolumeOffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.717 3.55A.5.5 0 0 1 11 4v8a.5.5 0 0 1-.812.39L7.825 10.5H5.5A.5.5 0 0 1 5 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06z\"}}]})(props);\n};\nexport function BsFillVolumeUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.536 14.01A8.473 8.473 0 0 0 14.026 8a8.473 8.473 0 0 0-2.49-6.01l-.708.707A7.476 7.476 0 0 1 13.025 8c0 2.071-.84 3.946-2.197 5.303l.708.707z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.121 12.596A6.48 6.48 0 0 0 12.025 8a6.48 6.48 0 0 0-1.904-4.596l-.707.707A5.483 5.483 0 0 1 11.025 8a5.483 5.483 0 0 1-1.61 3.89l.706.706z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 11.182A4.486 4.486 0 0 0 10.025 8a4.486 4.486 0 0 0-1.318-3.182L8 5.525A3.489 3.489 0 0 1 9.025 8 3.49 3.49 0 0 1 8 10.475l.707.707zM6.717 3.55A.5.5 0 0 1 7 4v8a.5.5 0 0 1-.812.39L3.825 10.5H1.5A.5.5 0 0 1 1 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06z\"}}]})(props);\n};\nexport function BsFillWalletFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2A1.5 1.5 0 0 0 0 3.5v2h6a.5.5 0 0 1 .5.5c0 .253.08.644.306.958.207.288.557.542 1.194.542.637 0 .987-.254 1.194-.542.226-.314.306-.705.306-.958a.5.5 0 0 1 .5-.5h6v-2A1.5 1.5 0 0 0 14.5 2h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 6.5h-5.551a2.678 2.678 0 0 1-.443 1.042C9.613 8.088 8.963 8.5 8 8.5c-.963 0-1.613-.412-2.006-.958A2.679 2.679 0 0 1 5.551 6.5H0v6A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-6z\"}}]})(props);\n};\nexport function BsFillXCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z\"}}]})(props);\n};\nexport function BsFillXDiamondFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L4.047 3.339 8 7.293l3.954-3.954L9.049.435zm3.61 3.611L8.708 8l3.954 3.954 2.904-2.905c.58-.58.58-1.519 0-2.098l-2.904-2.905zm-.706 8.614L8 8.708l-3.954 3.954 2.905 2.904c.58.58 1.519.58 2.098 0l2.905-2.904zm-8.614-.706L7.292 8 3.339 4.046.435 6.951c-.58.58-.58 1.519 0 2.098l2.904 2.905z\"}}]})(props);\n};\nexport function BsFillXOctagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.46.146A.5.5 0 0 0 11.107 0H4.893a.5.5 0 0 0-.353.146L.146 4.54A.5.5 0 0 0 0 4.893v6.214a.5.5 0 0 0 .146.353l4.394 4.394a.5.5 0 0 0 .353.146h6.214a.5.5 0 0 0 .353-.146l4.394-4.394a.5.5 0 0 0 .146-.353V4.893a.5.5 0 0 0-.146-.353L11.46.146zm-6.106 4.5L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFillXSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm3.354 4.646L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsReverseBackspaceReverse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.854 5.146a.5.5 0 0 1 0 .708L7.707 8l2.147 2.146a.5.5 0 0 1-.708.708L7 8.707l-2.146 2.147a.5.5 0 0 1-.708-.708L6.293 8 4.146 5.854a.5.5 0 1 1 .708-.708L7 7.293l2.146-2.147a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h7.08a2 2 0 0 0 1.519-.698l4.843-5.651a1 1 0 0 0 0-1.302L10.6 1.7A2 2 0 0 0 9.08 1H2zm7.08 1a1 1 0 0 1 .76.35L14.682 8l-4.844 5.65a1 1 0 0 1-.759.35H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h7.08z\"}}]})(props);\n};\nexport function BsReverseLayoutSidebarInsetReverse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2zm12-1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsReverseLayoutSidebarReverse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 3a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3zm-5-1v12H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h9zm1 0h2a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-2V2z\"}}]})(props);\n};\nexport function BsReverseLayoutTextSidebarReverse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 3a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5zm0 3a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5zm.5 3.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 .5-.5zm-.5 2.5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2zM4 1v14H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h2zm1 0h9a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H5V1z\"}}]})(props);\n};\nexport function BsReverseLayoutTextWindowReverse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 .5-.5zm0 3a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 .5-.5zm-.5 2.5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12zM2 1a1 1 0 0 0-1 1v1h14V2a1 1 0 0 0-1-1H2zM1 4v10a1 1 0 0 0 1 1h2V4H1zm4 0v11h9a1 1 0 0 0 1-1V4H5z\"}}]})(props);\n};\nexport function BsAlarmFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1H9v1.07a7.001 7.001 0 0 1 3.274 12.474l.601.602a.5.5 0 0 1-.707.708l-.746-.746A6.97 6.97 0 0 1 8 16a6.97 6.97 0 0 1-3.422-.892l-.746.746a.5.5 0 0 1-.707-.708l.602-.602A7.001 7.001 0 0 1 7 2.07V1h-.5A.5.5 0 0 1 6 .5zm2.5 5a.5.5 0 0 0-1 0v3.362l-1.429 2.38a.5.5 0 1 0 .858.515l1.5-2.5A.5.5 0 0 0 8.5 9V5.5zM.86 5.387A2.5 2.5 0 1 1 4.387 1.86 8.035 8.035 0 0 0 .86 5.387zM11.613 1.86a2.5 2.5 0 1 1 3.527 3.527 8.035 8.035 0 0 0-3.527-3.527z\"}}]})(props);\n};\nexport function BsAlarm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5.5a.5.5 0 0 0-1 0v3.362l-1.429 2.38a.5.5 0 1 0 .858.515l1.5-2.5A.5.5 0 0 0 8.5 9V5.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0a.5.5 0 0 0 0 1H7v1.07a7.001 7.001 0 0 0-3.273 12.474l-.602.602a.5.5 0 0 0 .707.708l.746-.746A6.97 6.97 0 0 0 8 16a6.97 6.97 0 0 0 3.422-.892l.746.746a.5.5 0 0 0 .707-.708l-.601-.602A7.001 7.001 0 0 0 9 2.07V1h.5a.5.5 0 0 0 0-1h-3zm1.038 3.018a6.093 6.093 0 0 1 .924 0 6 6 0 1 1-.924 0zM0 3.5c0 .753.333 1.429.86 1.887A8.035 8.035 0 0 1 4.387 1.86 2.5 2.5 0 0 0 0 3.5zM13.5 1c-.753 0-1.429.333-1.887.86a8.035 8.035 0 0 1 3.527 3.527A2.5 2.5 0 0 0 13.5 1z\"}}]})(props);\n};\nexport function BsAlignBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"4\",\"height\":\"12\",\"x\":\"6\",\"y\":\"1\",\"rx\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 14a.5.5 0 0 0 0 1v-1zm13 1a.5.5 0 0 0 0-1v1zm-13 0h13v-1h-13v1z\"}}]})(props);\n};\nexport function BsAlignCenter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a.5.5 0 0 1 .5.5V6h-1V1.5A.5.5 0 0 1 8 1zm0 14a.5.5 0 0 1-.5-.5V10h1v4.5a.5.5 0 0 1-.5.5zM2 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V7z\"}}]})(props);\n};\nexport function BsAlignEnd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 1 0v-13a.5.5 0 0 0-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 7a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V7z\"}}]})(props);\n};\nexport function BsAlignMiddle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 13a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v10zM1 8a.5.5 0 0 0 .5.5H6v-1H1.5A.5.5 0 0 0 1 8zm14 0a.5.5 0 0 1-.5.5H10v-1h4.5a.5.5 0 0 1 .5.5z\"}}]})(props);\n};\nexport function BsAlignStart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.5 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-1 0v-13a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7z\"}}]})(props);\n};\nexport function BsAlignTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"4\",\"height\":\"12\",\"rx\":\"1\",\"transform\":\"matrix(1 0 0 -1 6 15)\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2a.5.5 0 0 1 0-1v1zm13-1a.5.5 0 0 1 0 1V1zm-13 0h13v1h-13V1z\"}}]})(props);\n};\nexport function BsAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 13.5a.5.5 0 0 0 .5.5h3.797a.5.5 0 0 0 .439-.26L11 3h3.5a.5.5 0 0 0 0-1h-3.797a.5.5 0 0 0-.439.26L5 13H1.5a.5.5 0 0 0-.5.5zm10 0a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5z\"}}]})(props);\n};\nexport function BsAppIndicator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 2A3.5 3.5 0 0 0 2 5.5v5A3.5 3.5 0 0 0 5.5 14h5a3.5 3.5 0 0 0 3.5-3.5V8a.5.5 0 0 1 1 0v2.5a4.5 4.5 0 0 1-4.5 4.5h-5A4.5 4.5 0 0 1 1 10.5v-5A4.5 4.5 0 0 1 5.5 1H8a.5.5 0 0 1 0 1H5.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 3a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}}]})(props);\n};\nexport function BsApp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h6zM5 1a4 4 0 0 0-4 4v6a4 4 0 0 0 4 4h6a4 4 0 0 0 4-4V5a4 4 0 0 0-4-4H5z\"}}]})(props);\n};\nexport function BsApple (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.182.008C11.148-.03 9.923.023 8.857 1.18c-1.066 1.156-.902 2.482-.878 2.516.024.034 1.52.087 2.475-1.258.955-1.345.762-2.391.728-2.43zm3.314 11.733c-.048-.096-2.325-1.234-2.113-3.422.212-2.189 1.675-2.789 1.698-2.854.023-.065-.597-.79-1.254-1.157a3.692 3.692 0 0 0-1.563-.434c-.108-.003-.483-.095-1.254.116-.508.139-1.653.589-1.968.607-.316.018-1.256-.522-2.267-.665-.647-.125-1.333.131-1.824.328-.49.196-1.422.754-2.074 2.237-.652 1.482-.311 3.83-.067 4.56.244.729.625 1.924 1.273 2.796.576.984 1.34 1.667 1.659 1.899.319.232 1.219.386 1.843.067.502-.308 1.408-.485 1.766-.472.357.013 1.061.154 1.782.539.571.197 1.111.115 1.652-.105.541-.221 1.324-1.059 2.238-2.758.347-.79.505-1.217.473-1.282z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.182.008C11.148-.03 9.923.023 8.857 1.18c-1.066 1.156-.902 2.482-.878 2.516.024.034 1.52.087 2.475-1.258.955-1.345.762-2.391.728-2.43zm3.314 11.733c-.048-.096-2.325-1.234-2.113-3.422.212-2.189 1.675-2.789 1.698-2.854.023-.065-.597-.79-1.254-1.157a3.692 3.692 0 0 0-1.563-.434c-.108-.003-.483-.095-1.254.116-.508.139-1.653.589-1.968.607-.316.018-1.256-.522-2.267-.665-.647-.125-1.333.131-1.824.328-.49.196-1.422.754-2.074 2.237-.652 1.482-.311 3.83-.067 4.56.244.729.625 1.924 1.273 2.796.576.984 1.34 1.667 1.659 1.899.319.232 1.219.386 1.843.067.502-.308 1.408-.485 1.766-.472.357.013 1.061.154 1.782.539.571.197 1.111.115 1.652-.105.541-.221 1.324-1.059 2.238-2.758.347-.79.505-1.217.473-1.282z\"}}]})(props);\n};\nexport function BsArchiveFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.643 15C13.979 15 15 13.845 15 12.5V5H1v7.5C1 13.845 2.021 15 3.357 15h9.286zM5.5 7h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zM.8 1a.8.8 0 0 0-.8.8V3a.8.8 0 0 0 .8.8h14.4A.8.8 0 0 0 16 3V1.8a.8.8 0 0 0-.8-.8H.8z\"}}]})(props);\n};\nexport function BsArchive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1v7.5a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 1 12.5V5a1 1 0 0 1-1-1V2zm2 3v7.5A1.5 1.5 0 0 0 3.5 14h9a1.5 1.5 0 0 0 1.5-1.5V5H2zm13-3H1v2h14V2zM5 7.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsArrow90DegDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.854 14.854a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L4 13.293V3.5A2.5 2.5 0 0 1 6.5 1h8a.5.5 0 0 1 0 1h-8A1.5 1.5 0 0 0 5 3.5v9.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4z\"}}]})(props);\n};\nexport function BsArrow90DegLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.146 4.854a.5.5 0 0 1 0-.708l4-4a.5.5 0 1 1 .708.708L2.707 4H12.5A2.5 2.5 0 0 1 15 6.5v8a.5.5 0 0 1-1 0v-8A1.5 1.5 0 0 0 12.5 5H2.707l3.147 3.146a.5.5 0 1 1-.708.708l-4-4z\"}}]})(props);\n};\nexport function BsArrow90DegRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.854 4.854a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708.708L13.293 4H3.5A2.5 2.5 0 0 0 1 6.5v8a.5.5 0 0 0 1 0v-8A1.5 1.5 0 0 1 3.5 5h9.793l-3.147 3.146a.5.5 0 0 0 .708.708l4-4z\"}}]})(props);\n};\nexport function BsArrow90DegUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.854 1.146a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L4 2.707V12.5A2.5 2.5 0 0 0 6.5 15h8a.5.5 0 0 0 0-1h-8A1.5 1.5 0 0 1 5 12.5V2.707l3.146 3.147a.5.5 0 1 0 .708-.708l-4-4z\"}}]})(props);\n};\nexport function BsArrowBarDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 3.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13a.5.5 0 0 1-.5-.5zM8 6a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 .708-.708L7.5 12.293V6.5A.5.5 0 0 1 8 6z\"}}]})(props);\n};\nexport function BsArrowBarLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.5 15a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5zM10 8a.5.5 0 0 1-.5.5H3.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L3.707 7.5H9.5a.5.5 0 0 1 .5.5z\"}}]})(props);\n};\nexport function BsArrowBarRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 8a.5.5 0 0 0 .5.5h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L12.293 7.5H6.5A.5.5 0 0 0 6 8zm-2.5 7a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5z\"}}]})(props);\n};\nexport function BsArrowBarUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 10a.5.5 0 0 0 .5-.5V3.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7.5 3.707V9.5a.5.5 0 0 0 .5.5zm-7 2.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsArrowClockwise (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z\"}}]})(props);\n};\nexport function BsArrowCounterclockwise (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 3a5 5 0 1 1-4.546 2.914.5.5 0 0 0-.908-.417A6 6 0 1 0 8 2v1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.466V.534a.25.25 0 0 0-.41-.192L5.23 2.308a.25.25 0 0 0 0 .384l2.36 1.966A.25.25 0 0 0 8 4.466z\"}}]})(props);\n};\nexport function BsArrowDownCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V4.5z\"}}]})(props);\n};\nexport function BsArrowDownCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V4.5z\"}}]})(props);\n};\nexport function BsArrowDownLeftCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 0 0 8a8 8 0 0 0 16 0zm-5.904-2.803a.5.5 0 1 1 .707.707L6.707 10h2.768a.5.5 0 0 1 0 1H5.5a.5.5 0 0 1-.5-.5V6.525a.5.5 0 0 1 1 0v2.768l4.096-4.096z\"}}]})(props);\n};\nexport function BsArrowDownLeftCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-5.904-2.854a.5.5 0 1 1 .707.708L6.707 9.95h2.768a.5.5 0 1 1 0 1H5.5a.5.5 0 0 1-.5-.5V6.475a.5.5 0 1 1 1 0v2.768l4.096-4.097z\"}}]})(props);\n};\nexport function BsArrowDownLeftSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 16a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2zm8.096-10.803L6 9.293V6.525a.5.5 0 0 0-1 0V10.5a.5.5 0 0 0 .5.5h3.975a.5.5 0 0 0 0-1H6.707l4.096-4.096a.5.5 0 1 0-.707-.707z\"}}]})(props);\n};\nexport function BsArrowDownLeftSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm10.096 3.146a.5.5 0 1 1 .707.708L6.707 9.95h2.768a.5.5 0 1 1 0 1H5.5a.5.5 0 0 1-.5-.5V6.475a.5.5 0 1 1 1 0v2.768l4.096-4.097z\"}}]})(props);\n};\nexport function BsArrowDownLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 13.5a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 0-1H3.707L13.854 2.854a.5.5 0 0 0-.708-.708L3 12.293V7.5a.5.5 0 0 0-1 0v6z\"}}]})(props);\n};\nexport function BsArrowDownRightCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm5.904-2.803a.5.5 0 1 0-.707.707L9.293 10H6.525a.5.5 0 0 0 0 1H10.5a.5.5 0 0 0 .5-.5V6.525a.5.5 0 0 0-1 0v2.768L5.904 5.197z\"}}]})(props);\n};\nexport function BsArrowDownRightCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.854 5.146a.5.5 0 1 0-.708.708L9.243 9.95H6.475a.5.5 0 1 0 0 1h3.975a.5.5 0 0 0 .5-.5V6.475a.5.5 0 1 0-1 0v2.768L5.854 5.146z\"}}]})(props);\n};\nexport function BsArrowDownRightSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 16a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12zM5.904 5.197 10 9.293V6.525a.5.5 0 0 1 1 0V10.5a.5.5 0 0 1-.5.5H6.525a.5.5 0 0 1 0-1h2.768L5.197 5.904a.5.5 0 0 1 .707-.707z\"}}]})(props);\n};\nexport function BsArrowDownRightSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm5.854 3.146a.5.5 0 1 0-.708.708L9.243 9.95H6.475a.5.5 0 1 0 0 1h3.975a.5.5 0 0 0 .5-.5V6.475a.5.5 0 1 0-1 0v2.768L5.854 5.146z\"}}]})(props);\n};\nexport function BsArrowDownRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 13.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1 0-1h4.793L2.146 2.854a.5.5 0 1 1 .708-.708L13 12.293V7.5a.5.5 0 0 1 1 0v6z\"}}]})(props);\n};\nexport function BsArrowDownShort (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 4a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5A.5.5 0 0 1 8 4z\"}}]})(props);\n};\nexport function BsArrowDownSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsArrowDownSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm8.5 2.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V4.5z\"}}]})(props);\n};\nexport function BsArrowDownUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.5 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L11 2.707V14.5a.5.5 0 0 0 .5.5zm-7-14a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L4 13.293V1.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 1a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L7.5 13.293V1.5A.5.5 0 0 1 8 1z\"}}]})(props);\n};\nexport function BsArrowLeftCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.5 7.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5z\"}}]})(props);\n};\nexport function BsArrowLeftCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-4.5-.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5z\"}}]})(props);\n};\nexport function BsArrowLeftRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 11.5a.5.5 0 0 0 .5.5h11.793l-3.147 3.146a.5.5 0 0 0 .708.708l4-4a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708.708L13.293 11H1.5a.5.5 0 0 0-.5.5zm14-7a.5.5 0 0 1-.5.5H2.707l3.147 3.146a.5.5 0 1 1-.708.708l-4-4a.5.5 0 0 1 0-.708l4-4a.5.5 0 1 1 .708.708L2.707 4H14.5a.5.5 0 0 1 .5.5z\"}}]})(props);\n};\nexport function BsArrowLeftShort (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12 8a.5.5 0 0 1-.5.5H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5a.5.5 0 0 1 .5.5z\"}}]})(props);\n};\nexport function BsArrowLeftSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12zm-4.5-6.5H5.707l2.147-2.146a.5.5 0 1 0-.708-.708l-3 3a.5.5 0 0 0 0 .708l3 3a.5.5 0 0 0 .708-.708L5.707 8.5H11.5a.5.5 0 0 0 0-1z\"}}]})(props);\n};\nexport function BsArrowLeftSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm11.5 5.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5z\"}}]})(props);\n};\nexport function BsArrowLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1 0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8z\"}}]})(props);\n};\nexport function BsArrowRepeat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.534 7h3.932a.25.25 0 0 1 .192.41l-1.966 2.36a.25.25 0 0 1-.384 0l-1.966-2.36a.25.25 0 0 1 .192-.41zm-11 2h3.932a.25.25 0 0 0 .192-.41L2.692 6.23a.25.25 0 0 0-.384 0L.342 8.59A.25.25 0 0 0 .534 9z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 3c-1.552 0-2.94.707-3.857 1.818a.5.5 0 1 1-.771-.636A6.002 6.002 0 0 1 13.917 7H12.9A5.002 5.002 0 0 0 8 3zM3.1 9a5.002 5.002 0 0 0 8.757 2.182.5.5 0 1 1 .771.636A6.002 6.002 0 0 1 2.083 9H3.1z\"}}]})(props);\n};\nexport function BsArrowReturnLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.5 1.5a.5.5 0 0 1 .5.5v4.8a2.5 2.5 0 0 1-2.5 2.5H2.707l3.347 3.346a.5.5 0 0 1-.708.708l-4.2-4.2a.5.5 0 0 1 0-.708l4-4a.5.5 0 1 1 .708.708L2.707 8.3H12.5A1.5 1.5 0 0 0 14 6.8V2a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsArrowReturnRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.5 1.5A.5.5 0 0 0 1 2v4.8a2.5 2.5 0 0 0 2.5 2.5h9.793l-3.347 3.346a.5.5 0 0 0 .708.708l4.2-4.2a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708.708L13.293 8.3H3.5A1.5 1.5 0 0 1 2 6.8V2a.5.5 0 0 0-.5-.5z\"}}]})(props);\n};\nexport function BsArrowRightCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z\"}}]})(props);\n};\nexport function BsArrowRightCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z\"}}]})(props);\n};\nexport function BsArrowRightShort (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8z\"}}]})(props);\n};\nexport function BsArrowRightSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12zm4.5-6.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsArrowRightSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm4.5 5.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z\"}}]})(props);\n};\nexport function BsArrowRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8z\"}}]})(props);\n};\nexport function BsArrowUpCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 0 0 8a8 8 0 0 0 16 0zm-7.5 3.5a.5.5 0 0 1-1 0V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V11.5z\"}}]})(props);\n};\nexport function BsArrowUpCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-7.5 3.5a.5.5 0 0 1-1 0V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V11.5z\"}}]})(props);\n};\nexport function BsArrowUpLeftCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-5.904 2.803a.5.5 0 1 0 .707-.707L6.707 6h2.768a.5.5 0 1 0 0-1H5.5a.5.5 0 0 0-.5.5v3.975a.5.5 0 0 0 1 0V6.707l4.096 4.096z\"}}]})(props);\n};\nexport function BsArrowUpLeftCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-5.904 2.803a.5.5 0 1 0 .707-.707L6.707 6h2.768a.5.5 0 1 0 0-1H5.5a.5.5 0 0 0-.5.5v3.975a.5.5 0 0 0 1 0V6.707l4.096 4.096z\"}}]})(props);\n};\nexport function BsArrowUpLeftSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm8.096 10.803L6 6.707v2.768a.5.5 0 0 1-1 0V5.5a.5.5 0 0 1 .5-.5h3.975a.5.5 0 1 1 0 1H6.707l4.096 4.096a.5.5 0 1 1-.707.707z\"}}]})(props);\n};\nexport function BsArrowUpLeftSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm10.096 8.803a.5.5 0 1 0 .707-.707L6.707 6h2.768a.5.5 0 1 0 0-1H5.5a.5.5 0 0 0-.5.5v3.975a.5.5 0 0 0 1 0V6.707l4.096 4.096z\"}}]})(props);\n};\nexport function BsArrowUpLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 2.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1H3.707l10.147 10.146a.5.5 0 0 1-.708.708L3 3.707V8.5a.5.5 0 0 1-1 0v-6z\"}}]})(props);\n};\nexport function BsArrowUpRightCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a8 8 0 1 0 16 0A8 8 0 0 0 0 8zm5.904 2.803a.5.5 0 1 1-.707-.707L9.293 6H6.525a.5.5 0 1 1 0-1H10.5a.5.5 0 0 1 .5.5v3.975a.5.5 0 0 1-1 0V6.707l-4.096 4.096z\"}}]})(props);\n};\nexport function BsArrowUpRightCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.854 10.803a.5.5 0 1 1-.708-.707L9.243 6H6.475a.5.5 0 1 1 0-1h3.975a.5.5 0 0 1 .5.5v3.975a.5.5 0 1 1-1 0V6.707l-4.096 4.096z\"}}]})(props);\n};\nexport function BsArrowUpRightSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12zM5.904 10.803 10 6.707v2.768a.5.5 0 0 0 1 0V5.5a.5.5 0 0 0-.5-.5H6.525a.5.5 0 1 0 0 1h2.768l-4.096 4.096a.5.5 0 0 0 .707.707z\"}}]})(props);\n};\nexport function BsArrowUpRightSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm5.854 8.803a.5.5 0 1 1-.708-.707L9.243 6H6.475a.5.5 0 1 1 0-1h3.975a.5.5 0 0 1 .5.5v3.975a.5.5 0 1 1-1 0V6.707l-4.096 4.096z\"}}]})(props);\n};\nexport function BsArrowUpRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 2.5a.5.5 0 0 0-.5-.5h-6a.5.5 0 0 0 0 1h4.793L2.146 13.146a.5.5 0 0 0 .708.708L13 3.707V8.5a.5.5 0 0 0 1 0v-6z\"}}]})(props);\n};\nexport function BsArrowUpShort (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 12a.5.5 0 0 0 .5-.5V5.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7.5 5.707V11.5a.5.5 0 0 0 .5.5z\"}}]})(props);\n};\nexport function BsArrowUpSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 16a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2zm6.5-4.5V5.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7.5 5.707V11.5a.5.5 0 0 0 1 0z\"}}]})(props);\n};\nexport function BsArrowUpSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm8.5 9.5a.5.5 0 0 1-1 0V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V11.5z\"}}]})(props);\n};\nexport function BsArrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L7.5 2.707V14.5a.5.5 0 0 0 .5.5z\"}}]})(props);\n};\nexport function BsArrowsAngleContract (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M.172 15.828a.5.5 0 0 0 .707 0l4.096-4.096V14.5a.5.5 0 1 0 1 0v-3.975a.5.5 0 0 0-.5-.5H1.5a.5.5 0 0 0 0 1h2.768L.172 15.121a.5.5 0 0 0 0 .707zM15.828.172a.5.5 0 0 0-.707 0l-4.096 4.096V1.5a.5.5 0 1 0-1 0v3.975a.5.5 0 0 0 .5.5H14.5a.5.5 0 0 0 0-1h-2.768L15.828.879a.5.5 0 0 0 0-.707z\"}}]})(props);\n};\nexport function BsArrowsAngleExpand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.828 10.172a.5.5 0 0 0-.707 0l-4.096 4.096V11.5a.5.5 0 0 0-1 0v3.975a.5.5 0 0 0 .5.5H4.5a.5.5 0 0 0 0-1H1.732l4.096-4.096a.5.5 0 0 0 0-.707zm4.344-4.344a.5.5 0 0 0 .707 0l4.096-4.096V4.5a.5.5 0 1 0 1 0V.525a.5.5 0 0 0-.5-.5H11.5a.5.5 0 0 0 0 1h2.768l-4.096 4.096a.5.5 0 0 0 0 .707z\"}}]})(props);\n};\nexport function BsArrowsCollapse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13A.5.5 0 0 1 1 8zm7-8a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 4.293V.5A.5.5 0 0 1 8 0zm-.5 11.707-1.146 1.147a.5.5 0 0 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 11.707V15.5a.5.5 0 0 1-1 0v-3.793z\"}}]})(props);\n};\nexport function BsArrowsExpand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13A.5.5 0 0 1 1 8zM7.646.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 1.707V5.5a.5.5 0 0 1-1 0V1.707L6.354 2.854a.5.5 0 1 1-.708-.708l2-2zM8 10a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 .708-.708L7.5 14.293V10.5A.5.5 0 0 1 8 10z\"}}]})(props);\n};\nexport function BsArrowsFullscreen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.828 10.172a.5.5 0 0 0-.707 0l-4.096 4.096V11.5a.5.5 0 0 0-1 0v3.975a.5.5 0 0 0 .5.5H4.5a.5.5 0 0 0 0-1H1.732l4.096-4.096a.5.5 0 0 0 0-.707zm4.344 0a.5.5 0 0 1 .707 0l4.096 4.096V11.5a.5.5 0 1 1 1 0v3.975a.5.5 0 0 1-.5.5H11.5a.5.5 0 0 1 0-1h2.768l-4.096-4.096a.5.5 0 0 1 0-.707zm0-4.344a.5.5 0 0 0 .707 0l4.096-4.096V4.5a.5.5 0 1 0 1 0V.525a.5.5 0 0 0-.5-.5H11.5a.5.5 0 0 0 0 1h2.768l-4.096 4.096a.5.5 0 0 0 0 .707zm-4.344 0a.5.5 0 0 1-.707 0L1.025 1.732V4.5a.5.5 0 0 1-1 0V.525a.5.5 0 0 1 .5-.5H4.5a.5.5 0 0 1 0 1H1.732l4.096 4.096a.5.5 0 0 1 0 .707z\"}}]})(props);\n};\nexport function BsArrowsMove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 1.707V5.5a.5.5 0 0 1-1 0V1.707L6.354 2.854a.5.5 0 1 1-.708-.708l2-2zM8 10a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 .708-.708L7.5 14.293V10.5A.5.5 0 0 1 8 10zM.146 8.354a.5.5 0 0 1 0-.708l2-2a.5.5 0 1 1 .708.708L1.707 7.5H5.5a.5.5 0 0 1 0 1H1.707l1.147 1.146a.5.5 0 0 1-.708.708l-2-2zM10 8a.5.5 0 0 1 .5-.5h3.793l-1.147-1.146a.5.5 0 0 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L14.293 8.5H10.5A.5.5 0 0 1 10 8z\"}}]})(props);\n};\nexport function BsAspectRatioFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12.5v-9A1.5 1.5 0 0 1 1.5 2h13A1.5 1.5 0 0 1 16 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5zM2.5 4a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 1 0V5h2.5a.5.5 0 0 0 0-1h-3zm11 8a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-1 0V11h-2.5a.5.5 0 0 0 0 1h3z\"}}]})(props);\n};\nexport function BsAspectRatio (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3.5A1.5 1.5 0 0 1 1.5 2h13A1.5 1.5 0 0 1 16 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5v-9zM1.5 3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1H3v2.5a.5.5 0 0 1-1 0v-3zm12 7a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1 0-1H13V8.5a.5.5 0 0 1 1 0v3z\"}}]})(props);\n};\nexport function BsAsterisk (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a1 1 0 0 1 1 1v5.268l4.562-2.634a1 1 0 1 1 1 1.732L10 8l4.562 2.634a1 1 0 1 1-1 1.732L9 9.732V15a1 1 0 1 1-2 0V9.732l-4.562 2.634a1 1 0 1 1-1-1.732L6 8 1.438 5.366a1 1 0 0 1 1-1.732L7 6.268V1a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsAt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.106 7.222c0-2.967-2.249-5.032-5.482-5.032-3.35 0-5.646 2.318-5.646 5.702 0 3.493 2.235 5.708 5.762 5.708.862 0 1.689-.123 2.304-.335v-.862c-.43.199-1.354.328-2.29.328-2.926 0-4.813-1.88-4.813-4.798 0-2.844 1.921-4.881 4.594-4.881 2.735 0 4.608 1.688 4.608 4.156 0 1.682-.554 2.769-1.416 2.769-.492 0-.772-.28-.772-.76V5.206H8.923v.834h-.11c-.266-.595-.881-.964-1.6-.964-1.4 0-2.378 1.162-2.378 2.823 0 1.737.957 2.906 2.379 2.906.8 0 1.415-.39 1.709-1.087h.11c.081.67.703 1.148 1.503 1.148 1.572 0 2.57-1.415 2.57-3.643zm-7.177.704c0-1.197.54-1.907 1.456-1.907.93 0 1.524.738 1.524 1.907S8.308 9.84 7.371 9.84c-.895 0-1.442-.725-1.442-1.914z\"}}]})(props);\n};\nexport function BsAwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 0 1.669.864 1.858.282.842 1.68 1.337 1.32L13.4 6l.306 1.854-1.337 1.32-.842 1.68-1.858.282L8 12l-1.669-.864-1.858-.282-.842-1.68-1.337-1.32L2.6 6l-.306-1.854 1.337-1.32.842-1.68L6.331.864 8 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11.794V16l4-1 4 1v-4.206l-2.018.306L8 13.126 6.018 12.1 4 11.794z\"}}]})(props);\n};\nexport function BsAward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.669.864 8 0 6.331.864l-1.858.282-.842 1.68-1.337 1.32L2.6 6l-.306 1.854 1.337 1.32.842 1.68 1.858.282L8 12l1.669-.864 1.858-.282.842-1.68 1.337-1.32L13.4 6l.306-1.854-1.337-1.32-.842-1.68L9.669.864zm1.196 1.193.684 1.365 1.086 1.072L12.387 6l.248 1.506-1.086 1.072-.684 1.365-1.51.229L8 10.874l-1.355-.702-1.51-.229-.684-1.365-1.086-1.072L3.614 6l-.25-1.506 1.087-1.072.684-1.365 1.51-.229L8 1.126l1.356.702 1.509.229z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11.794V16l4-1 4 1v-4.206l-2.018.306L8 13.126 6.018 12.1 4 11.794z\"}}]})(props);\n};\nexport function BsBack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2H2a2 2 0 0 1-2-2V2zm2-1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H2z\"}}]})(props);\n};\nexport function BsBackspaceFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.683 3a2 2 0 0 0-2-2h-7.08a2 2 0 0 0-1.519.698L.241 7.35a1 1 0 0 0 0 1.302l4.843 5.65A2 2 0 0 0 6.603 15h7.08a2 2 0 0 0 2-2V3zM5.829 5.854a.5.5 0 1 1 .707-.708l2.147 2.147 2.146-2.147a.5.5 0 1 1 .707.708L9.39 8l2.146 2.146a.5.5 0 0 1-.707.708L8.683 8.707l-2.147 2.147a.5.5 0 0 1-.707-.708L7.976 8 5.829 5.854z\"}}]})(props);\n};\nexport function BsBackspaceReverseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a2 2 0 0 1 2-2h7.08a2 2 0 0 1 1.519.698l4.843 5.651a1 1 0 0 1 0 1.302L10.6 14.3a2 2 0 0 1-1.52.7H2a2 2 0 0 1-2-2V3zm9.854 2.854a.5.5 0 0 0-.708-.708L7 7.293 4.854 5.146a.5.5 0 1 0-.708.708L6.293 8l-2.147 2.146a.5.5 0 0 0 .708.708L7 8.707l2.146 2.147a.5.5 0 0 0 .708-.708L7.707 8l2.147-2.146z\"}}]})(props);\n};\nexport function BsBackspaceReverse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.854 5.146a.5.5 0 0 1 0 .708L7.707 8l2.147 2.146a.5.5 0 0 1-.708.708L7 8.707l-2.146 2.147a.5.5 0 0 1-.708-.708L6.293 8 4.146 5.854a.5.5 0 1 1 .708-.708L7 7.293l2.146-2.147a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h7.08a2 2 0 0 0 1.519-.698l4.843-5.651a1 1 0 0 0 0-1.302L10.6 1.7A2 2 0 0 0 9.08 1H2zm7.08 1a1 1 0 0 1 .76.35L14.682 8l-4.844 5.65a1 1 0 0 1-.759.35H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h7.08z\"}}]})(props);\n};\nexport function BsBackspace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.83 5.146a.5.5 0 0 0 0 .708L7.975 8l-2.147 2.146a.5.5 0 0 0 .707.708l2.147-2.147 2.146 2.147a.5.5 0 0 0 .707-.708L9.39 8l2.146-2.146a.5.5 0 0 0-.707-.708L8.683 7.293 6.536 5.146a.5.5 0 0 0-.707 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.683 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-7.08a2 2 0 0 1-1.519-.698L.241 8.65a1 1 0 0 1 0-1.302L5.084 1.7A2 2 0 0 1 6.603 1h7.08zm-7.08 1a1 1 0 0 0-.76.35L1 8l4.844 5.65a1 1 0 0 0 .759.35h7.08a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1h-7.08z\"}}]})(props);\n};\nexport function BsBadge3DFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.157 5.968h-.844v4.06h.844c1.116 0 1.621-.667 1.621-2.02 0-1.354-.51-2.04-1.621-2.04z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm5.184 4.368c.646 0 1.055.378 1.06.9.008.537-.427.919-1.086.919-.598-.004-1.037-.325-1.068-.756H3c.03.914.791 1.688 2.153 1.688 1.24 0 2.285-.66 2.272-1.798-.013-.953-.747-1.38-1.292-1.432v-.062c.44-.07 1.125-.527 1.108-1.375-.013-.906-.8-1.57-2.053-1.565-1.31.005-2.043.734-2.074 1.67h1.103c.022-.391.383-.751.936-.751.532 0 .928.33.928.813.004.479-.383.835-.928.835h-.632v.914h.663zM8.126 11h2.189C12.125 11 13 9.893 13 7.985c0-1.894-.861-2.984-2.685-2.984H8.126V11z\"}}]})(props);\n};\nexport function BsBadge3D (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.52 8.368h.664c.646 0 1.055.378 1.06.9.008.537-.427.919-1.086.919-.598-.004-1.037-.325-1.068-.756H3c.03.914.791 1.688 2.153 1.688 1.24 0 2.285-.66 2.272-1.798-.013-.953-.747-1.38-1.292-1.432v-.062c.44-.07 1.125-.527 1.108-1.375-.013-.906-.8-1.57-2.053-1.565-1.31.005-2.043.734-2.074 1.67h1.103c.022-.391.383-.751.936-.751.532 0 .928.33.928.813.004.479-.383.835-.928.835h-.632v.914zm3.606-3.367V11h2.189C12.125 11 13 9.893 13 7.985c0-1.894-.861-2.984-2.685-2.984H8.126zm1.187.967h.844c1.112 0 1.621.686 1.621 2.04 0 1.353-.505 2.02-1.621 2.02h-.844v-4.06z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadge4KFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.577 8.9v.03h1.828V5.898h-.062a46.781 46.781 0 0 0-1.766 3.001z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm2.372 3.715.435-.714h1.71v3.93h.733v.957h-.733V11H5.405V9.888H2.5v-.971c.574-1.077 1.225-2.142 1.872-3.202zm7.73-.714h1.306l-2.14 2.584L13.5 11h-1.428l-1.679-2.624-.615.7V11H8.59V5.001h1.187v2.686h.057L12.102 5z\"}}]})(props);\n};\nexport function BsBadge4K (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.807 5.001C4.021 6.298 3.203 7.6 2.5 8.917v.971h2.905V11h1.112V9.888h.733V8.93h-.733V5.001h-1.71zm-1.23 3.93v-.032a46.781 46.781 0 0 1 1.766-3.001h.062V8.93H3.577zm9.831-3.93h-1.306L9.835 7.687h-.057V5H8.59v6h1.187V9.075l.615-.699L12.072 11H13.5l-2.232-3.415 2.14-2.584z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadge8KFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.9 6.605c0 .51.405.866.95.866.545 0 .945-.356.945-.866s-.4-.852-.945-.852c-.545 0-.95.343-.95.852zm-.192 2.668c0 .589.492.984 1.142.984.646 0 1.143-.395 1.143-.984S5.496 8.28 4.85 8.28c-.65 0-1.142.404-1.142.993z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm5.17 7.348c0 1.041-.927 1.766-2.333 1.766-1.406 0-2.312-.72-2.312-1.762 0-.954.712-1.384 1.257-1.494v-.053c-.51-.154-1.02-.558-1.02-1.331 0-.914.831-1.587 2.088-1.587 1.253 0 2.083.673 2.083 1.587 0 .782-.523 1.182-1.02 1.331v.053c.545.11 1.257.545 1.257 1.49zM12.102 5h1.306l-2.14 2.584 2.232 3.415h-1.428l-1.679-2.624-.615.699v1.925H8.59V5h1.187v2.685h.057L12.102 5z\"}}]})(props);\n};\nexport function BsBadge8K (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.837 11.114c1.406 0 2.333-.725 2.333-1.766 0-.945-.712-1.38-1.256-1.49v-.053c.496-.15 1.02-.55 1.02-1.331 0-.914-.831-1.587-2.084-1.587-1.257 0-2.087.673-2.087 1.587 0 .773.51 1.177 1.02 1.331v.053c-.546.11-1.258.54-1.258 1.494 0 1.042.906 1.762 2.312 1.762zm.013-3.643c-.545 0-.95-.356-.95-.866s.405-.852.95-.852c.545 0 .945.343.945.852 0 .51-.4.866-.945.866zm0 2.786c-.65 0-1.142-.395-1.142-.984S4.2 8.28 4.85 8.28c.646 0 1.143.404 1.143.993s-.497.984-1.143.984zM13.408 5h-1.306L9.835 7.685h-.057V5H8.59v5.998h1.187V9.075l.615-.699 1.679 2.623H13.5l-2.232-3.414L13.408 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadgeAdFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.35 8.337c0-.699-.42-1.138-1.001-1.138-.584 0-.954.444-.954 1.239v.453c0 .8.374 1.248.972 1.248.588 0 .984-.44.984-1.2v-.602zm-5.413.237-.734-2.426H5.15l-.734 2.426h1.52z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm6.209 6.32c0-1.28.694-2.044 1.753-2.044.655 0 1.156.294 1.336.769h.053v-2.36h1.16V11h-1.138v-.747h-.057c-.145.474-.69.804-1.367.804-1.055 0-1.74-.764-1.74-2.043v-.695zm-4.04 1.138L3.7 11H2.5l2.013-5.999H5.9L7.905 11H6.644l-.47-1.542H4.17z\"}}]})(props);\n};\nexport function BsBadgeAd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3.7 11 .47-1.542h2.004L6.644 11h1.261L5.901 5.001H4.513L2.5 11h1.2zm1.503-4.852.734 2.426H4.416l.734-2.426h.053zm4.759.128c-1.059 0-1.753.765-1.753 2.043v.695c0 1.279.685 2.043 1.74 2.043.677 0 1.222-.33 1.367-.804h.057V11h1.138V4.685h-1.16v2.36h-.053c-.18-.475-.68-.77-1.336-.77zm.387.923c.58 0 1.002.44 1.002 1.138v.602c0 .76-.396 1.2-.984 1.2-.598 0-.972-.449-.972-1.248v-.453c0-.795.37-1.24.954-1.24z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadgeArFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m6.031 8.574-.734-2.426h-.052L4.51 8.574h1.52zm3.642-2.641v1.938h1.033c.66 0 1.068-.316 1.068-.95 0-.64-.422-.988-1.05-.988h-1.05z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm4.265 5.458h2.004L6.739 11H8L5.996 5.001H4.607L2.595 11h1.2l.47-1.542zM8.5 5v6h1.173V8.763h1.064L11.787 11h1.327L11.91 8.583C12.455 8.373 13 7.779 13 6.9c0-1.147-.773-1.9-2.105-1.9H8.5z\"}}]})(props);\n};\nexport function BsBadgeAr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3.794 11 .47-1.542H6.27L6.739 11H8L5.996 5.001H4.607L2.595 11h1.2zm1.503-4.852.734 2.426h-1.52l.734-2.426h.052zm5.598-1.147H8.5V11h1.173V8.763h1.064L11.787 11h1.327L11.91 8.583C12.455 8.373 13 7.779 13 6.9c0-1.147-.773-1.9-2.105-1.9zm-1.222 2.87V5.933h1.05c.63 0 1.05.347 1.05.989 0 .633-.408.95-1.067.95H9.673z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadgeCcFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm3.027 4.002c-.83 0-1.319.642-1.319 1.753v.743c0 1.107.48 1.727 1.319 1.727.69 0 1.138-.435 1.186-1.05H7.36v.114c-.057 1.147-1.028 1.938-2.342 1.938-1.613 0-2.518-1.028-2.518-2.729v-.747C2.5 6.051 3.414 5 5.018 5c1.318 0 2.29.813 2.342 2v.11H6.213c-.048-.638-.505-1.108-1.186-1.108zm6.14 0c-.831 0-1.319.642-1.319 1.753v.743c0 1.107.48 1.727 1.318 1.727.69 0 1.139-.435 1.187-1.05H13.5v.114c-.057 1.147-1.028 1.938-2.342 1.938-1.613 0-2.518-1.028-2.518-2.729v-.747c0-1.7.914-2.751 2.518-2.751 1.318 0 2.29.813 2.342 2v.11h-1.147c-.048-.638-.505-1.108-1.187-1.108z\"}}]})(props);\n};\nexport function BsBadgeCc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.708 7.755c0-1.111.488-1.753 1.319-1.753.681 0 1.138.47 1.186 1.107H7.36V7c-.052-1.186-1.024-2-2.342-2C3.414 5 2.5 6.05 2.5 7.751v.747c0 1.7.905 2.73 2.518 2.73 1.314 0 2.285-.792 2.342-1.939v-.114H6.213c-.048.615-.496 1.05-1.186 1.05-.84 0-1.319-.62-1.319-1.727v-.743zm6.14 0c0-1.111.488-1.753 1.318-1.753.682 0 1.139.47 1.187 1.107H13.5V7c-.053-1.186-1.024-2-2.342-2C9.554 5 8.64 6.05 8.64 7.751v.747c0 1.7.905 2.73 2.518 2.73 1.314 0 2.285-.792 2.342-1.939v-.114h-1.147c-.048.615-.497 1.05-1.187 1.05-.839 0-1.318-.62-1.318-1.727v-.743z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadgeHdFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.53 5.968h-.843v4.06h.843c1.117 0 1.622-.667 1.622-2.02 0-1.354-.51-2.04-1.622-2.04z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm5.396 3.001V11H6.209V8.43H3.687V11H2.5V5.001h1.187v2.44h2.522V5h1.187zM8.5 11V5.001h2.188c1.824 0 2.685 1.09 2.685 2.984C13.373 9.893 12.5 11 10.69 11H8.5z\"}}]})(props);\n};\nexport function BsBadgeHd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.396 11V5.001H6.209v2.44H3.687V5H2.5v6h1.187V8.43h2.522V11h1.187zM8.5 5.001V11h2.188c1.811 0 2.685-1.107 2.685-3.015 0-1.894-.86-2.984-2.684-2.984H8.5zm1.187.967h.843c1.112 0 1.622.686 1.622 2.04 0 1.353-.505 2.02-1.622 2.02h-.843v-4.06z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadgeTmFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm3.295 3.995V11H4.104V5.995h-1.7V5H7v.994H5.295zM8.692 7.01V11H7.633V5.001h1.209l1.71 3.894h.039l1.71-3.894H13.5V11h-1.072V7.01h-.057l-1.42 3.239h-.773L8.75 7.008h-.058z\"}}]})(props);\n};\nexport function BsBadgeTm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.295 11V5.995H7V5H2.403v.994h1.701V11h1.19zm3.397 0V7.01h.058l1.428 3.239h.773l1.42-3.24h.057V11H13.5V5.001h-1.2l-1.71 3.894h-.039l-1.71-3.894H7.634V11h1.06z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadgeVoFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.296 8.394v-.782c0-1.156-.571-1.736-1.362-1.736-.796 0-1.363.58-1.363 1.736v.782c0 1.156.567 1.732 1.363 1.732.79 0 1.362-.576 1.362-1.732z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm11.5 5.62v.77c0 1.691-.962 2.724-2.566 2.724-1.604 0-2.571-1.033-2.571-2.724v-.77c0-1.704.967-2.733 2.57-2.733 1.605 0 2.567 1.037 2.567 2.734zM5.937 11H4.508L2.5 5.001h1.375L5.22 9.708h.057L6.61 5.001h1.318L5.937 11z\"}}]})(props);\n};\nexport function BsBadgeVo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.508 11h1.429l1.99-5.999H6.61L5.277 9.708H5.22L3.875 5.001H2.5L4.508 11zM13.5 8.39v-.77c0-1.696-.962-2.733-2.566-2.733-1.604 0-2.571 1.029-2.571 2.734v.769c0 1.691.967 2.724 2.57 2.724 1.605 0 2.567-1.033 2.567-2.724zm-1.204-.778v.782c0 1.156-.571 1.732-1.362 1.732-.796 0-1.363-.576-1.363-1.732v-.782c0-1.156.567-1.736 1.363-1.736.79 0 1.362.58 1.362 1.736z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadgeVrFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.673 5.933v1.938h1.033c.66 0 1.068-.316 1.068-.95 0-.64-.422-.988-1.05-.988h-1.05z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm5.937 7 1.99-5.999H6.61L5.277 9.708H5.22L3.875 5.001H2.5L4.508 11h1.429zM8.5 5.001V11h1.173V8.763h1.064L11.787 11h1.327L11.91 8.583C12.455 8.373 13 7.779 13 6.9c0-1.147-.773-1.9-2.105-1.9H8.5z\"}}]})(props);\n};\nexport function BsBadgeVr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.508 11h1.429l1.99-5.999H6.61L5.277 9.708H5.22L3.875 5.001H2.5L4.508 11zm6.387-5.999H8.5V11h1.173V8.763h1.064L11.787 11h1.327L11.91 8.583C12.455 8.373 13 7.779 13 6.9c0-1.147-.773-1.9-2.105-1.9zm-1.222 2.87V5.933h1.05c.63 0 1.05.347 1.05.989 0 .633-.408.95-1.067.95H9.673z\"}}]})(props);\n};\nexport function BsBadgeWcFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm11.666 1.89c.682 0 1.139.47 1.187 1.107H14v-.11c-.053-1.187-1.024-2-2.342-2-1.604 0-2.518 1.05-2.518 2.751v.747c0 1.7.905 2.73 2.518 2.73 1.314 0 2.285-.792 2.342-1.939v-.114h-1.147c-.048.615-.497 1.05-1.187 1.05-.839 0-1.318-.62-1.318-1.727v-.742c0-1.112.488-1.754 1.318-1.754zm-6.188.926h.044L6.542 11h1.006L9 5.001H7.818l-.82 4.355h-.056L5.97 5.001h-.94l-.972 4.355h-.053l-.827-4.355H2L3.452 11h1.005l1.02-4.184z\"}}]})(props);\n};\nexport function BsBadgeWc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.348 7.643c0-1.112.488-1.754 1.318-1.754.682 0 1.139.47 1.187 1.108H14v-.11c-.053-1.187-1.024-2-2.342-2-1.604 0-2.518 1.05-2.518 2.751v.747c0 1.7.905 2.73 2.518 2.73 1.314 0 2.285-.792 2.342-1.939v-.114h-1.147c-.048.615-.497 1.05-1.187 1.05-.839 0-1.318-.62-1.318-1.727v-.742zM4.457 11l1.02-4.184h.045L6.542 11h1.006L9 5.001H7.818l-.82 4.355h-.056L5.97 5.001h-.94l-.972 4.355h-.053l-.827-4.355H2L3.452 11h1.005z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBagCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0zm-.646 5.354a.5.5 0 0 0-.708-.708L7.5 10.793 6.354 9.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z\"}}]})(props);\n};\nexport function BsBagCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.854 8.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1zm3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5zM2 5h12v9a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5z\"}}]})(props);\n};\nexport function BsBagDashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0zM6 9.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6z\"}}]})(props);\n};\nexport function BsBagDash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.5 10a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1zm3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5zM2 5h12v9a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5z\"}}]})(props);\n};\nexport function BsBagFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1zm3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5z\"}}]})(props);\n};\nexport function BsBagPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0zM8.5 8a.5.5 0 0 0-1 0v1.5H6a.5.5 0 0 0 0 1h1.5V12a.5.5 0 0 0 1 0v-1.5H10a.5.5 0 0 0 0-1H8.5V8z\"}}]})(props);\n};\nexport function BsBagPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 7.5a.5.5 0 0 1 .5.5v1.5H10a.5.5 0 0 1 0 1H8.5V12a.5.5 0 0 1-1 0v-1.5H6a.5.5 0 0 1 0-1h1.5V8a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1zm3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5zM2 5h12v9a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5z\"}}]})(props);\n};\nexport function BsBagXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0zM6.854 8.146a.5.5 0 1 0-.708.708L7.293 10l-1.147 1.146a.5.5 0 0 0 .708.708L8 10.707l1.146 1.147a.5.5 0 0 0 .708-.708L8.707 10l1.147-1.146a.5.5 0 0 0-.708-.708L8 9.293 6.854 8.146z\"}}]})(props);\n};\nexport function BsBagX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.146 8.146a.5.5 0 0 1 .708 0L8 9.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 10l1.147 1.146a.5.5 0 0 1-.708.708L8 10.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 10 6.146 8.854a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1zm3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5zM2 5h12v9a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5z\"}}]})(props);\n};\nexport function BsBag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1zm3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5zM2 5h12v9a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5z\"}}]})(props);\n};\nexport function BsBank (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 .95 14.61 4h.89a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H15v7a.5.5 0 0 1 .485.379l.5 2A.5.5 0 0 1 15.5 17H.5a.5.5 0 0 1-.485-.621l.5-2A.5.5 0 0 1 1 14V7H.5a.5.5 0 0 1-.5-.5v-2A.5.5 0 0 1 .5 4h.89L8 .95zM3.776 4h8.447L8 2.05 3.776 4zM2 7v7h1V7H2zm2 0v7h2.5V7H4zm3.5 0v7h1V7h-1zm2 0v7H12V7H9.5zM13 7v7h1V7h-1zm2-1V5H1v1h14zm-.39 9H1.39l-.25 1h13.72l-.25-1z\"}}]})(props);\n};\nexport function BsBank2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.277.084a.5.5 0 0 0-.554 0l-7.5 5A.5.5 0 0 0 .5 6h1.875v7H1.5a.5.5 0 0 0 0 1h13a.5.5 0 1 0 0-1h-.875V6H15.5a.5.5 0 0 0 .277-.916l-7.5-5zM12.375 6v7h-1.25V6h1.25zm-2.5 0v7h-1.25V6h1.25zm-2.5 0v7h-1.25V6h1.25zm-2.5 0v7h-1.25V6h1.25zM8 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2zM.5 15a.5.5 0 0 0 0 1h15a.5.5 0 1 0 0-1H.5z\"}}]})(props);\n};\nexport function BsBarChartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 11a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-3zm5-4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7zm5-5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V2z\"}}]})(props);\n};\nexport function BsBarChartLineFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1v-3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3h1V7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7h1V2z\"}}]})(props);\n};\nexport function BsBarChartLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1v-3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3h1V7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7h1V2zm1 12h2V2h-2v12zm-3 0V7H7v7h2zm-5 0v-3H2v3h2z\"}}]})(props);\n};\nexport function BsBarChartSteps (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 0a.5.5 0 0 1 .5.5v15a.5.5 0 0 1-1 0V.5A.5.5 0 0 1 .5 0zM2 1.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-1zm2 4a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1zm2 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-1zm2 4a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1z\"}}]})(props);\n};\nexport function BsBarChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11H2v3h2v-3zm5-4H7v7h2V7zm5-5v12h-2V2h2zm-2-1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1h-2zM6 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7zm-5 4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-3z\"}}]})(props);\n};\nexport function BsBasketFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.071 1.243a.5.5 0 0 1 .858.514L3.383 6h9.234L10.07 1.757a.5.5 0 1 1 .858-.514L13.783 6H15.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H15v5a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V9H.5a.5.5 0 0 1-.5-.5v-2A.5.5 0 0 1 .5 6h1.717L5.07 1.243zM3.5 10.5a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3zm2.5 0a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3zm2.5 0a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3zm2.5 0a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3zm2.5 0a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3z\"}}]})(props);\n};\nexport function BsBasket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.757 1.071a.5.5 0 0 1 .172.686L3.383 6h9.234L10.07 1.757a.5.5 0 1 1 .858-.514L13.783 6H15a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1v4.5a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 1 13.5V9a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h1.217L5.07 1.243a.5.5 0 0 1 .686-.172zM2 9v4.5A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V9H2zM1 7v1h14V7H1zm3 3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0v-3A.5.5 0 0 1 4 10zm2 0a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0v-3A.5.5 0 0 1 6 10zm2 0a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0v-3A.5.5 0 0 1 8 10zm2 0a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 .5-.5zm2 0a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsBasket2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.929 1.757a.5.5 0 1 0-.858-.514L2.217 6H.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h.623l1.844 6.456A.75.75 0 0 0 3.69 15h8.622a.75.75 0 0 0 .722-.544L14.877 8h.623a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1.717L10.93 1.243a.5.5 0 1 0-.858.514L12.617 6H3.383L5.93 1.757zM4 10a1 1 0 0 1 2 0v2a1 1 0 1 1-2 0v-2zm3 0a1 1 0 0 1 2 0v2a1 1 0 1 1-2 0v-2zm4-1a1 1 0 0 1 1 1v2a1 1 0 1 1-2 0v-2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsBasket2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10a1 1 0 0 1 2 0v2a1 1 0 0 1-2 0v-2zm3 0a1 1 0 0 1 2 0v2a1 1 0 0 1-2 0v-2zm3 0a1 1 0 1 1 2 0v2a1 1 0 0 1-2 0v-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.757 1.071a.5.5 0 0 1 .172.686L3.383 6h9.234L10.07 1.757a.5.5 0 1 1 .858-.514L13.783 6H15.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-.623l-1.844 6.456a.75.75 0 0 1-.722.544H3.69a.75.75 0 0 1-.722-.544L1.123 8H.5a.5.5 0 0 1-.5-.5v-1A.5.5 0 0 1 .5 6h1.717L5.07 1.243a.5.5 0 0 1 .686-.172zM2.163 8l1.714 6h8.246l1.714-6H2.163z\"}}]})(props);\n};\nexport function BsBasket3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.757 1.071a.5.5 0 0 1 .172.686L3.383 6h9.234L10.07 1.757a.5.5 0 1 1 .858-.514L13.783 6H15.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-1A.5.5 0 0 1 .5 6h1.717L5.07 1.243a.5.5 0 0 1 .686-.172zM2.468 15.426.943 9h14.114l-1.525 6.426a.75.75 0 0 1-.729.574H3.197a.75.75 0 0 1-.73-.574z\"}}]})(props);\n};\nexport function BsBasket3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.757 1.071a.5.5 0 0 1 .172.686L3.383 6h9.234L10.07 1.757a.5.5 0 1 1 .858-.514L13.783 6H15.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-1A.5.5 0 0 1 .5 6h1.717L5.07 1.243a.5.5 0 0 1 .686-.172zM3.394 15l-1.48-6h-.97l1.525 6.426a.75.75 0 0 0 .729.574h9.606a.75.75 0 0 0 .73-.574L15.056 9h-.972l-1.479 6h-9.21z\"}}]})(props);\n};\nexport function BsBatteryCharging (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.585 2.568a.5.5 0 0 1 .226.58L8.677 6.832h1.99a.5.5 0 0 1 .364.843l-5.334 5.667a.5.5 0 0 1-.842-.49L5.99 9.167H4a.5.5 0 0 1-.364-.843l5.333-5.667a.5.5 0 0 1 .616-.09z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4h4.332l-.94 1H2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h2.38l-.308 1H2a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6h2.45L2.908 7.639A1.5 1.5 0 0 0 3.313 10H2V6zm8.595-2-.308 1H12a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H9.276l-.942 1H12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-1.405z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10h-1.783l1.542-1.639c.097-.103.178-.218.241-.34V10zm0-3.354V6h-.646a1.5 1.5 0 0 1 .646.646zM16 8a1.5 1.5 0 0 1-1.5 1.5v-3A1.5 1.5 0 0 1 16 8z\"}}]})(props);\n};\nexport function BsBatteryFull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6h10v4H2V6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H2zm10 1a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h10zm4 3a1.5 1.5 0 0 1-1.5 1.5v-3A1.5 1.5 0 0 1 16 8z\"}}]})(props);\n};\nexport function BsBatteryHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6h5v4H2V6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H2zm10 1a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h10zm4 3a1.5 1.5 0 0 1-1.5 1.5v-3A1.5 1.5 0 0 1 16 8z\"}}]})(props);\n};\nexport function BsBattery (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 6a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6zm2-1a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H2zm14 3a1.5 1.5 0 0 1-1.5 1.5v-3A1.5 1.5 0 0 1 16 8z\"}}]})(props);\n};\nexport function BsBehance (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.654 3c.461 0 .887.035 1.278.14.39.07.711.216.996.391.286.176.497.426.641.747.14.32.216.711.216 1.137 0 .496-.106.922-.356 1.242-.215.32-.566.606-.997.817.606.176 1.067.496 1.348.922.281.426.461.957.461 1.563 0 .496-.105.922-.285 1.278a2.317 2.317 0 0 1-.782.887c-.32.215-.711.39-1.137.496a5.329 5.329 0 0 1-1.278.176L0 12.803V3h4.654zm-.285 3.978c.39 0 .71-.105.957-.285.246-.18.355-.497.355-.887 0-.216-.035-.426-.105-.567a.981.981 0 0 0-.32-.355 1.84 1.84 0 0 0-.461-.176c-.176-.035-.356-.035-.567-.035H2.17v2.31c0-.005 2.2-.005 2.2-.005zm.105 4.193c.215 0 .426-.035.606-.07.176-.035.356-.106.496-.216s.25-.215.356-.39c.07-.176.14-.391.14-.641 0-.496-.14-.852-.426-1.102-.285-.215-.676-.32-1.137-.32H2.17v2.734h2.305v.005zm6.858-.035c.286.285.711.426 1.278.426.39 0 .746-.106 1.032-.286.285-.215.46-.426.53-.64h1.74c-.286.851-.712 1.457-1.278 1.848-.566.355-1.243.566-2.06.566a4.135 4.135 0 0 1-1.527-.285 2.827 2.827 0 0 1-1.137-.782 2.851 2.851 0 0 1-.712-1.172c-.175-.461-.25-.957-.25-1.528 0-.531.07-1.032.25-1.493.18-.46.426-.852.747-1.207.32-.32.711-.606 1.137-.782a4.018 4.018 0 0 1 1.493-.285c.606 0 1.137.105 1.598.355.46.25.817.532 1.102.958.285.39.496.851.641 1.348.07.496.105.996.07 1.563h-5.15c0 .58.21 1.11.496 1.396zm2.24-3.732c-.25-.25-.642-.391-1.103-.391-.32 0-.566.07-.781.176-.215.105-.356.25-.496.39a.957.957 0 0 0-.25.497c-.036.175-.07.32-.07.46h3.196c-.07-.526-.25-.882-.497-1.132zm-3.127-3.728h3.978v.957h-3.978v-.957z\"}}]})(props);\n};\nexport function BsBellFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16a2 2 0 0 0 2-2H6a2 2 0 0 0 2 2zm.995-14.901a1 1 0 1 0-1.99 0A5.002 5.002 0 0 0 3 6c0 1.098-.5 6-2 7h14c-1.5-1-2-5.902-2-7 0-2.42-1.72-4.44-4.005-4.901z\"}}]})(props);\n};\nexport function BsBellSlashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.164 14H15c-1.5-1-2-5.902-2-7 0-.264-.02-.523-.06-.776L5.164 14zm6.288-10.617A4.988 4.988 0 0 0 8.995 2.1a1 1 0 1 0-1.99 0A5.002 5.002 0 0 0 3 7c0 .898-.335 4.342-1.278 6.113l9.73-9.73zM10 15a2 2 0 1 1-4 0h4zm-9.375.625a.53.53 0 0 0 .75.75l14.75-14.75a.53.53 0 0 0-.75-.75L.625 15.625z\"}}]})(props);\n};\nexport function BsBellSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.164 14H15c-.299-.199-.557-.553-.78-1-.9-1.8-1.22-5.12-1.22-6 0-.264-.02-.523-.06-.776l-.938.938c.02.708.157 2.154.457 3.58.161.767.377 1.566.663 2.258H6.164l-1 1zm5.581-9.91a3.986 3.986 0 0 0-1.948-1.01L8 2.917l-.797.161A4.002 4.002 0 0 0 4 7c0 .628-.134 2.197-.459 3.742-.05.238-.105.479-.166.718l-1.653 1.653c.02-.037.04-.074.059-.113C2.679 11.2 3 7.88 3 7c0-2.42 1.72-4.44 4.005-4.901a1 1 0 1 1 1.99 0c.942.19 1.788.645 2.457 1.284l-.707.707zM10 15a2 2 0 1 1-4 0h4zm-9.375.625a.53.53 0 0 0 .75.75l14.75-14.75a.53.53 0 0 0-.75-.75L.625 15.625z\"}}]})(props);\n};\nexport function BsBell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16a2 2 0 0 0 2-2H6a2 2 0 0 0 2 2zM8 1.918l-.797.161A4.002 4.002 0 0 0 4 6c0 .628-.134 2.197-.459 3.742-.16.767-.376 1.566-.663 2.258h10.244c-.287-.692-.502-1.49-.663-2.258C12.134 8.197 12 6.628 12 6a4.002 4.002 0 0 0-3.203-3.92L8 1.917zM14.22 12c.223.447.481.801.78 1H1c.299-.199.557-.553.78-1C2.68 10.2 3 6.88 3 6c0-2.42 1.72-4.44 4.005-4.901a1 1 0 1 1 1.99 0A5.002 5.002 0 0 1 13 6c0 .88.32 4.2 1.22 6z\"}}]})(props);\n};\nexport function BsBezier (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 10.5A1.5 1.5 0 0 1 1.5 9h1A1.5 1.5 0 0 1 4 10.5v1A1.5 1.5 0 0 1 2.5 13h-1A1.5 1.5 0 0 1 0 11.5v-1zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zm10.5.5A1.5 1.5 0 0 1 13.5 9h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5v-1zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM6 4.5A1.5 1.5 0 0 1 7.5 3h1A1.5 1.5 0 0 1 10 4.5v1A1.5 1.5 0 0 1 8.5 7h-1A1.5 1.5 0 0 1 6 5.5v-1zM7.5 4a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 4.5H1.866a1 1 0 1 0 0 1h2.668A6.517 6.517 0 0 0 1.814 9H2.5c.123 0 .244.015.358.043a5.517 5.517 0 0 1 3.185-3.185A1.503 1.503 0 0 1 6 5.5v-1zm3.957 1.358A1.5 1.5 0 0 0 10 5.5v-1h4.134a1 1 0 1 1 0 1h-2.668a6.517 6.517 0 0 1 2.72 3.5H13.5c-.123 0-.243.015-.358.043a5.517 5.517 0 0 0-3.185-3.185z\"}}]})(props);\n};\nexport function BsBezier2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 2.5A1.5 1.5 0 0 1 2.5 1h1A1.5 1.5 0 0 1 5 2.5h4.134a1 1 0 1 1 0 1h-2.01c.18.18.34.381.484.605.638.992.892 2.354.892 3.895 0 1.993.257 3.092.713 3.7.356.476.895.721 1.787.784A1.5 1.5 0 0 1 12.5 11h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5H6.866a1 1 0 1 1 0-1h1.711a2.839 2.839 0 0 1-.165-.2C7.743 11.407 7.5 10.007 7.5 8c0-1.46-.246-2.597-.733-3.355-.39-.605-.952-1-1.767-1.112A1.5 1.5 0 0 1 3.5 5h-1A1.5 1.5 0 0 1 1 3.5v-1zM2.5 2a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zm10 10a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsBicycle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4.5a.5.5 0 0 1 .5-.5H6a.5.5 0 0 1 0 1v.5h4.14l.386-1.158A.5.5 0 0 1 11 4h1a.5.5 0 0 1 0 1h-.64l-.311.935.807 1.29a3 3 0 1 1-.848.53l-.508-.812-2.076 3.322A.5.5 0 0 1 8 10.5H5.959a3 3 0 1 1-1.815-3.274L5 5.856V5h-.5a.5.5 0 0 1-.5-.5zm1.5 2.443-.508.814c.5.444.85 1.054.967 1.743h1.139L5.5 6.943zM8 9.057 9.598 6.5H6.402L8 9.057zM4.937 9.5a1.997 1.997 0 0 0-.487-.877l-.548.877h1.035zM3.603 8.092A2 2 0 1 0 4.937 10.5H3a.5.5 0 0 1-.424-.765l1.027-1.643zm7.947.53a2 2 0 1 0 .848-.53l1.026 1.643a.5.5 0 1 1-.848.53L11.55 8.623z\"}}]})(props);\n};\nexport function BsBinocularsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 1A1.5 1.5 0 0 0 3 2.5V3h4v-.5A1.5 1.5 0 0 0 5.5 1h-1zM7 4v1h2V4h4v.882a.5.5 0 0 0 .276.447l.895.447A1.5 1.5 0 0 1 15 7.118V13H9v-1.5a.5.5 0 0 1 .146-.354l.854-.853V9.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v.793l.854.853A.5.5 0 0 1 7 11.5V13H1V7.118a1.5 1.5 0 0 1 .83-1.342l.894-.447A.5.5 0 0 0 3 4.882V4h4zM1 14v.5A1.5 1.5 0 0 0 2.5 16h3A1.5 1.5 0 0 0 7 14.5V14H1zm8 0v.5a1.5 1.5 0 0 0 1.5 1.5h3a1.5 1.5 0 0 0 1.5-1.5V14H9zm4-11H9v-.5A1.5 1.5 0 0 1 10.5 1h1A1.5 1.5 0 0 1 13 2.5V3z\"}}]})(props);\n};\nexport function BsBinoculars (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2.5A1.5 1.5 0 0 1 4.5 1h1A1.5 1.5 0 0 1 7 2.5V5h2V2.5A1.5 1.5 0 0 1 10.5 1h1A1.5 1.5 0 0 1 13 2.5v2.382a.5.5 0 0 0 .276.447l.895.447A1.5 1.5 0 0 1 15 7.118V14.5a1.5 1.5 0 0 1-1.5 1.5h-3A1.5 1.5 0 0 1 9 14.5v-3a.5.5 0 0 1 .146-.354l.854-.853V9.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v.793l.854.853A.5.5 0 0 1 7 11.5v3A1.5 1.5 0 0 1 5.5 16h-3A1.5 1.5 0 0 1 1 14.5V7.118a1.5 1.5 0 0 1 .83-1.342l.894-.447A.5.5 0 0 0 3 4.882V2.5zM4.5 2a.5.5 0 0 0-.5.5V3h2v-.5a.5.5 0 0 0-.5-.5h-1zM6 4H4v.882a1.5 1.5 0 0 1-.83 1.342l-.894.447A.5.5 0 0 0 2 7.118V13h4v-1.293l-.854-.853A.5.5 0 0 1 5 10.5v-1A1.5 1.5 0 0 1 6.5 8h3A1.5 1.5 0 0 1 11 9.5v1a.5.5 0 0 1-.146.354l-.854.853V13h4V7.118a.5.5 0 0 0-.276-.447l-.895-.447A1.5 1.5 0 0 1 12 4.882V4h-2v1.5a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V4zm4-1h2v-.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5V3zm4 11h-4v.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5V14zm-8 0H2v.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5V14z\"}}]})(props);\n};\nexport function BsBlockquoteLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 3a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11zm5 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6zm0 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6zm-5 3a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11zm.79-5.373c.112-.078.26-.17.444-.275L3.524 6c-.122.074-.272.17-.452.287-.18.117-.35.26-.51.428a2.425 2.425 0 0 0-.398.562c-.11.207-.164.438-.164.692 0 .36.072.65.217.873.144.219.385.328.72.328.215 0 .383-.07.504-.211a.697.697 0 0 0 .188-.463c0-.23-.07-.404-.211-.521-.137-.121-.326-.182-.568-.182h-.282c.024-.203.065-.37.123-.498a1.38 1.38 0 0 1 .252-.37 1.94 1.94 0 0 1 .346-.298zm2.167 0c.113-.078.262-.17.445-.275L5.692 6c-.122.074-.272.17-.452.287-.18.117-.35.26-.51.428a2.425 2.425 0 0 0-.398.562c-.11.207-.164.438-.164.692 0 .36.072.65.217.873.144.219.385.328.72.328.215 0 .383-.07.504-.211a.697.697 0 0 0 .188-.463c0-.23-.07-.404-.211-.521-.137-.121-.326-.182-.568-.182h-.282a1.75 1.75 0 0 1 .118-.492c.058-.13.144-.254.257-.375a1.94 1.94 0 0 1 .346-.3z\"}}]})(props);\n};\nexport function BsBlockquoteRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 3a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11zm0 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6zm0 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6zm0 3a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11zm10.113-5.373a6.59 6.59 0 0 0-.445-.275l.21-.352c.122.074.272.17.452.287.18.117.35.26.51.428.156.164.289.351.398.562.11.207.164.438.164.692 0 .36-.072.65-.216.873-.145.219-.385.328-.721.328-.215 0-.383-.07-.504-.211a.697.697 0 0 1-.188-.463c0-.23.07-.404.211-.521.137-.121.326-.182.569-.182h.281a1.686 1.686 0 0 0-.123-.498 1.379 1.379 0 0 0-.252-.37 1.94 1.94 0 0 0-.346-.298zm-2.168 0A6.59 6.59 0 0 0 10 6.352L10.21 6c.122.074.272.17.452.287.18.117.35.26.51.428.156.164.289.351.398.562.11.207.164.438.164.692 0 .36-.072.65-.216.873-.145.219-.385.328-.721.328-.215 0-.383-.07-.504-.211a.697.697 0 0 1-.188-.463c0-.23.07-.404.211-.521.137-.121.327-.182.569-.182h.281a1.749 1.749 0 0 0-.117-.492 1.402 1.402 0 0 0-.258-.375 1.94 1.94 0 0 0-.346-.3z\"}}]})(props);\n};\nexport function BsBookFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1.783C7.015.936 5.587.81 4.287.94c-1.514.153-3.042.672-3.994 1.105A.5.5 0 0 0 0 2.5v11a.5.5 0 0 0 .707.455c.882-.4 2.303-.881 3.68-1.02 1.409-.142 2.59.087 3.223.877a.5.5 0 0 0 .78 0c.633-.79 1.814-1.019 3.222-.877 1.378.139 2.8.62 3.681 1.02A.5.5 0 0 0 16 13.5v-11a.5.5 0 0 0-.293-.455c-.952-.433-2.48-.952-3.994-1.105C10.413.809 8.985.936 8 1.783z\"}}]})(props);\n};\nexport function BsBookHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 2.687c.654-.689 1.782-.886 3.112-.752 1.234.124 2.503.523 3.388.893v9.923c-.918-.35-2.107-.692-3.287-.81-1.094-.111-2.278-.039-3.213.492V2.687zM8 1.783C7.015.936 5.587.81 4.287.94c-1.514.153-3.042.672-3.994 1.105A.5.5 0 0 0 0 2.5v11a.5.5 0 0 0 .707.455c.882-.4 2.303-.881 3.68-1.02 1.409-.142 2.59.087 3.223.877a.5.5 0 0 0 .78 0c.633-.79 1.814-1.019 3.222-.877 1.378.139 2.8.62 3.681 1.02A.5.5 0 0 0 16 13.5v-11a.5.5 0 0 0-.293-.455c-.952-.433-2.48-.952-3.994-1.105C10.413.809 8.985.936 8 1.783z\"}}]})(props);\n};\nexport function BsBook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.828c.885-.37 2.154-.769 3.388-.893 1.33-.134 2.458.063 3.112.752v9.746c-.935-.53-2.12-.603-3.213-.493-1.18.12-2.37.461-3.287.811V2.828zm7.5-.141c.654-.689 1.782-.886 3.112-.752 1.234.124 2.503.523 3.388.893v9.923c-.918-.35-2.107-.692-3.287-.81-1.094-.111-2.278-.039-3.213.492V2.687zM8 1.783C7.015.936 5.587.81 4.287.94c-1.514.153-3.042.672-3.994 1.105A.5.5 0 0 0 0 2.5v11a.5.5 0 0 0 .707.455c.882-.4 2.303-.881 3.68-1.02 1.409-.142 2.59.087 3.223.877a.5.5 0 0 0 .78 0c.633-.79 1.814-1.019 3.222-.877 1.378.139 2.8.62 3.681 1.02A.5.5 0 0 0 16 13.5v-11a.5.5 0 0 0-.293-.455c-.952-.433-2.48-.952-3.994-1.105C10.413.809 8.985.936 8 1.783z\"}}]})(props);\n};\nexport function BsBookmarkCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zm8.854-9.646a.5.5 0 0 0-.708-.708L7.5 7.793 6.354 6.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z\"}}]})(props);\n};\nexport function BsBookmarkCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.854 5.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 7.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.777.416L8 13.101l-5.223 2.815A.5.5 0 0 1 2 15.5V2zm2-1a1 1 0 0 0-1 1v12.566l4.723-2.482a.5.5 0 0 1 .554 0L13 14.566V2a1 1 0 0 0-1-1H4z\"}}]})(props);\n};\nexport function BsBookmarkDashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zM6 6a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6z\"}}]})(props);\n};\nexport function BsBookmarkDash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.5 6.5A.5.5 0 0 1 6 6h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.777.416L8 13.101l-5.223 2.815A.5.5 0 0 1 2 15.5V2zm2-1a1 1 0 0 0-1 1v12.566l4.723-2.482a.5.5 0 0 1 .554 0L13 14.566V2a1 1 0 0 0-1-1H4z\"}}]})(props);\n};\nexport function BsBookmarkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2v13.5a.5.5 0 0 0 .74.439L8 13.069l5.26 2.87A.5.5 0 0 0 14 15.5V2a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2z\"}}]})(props);\n};\nexport function BsBookmarkHeartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 15.5a.5.5 0 0 0 .74.439L8 13.069l5.26 2.87A.5.5 0 0 0 14 15.5V2a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v13.5zM8 4.41c1.387-1.425 4.854 1.07 0 4.277C3.146 5.48 6.613 2.986 8 4.412z\"}}]})(props);\n};\nexport function BsBookmarkHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 4.41c1.387-1.425 4.854 1.07 0 4.277C3.146 5.48 6.613 2.986 8 4.412z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.777.416L8 13.101l-5.223 2.815A.5.5 0 0 1 2 15.5V2zm2-1a1 1 0 0 0-1 1v12.566l4.723-2.482a.5.5 0 0 1 .554 0L13 14.566V2a1 1 0 0 0-1-1H4z\"}}]})(props);\n};\nexport function BsBookmarkPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zm6.5-11a.5.5 0 0 0-1 0V6H6a.5.5 0 0 0 0 1h1.5v1.5a.5.5 0 0 0 1 0V7H10a.5.5 0 0 0 0-1H8.5V4.5z\"}}]})(props);\n};\nexport function BsBookmarkPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.777.416L8 13.101l-5.223 2.815A.5.5 0 0 1 2 15.5V2zm2-1a1 1 0 0 0-1 1v12.566l4.723-2.482a.5.5 0 0 1 .554 0L13 14.566V2a1 1 0 0 0-1-1H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4a.5.5 0 0 1 .5.5V6H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V7H6a.5.5 0 0 1 0-1h1.5V4.5A.5.5 0 0 1 8 4z\"}}]})(props);\n};\nexport function BsBookmarkStarFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zM8.16 4.1a.178.178 0 0 0-.32 0l-.634 1.285a.178.178 0 0 1-.134.098l-1.42.206a.178.178 0 0 0-.098.303L6.58 6.993c.042.041.061.1.051.158L6.39 8.565a.178.178 0 0 0 .258.187l1.27-.668a.178.178 0 0 1 .165 0l1.27.668a.178.178 0 0 0 .257-.187L9.368 7.15a.178.178 0 0 1 .05-.158l1.028-1.001a.178.178 0 0 0-.098-.303l-1.42-.206a.178.178 0 0 1-.134-.098L8.16 4.1z\"}}]})(props);\n};\nexport function BsBookmarkStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.84 4.1a.178.178 0 0 1 .32 0l.634 1.285a.178.178 0 0 0 .134.098l1.42.206c.145.021.204.2.098.303L9.42 6.993a.178.178 0 0 0-.051.158l.242 1.414a.178.178 0 0 1-.258.187l-1.27-.668a.178.178 0 0 0-.165 0l-1.27.668a.178.178 0 0 1-.257-.187l.242-1.414a.178.178 0 0 0-.05-.158l-1.03-1.001a.178.178 0 0 1 .098-.303l1.42-.206a.178.178 0 0 0 .134-.098L7.84 4.1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.777.416L8 13.101l-5.223 2.815A.5.5 0 0 1 2 15.5V2zm2-1a1 1 0 0 0-1 1v12.566l4.723-2.482a.5.5 0 0 1 .554 0L13 14.566V2a1 1 0 0 0-1-1H4z\"}}]})(props);\n};\nexport function BsBookmarkXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zM6.854 5.146a.5.5 0 1 0-.708.708L7.293 7 6.146 8.146a.5.5 0 1 0 .708.708L8 7.707l1.146 1.147a.5.5 0 1 0 .708-.708L8.707 7l1.147-1.146a.5.5 0 0 0-.708-.708L8 6.293 6.854 5.146z\"}}]})(props);\n};\nexport function BsBookmarkX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.146 5.146a.5.5 0 0 1 .708 0L8 6.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 7l1.147 1.146a.5.5 0 0 1-.708.708L8 7.707 6.854 8.854a.5.5 0 1 1-.708-.708L7.293 7 6.146 5.854a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.777.416L8 13.101l-5.223 2.815A.5.5 0 0 1 2 15.5V2zm2-1a1 1 0 0 0-1 1v12.566l4.723-2.482a.5.5 0 0 1 .554 0L13 14.566V2a1 1 0 0 0-1-1H4z\"}}]})(props);\n};\nexport function BsBookmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.777.416L8 13.101l-5.223 2.815A.5.5 0 0 1 2 15.5V2zm2-1a1 1 0 0 0-1 1v12.566l4.723-2.482a.5.5 0 0 1 .554 0L13 14.566V2a1 1 0 0 0-1-1H4z\"}}]})(props);\n};\nexport function BsBookmarksFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v11.5a.5.5 0 0 1-.777.416L7 13.101l-4.223 2.815A.5.5 0 0 1 2 15.5V4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.268 1A2 2 0 0 1 6 0h6a2 2 0 0 1 2 2v11.5a.5.5 0 0 1-.777.416L13 13.768V2a1 1 0 0 0-1-1H4.268z\"}}]})(props);\n};\nexport function BsBookmarks (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v11.5a.5.5 0 0 1-.777.416L7 13.101l-4.223 2.815A.5.5 0 0 1 2 15.5V4zm2-1a1 1 0 0 0-1 1v10.566l3.723-2.482a.5.5 0 0 1 .554 0L11 14.566V4a1 1 0 0 0-1-1H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.268 1H12a1 1 0 0 1 1 1v11.768l.223.148A.5.5 0 0 0 14 13.5V2a2 2 0 0 0-2-2H6a2 2 0 0 0-1.732 1z\"}}]})(props);\n};\nexport function BsBookshelf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 0a.5.5 0 0 1 .5.5V2h10V.5a.5.5 0 0 1 1 0v15a.5.5 0 0 1-1 0V15H3v.5a.5.5 0 0 1-1 0V.5a.5.5 0 0 1 .5-.5zM3 14h10v-3H3v3zm0-4h10V7H3v3zm0-4h10V3H3v3z\"}}]})(props);\n};\nexport function BsBootstrapFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.375 7.125V4.658h1.78c.973 0 1.542.457 1.542 1.237 0 .802-.604 1.23-1.764 1.23H6.375zm0 3.762h1.898c1.184 0 1.81-.48 1.81-1.377 0-.885-.65-1.348-1.886-1.348H6.375v2.725z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.002 0a4 4 0 0 0-4 4v8a4 4 0 0 0 4 4h8a4 4 0 0 0 4-4V4a4 4 0 0 0-4-4h-8zm1.06 12V3.545h3.399c1.587 0 2.543.809 2.543 2.11 0 .884-.65 1.675-1.483 1.816v.1c1.143.117 1.904.931 1.904 2.033 0 1.488-1.084 2.396-2.888 2.396H5.062z\"}}]})(props);\n};\nexport function BsBootstrapReboot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.161 8a6.84 6.84 0 1 0 6.842-6.84.58.58 0 1 1 0-1.16 8 8 0 1 1-6.556 3.412l-.663-.577a.58.58 0 0 1 .227-.997l2.52-.69a.58.58 0 0 1 .728.633l-.332 2.592a.58.58 0 0 1-.956.364l-.643-.56A6.812 6.812 0 0 0 1.16 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.641 11.671V8.843h1.57l1.498 2.828h1.314L9.377 8.665c.897-.3 1.427-1.106 1.427-2.1 0-1.37-.943-2.246-2.456-2.246H5.5v7.352h1.141zm0-3.75V5.277h1.57c.881 0 1.416.499 1.416 1.32 0 .84-.504 1.324-1.386 1.324h-1.6z\"}}]})(props);\n};\nexport function BsBootstrap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.062 12h3.475c1.804 0 2.888-.908 2.888-2.396 0-1.102-.761-1.916-1.904-2.034v-.1c.832-.14 1.482-.93 1.482-1.816 0-1.3-.955-2.11-2.542-2.11H5.062V12zm1.313-4.875V4.658h1.78c.973 0 1.542.457 1.542 1.237 0 .802-.604 1.23-1.764 1.23H6.375zm0 3.762V8.162h1.822c1.236 0 1.887.463 1.887 1.348 0 .896-.627 1.377-1.811 1.377H6.375z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v8a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V4zm4-3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3H4z\"}}]})(props);\n};\nexport function BsBorderAll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 0h16v16H0V0zm1 1v6.5h6.5V1H1zm7.5 0v6.5H15V1H8.5zM15 8.5H8.5V15H15V8.5zM7.5 15V8.5H1V15h6.5z\"}}]})(props);\n};\nexport function BsBorderBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.969 0H0v.969h.5V1h.469V.969H1V.5H.969V0zm.937 1h.938V0h-.938v1zm1.875 0h.938V0H3.78v1zm1.875 0h.938V0h-.938v1zM7.531.969V1h.938V.969H8.5V.5h-.031V0H7.53v.5H7.5v.469h.031zM9.406 1h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.469V.969h.5V0h-.969v.5H15v.469h.031V1zM1 2.844v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM1 4.719V3.78H0v.938h1zm6.5-.938v.938h1V3.78h-1zm7.5 0v.938h1V3.78h-1zM1 6.594v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM.5 8.5h.469v-.031H1V7.53H.969V7.5H.5v.031H0v.938h.5V8.5zm1.406 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm2.813 0v-.031H8.5V7.53h-.031V7.5H7.53v.031H7.5v.938h.031V8.5h.938zm.937 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.469v-.031h.5V7.53h-.5V7.5h-.469v.031H15v.938h.031V8.5zM0 9.406v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zM0 15h16v1H0v-1z\"}}]})(props);\n};\nexport function BsBorderCenter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.969 0H0v.969h.5V1h.469V.969H1V.5H.969V0zm.937 1h.938V0h-.938v1zm1.875 0h.938V0H3.78v1zm1.875 0h.938V0h-.938v1zM7.531.969V1h.938V.969H8.5V.5h-.031V0H7.53v.5H7.5v.469h.031zM9.406 1h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.469V.969h.5V0h-.969v.5H15v.469h.031V1zM1 2.844v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM1 4.719V3.78H0v.938h1zm6.5-.938v.938h1V3.78h-1zm7.5 0v.938h1V3.78h-1zM1 6.594v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM0 8.5v-1h16v1H0zm0 .906v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zM0 16h.969v-.5H1v-.469H.969V15H.5v.031H0V16zm1.906 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5h.938v-.5H8.5v-.469h-.031V15H7.53v.031H7.5v.469h.031zm1.875.5h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5H16v-.969h-.5V15h-.469v.031H15v.469h.031z\"}}]})(props);\n};\nexport function BsBorderInner (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.969 0H0v.969h.5V1h.469V.969H1V.5H.969V0zm.937 1h.938V0h-.938v1zm1.875 0h.938V0H3.78v1zm1.875 0h.938V0h-.938v1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 7.5H16v1H8.5V16h-1V8.5H0v-1h7.5V0h1v7.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.406 1h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.469V.969h.5V0h-.969v.5H15v.469h.031V1zM1 2.844v-.938H0v.938h1zm14-.938v.938h1v-.938h-1zM1 4.719V3.78H0v.938h1zm14-.938v.938h1V3.78h-1zM1 6.594v-.938H0v.938h1zm14-.938v.938h1v-.938h-1zM0 9.406v.938h1v-.938H0zm16 .938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm16 .938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm16 .938v-.938h-1v.938h1zM0 16h.969v-.5H1v-.469H.969V15H.5v.031H0V16zm1.906 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm3.75 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5H16v-.969h-.5V15h-.469v.031H15v.469h.031z\"}}]})(props);\n};\nexport function BsBorderLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 0v16h1V0H0zm1.906 1h.938V0h-.938v1zm1.875 0h.938V0H3.78v1zm1.875 0h.938V0h-.938v1zM7.531.969V1h.938V.969H8.5V.5h-.031V0H7.53v.5H7.5v.469h.031zM9.406 1h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.469V.969h.5V0h-.969v.5H15v.469h.031V1zM7.5 1.906v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM7.5 3.781v.938h1V3.78h-1zm7.5 0v.938h1V3.78h-1zM7.5 5.656v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM1.906 8.5h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm2.813 0v-.031H8.5V7.53h-.031V7.5H7.53v.031H7.5v.938h.031V8.5h.938zm.937 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.469v-.031h.5V7.53h-.5V7.5h-.469v.031H15v.938h.031V8.5zM7.5 9.406v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-8.5.937v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-8.5.937v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zM1.906 16h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5h.938v-.5H8.5v-.469h-.031V15H7.53v.031H7.5v.469h.031zm1.875.5h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5H16v-.969h-.5V15h-.469v.031H15v.469h.031z\"}}]})(props);\n};\nexport function BsBorderMiddle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.969 0H0v.969h.5V1h.469V.969H1V.5H.969V0zm.937 1h.938V0h-.938v1zm1.875 0h.938V0H3.78v1zm1.875 0h.938V0h-.938v1zM8.5 16h-1V0h1v16zm.906-15h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.469V.969h.5V0h-.969v.5H15v.469h.031V1zM1 2.844v-.938H0v.938h1zm14-.938v.938h1v-.938h-1zM1 4.719V3.78H0v.938h1zm14-.938v.938h1V3.78h-1zM1 6.594v-.938H0v.938h1zm14-.938v.938h1v-.938h-1zM.5 8.5h.469v-.031H1V7.53H.969V7.5H.5v.031H0v.938h.5V8.5zm1.406 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm3.75 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.469v-.031h.5V7.53h-.5V7.5h-.469v.031H15v.938h.031V8.5zM0 9.406v.938h1v-.938H0zm16 .938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm16 .938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm16 .938v-.938h-1v.938h1zM0 16h.969v-.5H1v-.469H.969V15H.5v.031H0V16zm1.906 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm3.75 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5H16v-.969h-.5V15h-.469v.031H15v.469h.031z\"}}]})(props);\n};\nexport function BsBorderOuter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 1.906v.938h1v-.938h-1zm0 1.875v.938h1V3.78h-1zm0 1.875v.938h1v-.938h-1zM1.906 8.5h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm2.813 0v-.031H8.5V7.53h-.031V7.5H7.53v.031H7.5v.938h.031V8.5h.938zm.937 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zM7.5 9.406v.938h1v-.938h-1zm0 1.875v.938h1v-.938h-1zm0 1.875v.938h1v-.938h-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 0v16h16V0H0zm1 1h14v14H1V1z\"}}]})(props);\n};\nexport function BsBorderRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.969 0H0v.969h.5V1h.469V.969H1V.5H.969V0zm.937 1h.938V0h-.938v1zm1.875 0h.938V0H3.78v1zm1.875 0h.938V0h-.938v1zM7.531.969V1h.938V.969H8.5V.5h-.031V0H7.53v.5H7.5v.469h.031zM9.406 1h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zM16 0h-1v16h1V0zM1 2.844v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zM1 4.719V3.78H0v.938h1zm6.5-.938v.938h1V3.78h-1zM1 6.594v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zM.5 8.5h.469v-.031H1V7.53H.969V7.5H.5v.031H0v.938h.5V8.5zm1.406 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm2.813 0v-.031H8.5V7.53h-.031V7.5H7.53v.031H7.5v.938h.031V8.5h.938zm.937 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zM0 9.406v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zM0 11.281v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zM0 13.156v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zM0 16h.969v-.5H1v-.469H.969V15H.5v.031H0V16zm1.906 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5h.938v-.5H8.5v-.469h-.031V15H7.53v.031H7.5v.469h.031zm1.875.5h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1z\"}}]})(props);\n};\nexport function BsBorderStyle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 3.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-1zm0 4a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-1zm0 4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm8 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-4 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm8 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-4-4a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-1z\"}}]})(props);\n};\nexport function BsBorderTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 0v1h16V0H0zm1 2.844v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM1 4.719V3.78H0v.938h1zm6.5-.938v.938h1V3.78h-1zm7.5 0v.938h1V3.78h-1zM1 6.594v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM.5 8.5h.469v-.031H1V7.53H.969V7.5H.5v.031H0v.938h.5V8.5zm1.406 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm2.813 0v-.031H8.5V7.53h-.031V7.5H7.53v.031H7.5v.938h.031V8.5h.938zm.937 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.469v-.031h.5V7.53h-.5V7.5h-.469v.031H15v.938h.031V8.5zM0 9.406v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zM0 16h.969v-.5H1v-.469H.969V15H.5v.031H0V16zm1.906 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5h.938v-.5H8.5v-.469h-.031V15H7.53v.031H7.5v.469h.031zm1.875.5h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5H16v-.969h-.5V15h-.469v.031H15v.469h.031z\"}}]})(props);\n};\nexport function BsBorderWidth (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3.5A.5.5 0 0 1 .5 3h15a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-2zm0 5A.5.5 0 0 1 .5 8h15a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-1zm0 4a.5.5 0 0 1 .5-.5h15a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsBorder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 0h.969v.5H1v.469H.969V1H.5V.969H0V0zm2.844 1h-.938V0h.938v1zm1.875 0H3.78V0h.938v1zm1.875 0h-.938V0h.938v1zm.937 0V.969H7.5V.5h.031V0h.938v.5H8.5v.469h-.031V1H7.53zm2.813 0h-.938V0h.938v1zm1.875 0h-.938V0h.938v1zm1.875 0h-.938V0h.938v1zM15.5 1h-.469V.969H15V.5h.031V0H16v.969h-.5V1zM1 1.906v.938H0v-.938h1zm6.5.938v-.938h1v.938h-1zm7.5 0v-.938h1v.938h-1zM1 3.78v.938H0V3.78h1zm6.5.938V3.78h1v.938h-1zm7.5 0V3.78h1v.938h-1zM1 5.656v.938H0v-.938h1zm6.5.938v-.938h1v.938h-1zm7.5 0v-.938h1v.938h-1zM.969 8.5H.5v-.031H0V7.53h.5V7.5h.469v.031H1v.938H.969V8.5zm1.875 0h-.938v-1h.938v1zm1.875 0H3.78v-1h.938v1zm1.875 0h-.938v-1h.938v1zm1.875-.031V8.5H7.53v-.031H7.5V7.53h.031V7.5h.938v.031H8.5v.938h-.031zm1.875.031h-.938v-1h.938v1zm1.875 0h-.938v-1h.938v1zm1.875 0h-.938v-1h.938v1zm1.406 0h-.469v-.031H15V7.53h.031V7.5h.469v.031h.5v.938h-.5V8.5zM0 10.344v-.938h1v.938H0zm7.5 0v-.938h1v.938h-1zm8.5-.938v.938h-1v-.938h1zM0 12.22v-.938h1v.938H0zm7.5 0v-.938h1v.938h-1zm8.5-.938v.938h-1v-.938h1zM0 14.094v-.938h1v.938H0zm7.5 0v-.938h1v.938h-1zm8.5-.938v.938h-1v-.938h1zM.969 16H0v-.969h.5V15h.469v.031H1v.469H.969v.5zm1.875 0h-.938v-1h.938v1zm1.875 0H3.78v-1h.938v1zm1.875 0h-.938v-1h.938v1zm.937 0v-.5H7.5v-.469h.031V15h.938v.031H8.5v.469h-.031v.5H7.53zm2.813 0h-.938v-1h.938v1zm1.875 0h-.938v-1h.938v1zm1.875 0h-.938v-1h.938v1zm.937 0v-.5H15v-.469h.031V15h.469v.031h.5V16h-.969z\"}}]})(props);\n};\nexport function BsBoundingBoxCircles (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 1 0 0 2 1 1 0 0 0 0-2zM0 2a2 2 0 0 1 3.937-.5h8.126A2 2 0 1 1 14.5 3.937v8.126a2 2 0 1 1-2.437 2.437H3.937A2 2 0 1 1 1.5 12.063V3.937A2 2 0 0 1 0 2zm2.5 1.937v8.126c.703.18 1.256.734 1.437 1.437h8.126a2.004 2.004 0 0 1 1.437-1.437V3.937A2.004 2.004 0 0 1 12.063 2.5H3.937A2.004 2.004 0 0 1 2.5 3.937zM14 1a1 1 0 1 0 0 2 1 1 0 0 0 0-2zM2 13a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm12 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsBoundingBox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2V0H0v5h2v6H0v5h5v-2h6v2h5v-5h-2V5h2V0h-5v2H5zm6 1v2h2v6h-2v2H5v-2H3V5h2V3h6zm1-2h3v3h-3V1zm3 11v3h-3v-3h3zM4 15H1v-3h3v3zM1 4V1h3v3H1z\"}}]})(props);\n};\nexport function BsBoxArrowDownLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.364 12.5a.5.5 0 0 0 .5.5H14.5a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 14.5 0h-10A1.5 1.5 0 0 0 3 1.5v6.636a.5.5 0 1 0 1 0V1.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5H7.864a.5.5 0 0 0-.5.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 15.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 0-1H1.707l8.147-8.146a.5.5 0 0 0-.708-.708L1 14.293V10.5a.5.5 0 0 0-1 0v5z\"}}]})(props);\n};\nexport function BsBoxArrowDownRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.636 12.5a.5.5 0 0 1-.5.5H1.5A1.5 1.5 0 0 1 0 11.5v-10A1.5 1.5 0 0 1 1.5 0h10A1.5 1.5 0 0 1 13 1.5v6.636a.5.5 0 0 1-1 0V1.5a.5.5 0 0 0-.5-.5h-10a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h6.636a.5.5 0 0 1 .5.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16 15.5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1 0-1h3.793L6.146 6.854a.5.5 0 1 1 .708-.708L15 14.293V10.5a.5.5 0 0 1 1 0v5z\"}}]})(props);\n};\nexport function BsBoxArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.5 10a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 0 0 1h2A1.5 1.5 0 0 0 14 9.5v-8A1.5 1.5 0 0 0 12.5 0h-9A1.5 1.5 0 0 0 2 1.5v8A1.5 1.5 0 0 0 3.5 11h2a.5.5 0 0 0 0-1h-2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 15.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 14.293V5.5a.5.5 0 0 0-1 0v8.793l-2.146-2.147a.5.5 0 0 0-.708.708l3 3z\"}}]})(props);\n};\nexport function BsBoxArrowInDownLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.636 2.5a.5.5 0 0 0-.5-.5H2.5A1.5 1.5 0 0 0 1 3.5v10A1.5 1.5 0 0 0 2.5 15h10a1.5 1.5 0 0 0 1.5-1.5V6.864a.5.5 0 0 0-1 0V13.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 10.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 0-1H6.707l8.147-8.146a.5.5 0 0 0-.708-.708L6 9.293V5.5a.5.5 0 0 0-1 0v5z\"}}]})(props);\n};\nexport function BsBoxArrowInDownRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.364 2.5a.5.5 0 0 1 .5-.5H13.5A1.5 1.5 0 0 1 15 3.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 2 13.5V6.864a.5.5 0 1 1 1 0V13.5a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5H6.864a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11 10.5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1 0-1h3.793L1.146 1.854a.5.5 0 1 1 .708-.708L10 9.293V5.5a.5.5 0 0 1 1 0v5z\"}}]})(props);\n};\nexport function BsBoxArrowInDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.5 6a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 1 0-1h2A1.5 1.5 0 0 1 14 6.5v8a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5v-8A1.5 1.5 0 0 1 3.5 5h2a.5.5 0 0 1 0 1h-2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z\"}}]})(props);\n};\nexport function BsBoxArrowInLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 3.5a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 1 1 0v2A1.5 1.5 0 0 1 9.5 14h-8A1.5 1.5 0 0 1 0 12.5v-9A1.5 1.5 0 0 1 1.5 2h8A1.5 1.5 0 0 1 11 3.5v2a.5.5 0 0 1-1 0v-2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.146 8.354a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H14.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3z\"}}]})(props);\n};\nexport function BsBoxArrowInRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 3.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 0-1 0v2A1.5 1.5 0 0 0 6.5 14h8a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-8A1.5 1.5 0 0 0 5 3.5v2a.5.5 0 0 0 1 0v-2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.854 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H1.5a.5.5 0 0 0 0 1h8.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3z\"}}]})(props);\n};\nexport function BsBoxArrowInUpLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.636 13.5a.5.5 0 0 1-.5.5H2.5A1.5 1.5 0 0 1 1 12.5v-10A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v6.636a.5.5 0 0 1-1 0V2.5a.5.5 0 0 0-.5-.5h-10a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h6.636a.5.5 0 0 1 .5.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 5.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1H6.707l8.147 8.146a.5.5 0 0 1-.708.708L6 6.707V10.5a.5.5 0 0 1-1 0v-5z\"}}]})(props);\n};\nexport function BsBoxArrowInUpRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.364 13.5a.5.5 0 0 0 .5.5H13.5a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 13.5 1h-10A1.5 1.5 0 0 0 2 2.5v6.636a.5.5 0 1 0 1 0V2.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5H6.864a.5.5 0 0 0-.5.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11 5.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793l-8.147 8.146a.5.5 0 0 0 .708.708L10 6.707V10.5a.5.5 0 0 0 1 0v-5z\"}}]})(props);\n};\nexport function BsBoxArrowInUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.5 10a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 0 0 1h2A1.5 1.5 0 0 0 14 9.5v-8A1.5 1.5 0 0 0 12.5 0h-9A1.5 1.5 0 0 0 2 1.5v8A1.5 1.5 0 0 0 3.5 11h2a.5.5 0 0 0 0-1h-2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 4.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V14.5a.5.5 0 0 1-1 0V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3z\"}}]})(props);\n};\nexport function BsBoxArrowLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 12.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5v2a.5.5 0 0 1-1 0v-2A1.5 1.5 0 0 1 6.5 2h8A1.5 1.5 0 0 1 16 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 5 12.5v-2a.5.5 0 0 1 1 0v2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M.146 8.354a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L1.707 7.5H10.5a.5.5 0 0 1 0 1H1.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3z\"}}]})(props);\n};\nexport function BsBoxArrowRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 12.5a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v2a.5.5 0 0 0 1 0v-2A1.5 1.5 0 0 0 9.5 2h-8A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h8a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 0-1 0v2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.854 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L14.293 7.5H5.5a.5.5 0 0 0 0 1h8.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3z\"}}]})(props);\n};\nexport function BsBoxArrowUpLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.364 3.5a.5.5 0 0 1 .5-.5H14.5A1.5 1.5 0 0 1 16 4.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 3 14.5V7.864a.5.5 0 1 1 1 0V14.5a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5H7.864a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 .5A.5.5 0 0 1 .5 0h5a.5.5 0 0 1 0 1H1.707l8.147 8.146a.5.5 0 0 1-.708.708L1 1.707V5.5a.5.5 0 0 1-1 0v-5z\"}}]})(props);\n};\nexport function BsBoxArrowUpRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0v-5z\"}}]})(props);\n};\nexport function BsBoxArrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.5 6a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 1 0-1h2A1.5 1.5 0 0 1 14 6.5v8a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5v-8A1.5 1.5 0 0 1 3.5 5h2a.5.5 0 0 1 0 1h-2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 1.707V10.5a.5.5 0 0 1-1 0V1.707L5.354 3.854a.5.5 0 1 1-.708-.708l3-3z\"}}]})(props);\n};\nexport function BsBoxSeam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.186 1.113a.5.5 0 0 0-.372 0L1.846 3.5l2.404.961L10.404 2l-2.218-.887zm3.564 1.426L5.596 5 8 5.961 14.154 3.5l-2.404-.961zm3.25 1.7-6.5 2.6v7.922l6.5-2.6V4.24zM7.5 14.762V6.838L1 4.239v7.923l6.5 2.6zM7.443.184a1.5 1.5 0 0 1 1.114 0l7.129 2.852A.5.5 0 0 1 16 3.5v8.662a1 1 0 0 1-.629.928l-7.185 2.874a.5.5 0 0 1-.372 0L.63 13.09a1 1 0 0 1-.63-.928V3.5a.5.5 0 0 1 .314-.464L7.443.184z\"}}]})(props);\n};\nexport function BsBox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.186 1.113a.5.5 0 0 0-.372 0L1.846 3.5 8 5.961 14.154 3.5 8.186 1.113zM15 4.239l-6.5 2.6v7.922l6.5-2.6V4.24zM7.5 14.762V6.838L1 4.239v7.923l6.5 2.6zM7.443.184a1.5 1.5 0 0 1 1.114 0l7.129 2.852A.5.5 0 0 1 16 3.5v8.662a1 1 0 0 1-.629.928l-7.185 2.874a.5.5 0 0 1-.372 0L.63 13.09a1 1 0 0 1-.63-.928V3.5a.5.5 0 0 1 .314-.464L7.443.184z\"}}]})(props);\n};\nexport function BsBraces (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.114 8.063V7.9c1.005-.102 1.497-.615 1.497-1.6V4.503c0-1.094.39-1.538 1.354-1.538h.273V2h-.376C3.25 2 2.49 2.759 2.49 4.352v1.524c0 1.094-.376 1.456-1.49 1.456v1.299c1.114 0 1.49.362 1.49 1.456v1.524c0 1.593.759 2.352 2.372 2.352h.376v-.964h-.273c-.964 0-1.354-.444-1.354-1.538V9.663c0-.984-.492-1.497-1.497-1.6zM13.886 7.9v.163c-1.005.103-1.497.616-1.497 1.6v1.798c0 1.094-.39 1.538-1.354 1.538h-.273v.964h.376c1.613 0 2.372-.759 2.372-2.352v-1.524c0-1.094.376-1.456 1.49-1.456V7.332c-1.114 0-1.49-.362-1.49-1.456V4.352C13.51 2.759 12.75 2 11.138 2h-.376v.964h.273c.964 0 1.354.444 1.354 1.538V6.3c0 .984.492 1.497 1.497 1.6z\"}}]})(props);\n};\nexport function BsBricks (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 .5A.5.5 0 0 1 .5 0h15a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H14v2h1.5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H14v2h1.5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5H2v-2H.5a.5.5 0 0 1-.5-.5v-3A.5.5 0 0 1 .5 6H2V4H.5a.5.5 0 0 1-.5-.5v-3zM3 4v2h4.5V4H3zm5.5 0v2H13V4H8.5zM3 10v2h4.5v-2H3zm5.5 0v2H13v-2H8.5zM1 1v2h3.5V1H1zm4.5 0v2h5V1h-5zm6 0v2H15V1h-3.5zM1 7v2h3.5V7H1zm4.5 0v2h5V7h-5zm6 0v2H15V7h-3.5zM1 13v2h3.5v-2H1zm4.5 0v2h5v-2h-5zm6 0v2H15v-2h-3.5z\"}}]})(props);\n};\nexport function BsBriefcaseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 1A1.5 1.5 0 0 0 5 2.5V3H1.5A1.5 1.5 0 0 0 0 4.5v1.384l7.614 2.03a1.5 1.5 0 0 0 .772 0L16 5.884V4.5A1.5 1.5 0 0 0 14.5 3H11v-.5A1.5 1.5 0 0 0 9.5 1h-3zm0 1h3a.5.5 0 0 1 .5.5V3H6v-.5a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12.5A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5V6.85L8.129 8.947a.5.5 0 0 1-.258 0L0 6.85v5.65z\"}}]})(props);\n};\nexport function BsBriefcase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 1A1.5 1.5 0 0 0 5 2.5V3H1.5A1.5 1.5 0 0 0 0 4.5v8A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-8A1.5 1.5 0 0 0 14.5 3H11v-.5A1.5 1.5 0 0 0 9.5 1h-3zm0 1h3a.5.5 0 0 1 .5.5V3H6v-.5a.5.5 0 0 1 .5-.5zm1.886 6.914L15 7.151V12.5a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5V7.15l6.614 1.764a1.5 1.5 0 0 0 .772 0zM1.5 4h13a.5.5 0 0 1 .5.5v1.616L8.129 7.948a.5.5 0 0 1-.258 0L1 6.116V4.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsBrightnessAltHighFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 3zm8 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zm-13.5.5a.5.5 0 0 0 0-1h-2a.5.5 0 0 0 0 1h2zm11.157-6.157a.5.5 0 0 1 0 .707l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm-9.9 2.121a.5.5 0 0 0 .707-.707L3.05 5.343a.5.5 0 1 0-.707.707l1.414 1.414zM8 7a4 4 0 0 0-4 4 .5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5 4 4 0 0 0-4-4z\"}}]})(props);\n};\nexport function BsBrightnessAltHigh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 3zm8 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zm-13.5.5a.5.5 0 0 0 0-1h-2a.5.5 0 0 0 0 1h2zm11.157-6.157a.5.5 0 0 1 0 .707l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm-9.9 2.121a.5.5 0 0 0 .707-.707L3.05 5.343a.5.5 0 1 0-.707.707l1.414 1.414zM8 7a4 4 0 0 0-4 4 .5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5 4 4 0 0 0-4-4zm0 1a3 3 0 0 1 2.959 2.5H5.04A3 3 0 0 1 8 8z\"}}]})(props);\n};\nexport function BsBrightnessAltLowFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm5 6a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zM2 11a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0zm10.243-3.536a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm-8.486-.707a.5.5 0 1 0 .707.707.5.5 0 0 0-.707-.707zM8 7a4 4 0 0 0-4 4 .5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5 4 4 0 0 0-4-4z\"}}]})(props);\n};\nexport function BsBrightnessAltLow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm5 6a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zM2 11a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0zm10.243-3.536a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm-8.486-.707a.5.5 0 1 0 .707.707.5.5 0 0 0-.707-.707zM8 7a4 4 0 0 0-4 4 .5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5 4 4 0 0 0-4-4zm0 1a3 3 0 0 1 2.959 2.5H5.04A3 3 0 0 1 8 8z\"}}]})(props);\n};\nexport function BsBrightnessHighFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8a4 4 0 1 1-8 0 4 4 0 0 1 8 0zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z\"}}]})(props);\n};\nexport function BsBrightnessHigh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z\"}}]})(props);\n};\nexport function BsBrightnessLowFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8a4 4 0 1 1-8 0 4 4 0 0 1 8 0zM8.5 2.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm0 11a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm5-5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm-11 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm9.743-4.036a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm-7.779 7.779a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm7.072 0a.5.5 0 1 1 .707-.707.5.5 0 0 1-.707.707zM3.757 4.464a.5.5 0 1 1 .707-.707.5.5 0 0 1-.707.707z\"}}]})(props);\n};\nexport function BsBrightnessLow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm.5-9.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm0 11a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm5-5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm-11 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm9.743-4.036a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm-7.779 7.779a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm7.072 0a.5.5 0 1 1 .707-.707.5.5 0 0 1-.707.707zM3.757 4.464a.5.5 0 1 1 .707-.707.5.5 0 0 1-.707.707z\"}}]})(props);\n};\nexport function BsBroadcastPin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.05 3.05a7 7 0 0 0 0 9.9.5.5 0 0 1-.707.707 8 8 0 0 1 0-11.314.5.5 0 0 1 .707.707zm2.122 2.122a4 4 0 0 0 0 5.656.5.5 0 1 1-.708.708 5 5 0 0 1 0-7.072.5.5 0 0 1 .708.708zm5.656-.708a.5.5 0 0 1 .708 0 5 5 0 0 1 0 7.072.5.5 0 1 1-.708-.708 4 4 0 0 0 0-5.656.5.5 0 0 1 0-.708zm2.122-2.12a.5.5 0 0 1 .707 0 8 8 0 0 1 0 11.313.5.5 0 0 1-.707-.707 7 7 0 0 0 0-9.9.5.5 0 0 1 0-.707zM6 8a2 2 0 1 1 2.5 1.937V15.5a.5.5 0 0 1-1 0V9.937A2 2 0 0 1 6 8z\"}}]})(props);\n};\nexport function BsBroadcast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.05 3.05a7 7 0 0 0 0 9.9.5.5 0 0 1-.707.707 8 8 0 0 1 0-11.314.5.5 0 0 1 .707.707zm2.122 2.122a4 4 0 0 0 0 5.656.5.5 0 1 1-.708.708 5 5 0 0 1 0-7.072.5.5 0 0 1 .708.708zm5.656-.708a.5.5 0 0 1 .708 0 5 5 0 0 1 0 7.072.5.5 0 1 1-.708-.708 4 4 0 0 0 0-5.656.5.5 0 0 1 0-.708zm2.122-2.12a.5.5 0 0 1 .707 0 8 8 0 0 1 0 11.313.5.5 0 0 1-.707-.707 7 7 0 0 0 0-9.9.5.5 0 0 1 0-.707zM10 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0z\"}}]})(props);\n};\nexport function BsBrushFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.825.12a.5.5 0 0 1 .132.584c-1.53 3.43-4.743 8.17-7.095 10.64a6.067 6.067 0 0 1-2.373 1.534c-.018.227-.06.538-.16.868-.201.659-.667 1.479-1.708 1.74a8.118 8.118 0 0 1-3.078.132 3.659 3.659 0 0 1-.562-.135 1.382 1.382 0 0 1-.466-.247.714.714 0 0 1-.204-.288.622.622 0 0 1 .004-.443c.095-.245.316-.38.461-.452.394-.197.625-.453.867-.826.095-.144.184-.297.287-.472l.117-.198c.151-.255.326-.54.546-.848.528-.739 1.201-.925 1.746-.896.126.007.243.025.348.048.062-.172.142-.38.238-.608.261-.619.658-1.419 1.187-2.069 2.176-2.67 6.18-6.206 9.117-8.104a.5.5 0 0 1 .596.04z\"}}]})(props);\n};\nexport function BsBrush (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.825.12a.5.5 0 0 1 .132.584c-1.53 3.43-4.743 8.17-7.095 10.64a6.067 6.067 0 0 1-2.373 1.534c-.018.227-.06.538-.16.868-.201.659-.667 1.479-1.708 1.74a8.118 8.118 0 0 1-3.078.132 3.659 3.659 0 0 1-.562-.135 1.382 1.382 0 0 1-.466-.247.714.714 0 0 1-.204-.288.622.622 0 0 1 .004-.443c.095-.245.316-.38.461-.452.394-.197.625-.453.867-.826.095-.144.184-.297.287-.472l.117-.198c.151-.255.326-.54.546-.848.528-.739 1.201-.925 1.746-.896.126.007.243.025.348.048.062-.172.142-.38.238-.608.261-.619.658-1.419 1.187-2.069 2.176-2.67 6.18-6.206 9.117-8.104a.5.5 0 0 1 .596.04zM4.705 11.912a1.23 1.23 0 0 0-.419-.1c-.246-.013-.573.05-.879.479-.197.275-.355.532-.5.777l-.105.177c-.106.181-.213.362-.32.528a3.39 3.39 0 0 1-.76.861c.69.112 1.736.111 2.657-.12.559-.139.843-.569.993-1.06a3.122 3.122 0 0 0 .126-.75l-.793-.792zm1.44.026c.12-.04.277-.1.458-.183a5.068 5.068 0 0 0 1.535-1.1c1.9-1.996 4.412-5.57 6.052-8.631-2.59 1.927-5.566 4.66-7.302 6.792-.442.543-.795 1.243-1.042 1.826-.121.288-.214.54-.275.72v.001l.575.575zm-4.973 3.04.007-.005a.031.031 0 0 1-.007.004zm3.582-3.043.002.001h-.002z\"}}]})(props);\n};\nexport function BsBucketFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.522 5H2a.5.5 0 0 0-.494.574l1.372 9.149A1.5 1.5 0 0 0 4.36 16h7.278a1.5 1.5 0 0 0 1.483-1.277l1.373-9.149A.5.5 0 0 0 14 5h-.522A5.5 5.5 0 0 0 2.522 5zm1.005 0a4.5 4.5 0 0 1 8.945 0H3.527z\"}}]})(props);\n};\nexport function BsBucket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.522 5H2a.5.5 0 0 0-.494.574l1.372 9.149A1.5 1.5 0 0 0 4.36 16h7.278a1.5 1.5 0 0 0 1.483-1.277l1.373-9.149A.5.5 0 0 0 14 5h-.522A5.5 5.5 0 0 0 2.522 5zm1.005 0a4.5 4.5 0 0 1 8.945 0H3.527zm9.892 1-1.286 8.574a.5.5 0 0 1-.494.426H4.36a.5.5 0 0 1-.494-.426L2.58 6h10.838z\"}}]})(props);\n};\nexport function BsBugFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.978.855a.5.5 0 1 0-.956.29l.41 1.352A4.985 4.985 0 0 0 3 6h10a4.985 4.985 0 0 0-1.432-3.503l.41-1.352a.5.5 0 1 0-.956-.29l-.291.956A4.978 4.978 0 0 0 8 1a4.979 4.979 0 0 0-2.731.811l-.29-.956z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6v1H8.5v8.975A5 5 0 0 0 13 11h.5a.5.5 0 0 1 .5.5v.5a.5.5 0 1 0 1 0v-.5a1.5 1.5 0 0 0-1.5-1.5H13V9h1.5a.5.5 0 0 0 0-1H13V7h.5A1.5 1.5 0 0 0 15 5.5V5a.5.5 0 0 0-1 0v.5a.5.5 0 0 1-.5.5H13zm-5.5 9.975V7H3V6h-.5a.5.5 0 0 1-.5-.5V5a.5.5 0 0 0-1 0v.5A1.5 1.5 0 0 0 2.5 7H3v1H1.5a.5.5 0 0 0 0 1H3v1h-.5A1.5 1.5 0 0 0 1 11.5v.5a.5.5 0 1 0 1 0v-.5a.5.5 0 0 1 .5-.5H3a5 5 0 0 0 4.5 4.975z\"}}]})(props);\n};\nexport function BsBug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.355.522a.5.5 0 0 1 .623.333l.291.956A4.979 4.979 0 0 1 8 1c1.007 0 1.946.298 2.731.811l.29-.956a.5.5 0 1 1 .957.29l-.41 1.352A4.985 4.985 0 0 1 13 6h.5a.5.5 0 0 0 .5-.5V5a.5.5 0 0 1 1 0v.5A1.5 1.5 0 0 1 13.5 7H13v1h1.5a.5.5 0 0 1 0 1H13v1h.5a1.5 1.5 0 0 1 1.5 1.5v.5a.5.5 0 1 1-1 0v-.5a.5.5 0 0 0-.5-.5H13a5 5 0 0 1-10 0h-.5a.5.5 0 0 0-.5.5v.5a.5.5 0 1 1-1 0v-.5A1.5 1.5 0 0 1 2.5 10H3V9H1.5a.5.5 0 0 1 0-1H3V7h-.5A1.5 1.5 0 0 1 1 5.5V5a.5.5 0 0 1 1 0v.5a.5.5 0 0 0 .5.5H3c0-1.364.547-2.601 1.432-3.503l-.41-1.352a.5.5 0 0 1 .333-.623zM4 7v4a4 4 0 0 0 3.5 3.97V7H4zm4.5 0v7.97A4 4 0 0 0 12 11V7H8.5zM12 6a3.989 3.989 0 0 0-1.334-2.982A3.983 3.983 0 0 0 8 2a3.983 3.983 0 0 0-2.667 1.018A3.989 3.989 0 0 0 4 6h8z\"}}]})(props);\n};\nexport function BsBuilding (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.763.075A.5.5 0 0 1 15 .5v15a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V14h-1v1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V10a.5.5 0 0 1 .342-.474L6 7.64V4.5a.5.5 0 0 1 .276-.447l8-4a.5.5 0 0 1 .487.022zM6 8.694 1 10.36V15h5V8.694zM7 15h2v-1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V15h2V1.309l-7 3.5V15z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 11h1v1H2v-1zm2 0h1v1H4v-1zm-2 2h1v1H2v-1zm2 0h1v1H4v-1zm4-4h1v1H8V9zm2 0h1v1h-1V9zm-2 2h1v1H8v-1zm2 0h1v1h-1v-1zm2-2h1v1h-1V9zm0 2h1v1h-1v-1zM8 7h1v1H8V7zm2 0h1v1h-1V7zm2 0h1v1h-1V7zM8 5h1v1H8V5zm2 0h1v1h-1V5zm2 0h1v1h-1V5zm0-2h1v1h-1V3z\"}}]})(props);\n};\nexport function BsBullseye (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13A5 5 0 1 1 8 3a5 5 0 0 1 0 10zm0 1A6 6 0 1 0 8 2a6 6 0 0 0 0 12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsCalculatorFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm2 .5v2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5zm0 4v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zM4.5 9a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM4 12.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zM7.5 6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM7 9.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm.5 2.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM10 6.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm.5 2.5a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsCalculator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h8zM4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 2.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-2zm0 4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm0 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm0 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm0 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm0 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm0 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-4z\"}}]})(props);\n};\nexport function BsCalendarCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zm-5.146-5.146-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsCalendarCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.854 7.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarDateFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zm5.402 9.746c.625 0 1.184-.484 1.184-1.18 0-.832-.527-1.23-1.16-1.23-.586 0-1.168.387-1.168 1.21 0 .817.543 1.2 1.144 1.2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zm-6.664-1.21c-1.11 0-1.656-.767-1.703-1.407h.683c.043.37.387.82 1.051.82.844 0 1.301-.848 1.305-2.164h-.027c-.153.414-.637.79-1.383.79-.852 0-1.676-.61-1.676-1.77 0-1.137.871-1.809 1.797-1.809 1.172 0 1.953.734 1.953 2.668 0 1.805-.742 2.871-2 2.871zm-2.89-5.435v5.332H5.77V8.079h-.012c-.29.156-.883.52-1.258.777V8.16a12.6 12.6 0 0 1 1.313-.805h.632z\"}}]})(props);\n};\nexport function BsCalendarDate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.445 11.688V6.354h-.633A12.6 12.6 0 0 0 4.5 7.16v.695c.375-.257.969-.62 1.258-.777h.012v4.61h.675zm1.188-1.305c.047.64.594 1.406 1.703 1.406 1.258 0 2-1.066 2-2.871 0-1.934-.781-2.668-1.953-2.668-.926 0-1.797.672-1.797 1.809 0 1.16.824 1.77 1.676 1.77.746 0 1.23-.376 1.383-.79h.027c-.004 1.316-.461 2.164-1.305 2.164-.664 0-1.008-.45-1.05-.82h-.684zm2.953-2.317c0 .696-.559 1.18-1.184 1.18-.601 0-1.144-.383-1.144-1.2 0-.823.582-1.21 1.168-1.21.633 0 1.16.398 1.16 1.23z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarDayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V5h16v9zm-4.785-6.145a.428.428 0 1 0 0-.855.426.426 0 0 0-.43.43c0 .238.192.425.43.425zm.336.563h-.672v4.105h.672V8.418zm-6.867 4.105v-2.3h2.261v-.61H4.684V7.801h2.464v-.61H4v5.332h.684zm3.296 0h.676V9.98c0-.554.227-1.007.953-1.007.125 0 .258.004.329.015v-.613a1.806 1.806 0 0 0-.254-.02c-.582 0-.891.32-1.012.567h-.02v-.504H7.98v4.105z\"}}]})(props);\n};\nexport function BsCalendarDay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.684 11.523v-2.3h2.261v-.61H4.684V6.801h2.464v-.61H4v5.332h.684zm3.296 0h.676V8.98c0-.554.227-1.007.953-1.007.125 0 .258.004.329.015v-.613a1.806 1.806 0 0 0-.254-.02c-.582 0-.891.32-1.012.567h-.02v-.504H7.98v4.105zm2.805-5.093c0 .238.192.425.43.425a.428.428 0 1 0 0-.855.426.426 0 0 0-.43.43zm.094 5.093h.672V7.418h-.672v4.105z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarEventFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zm-3.5-7h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsCalendarEvent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V5h16V4H0V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsCalendarMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM6 10h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsCalendarMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 9.5A.5.5 0 0 1 6 9h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarMonthFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zm.104 7.305L4.9 10.18H3.284l.8-2.375h.02zm9.074 2.297c0-.832-.414-1.36-1.062-1.36-.692 0-1.098.492-1.098 1.36v.253c0 .852.406 1.364 1.098 1.364.671 0 1.062-.516 1.062-1.364v-.253z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM2.56 12.332h-.71L3.748 7h.696l1.898 5.332h-.719l-.539-1.602H3.1l-.54 1.602zm7.29-4.105v4.105h-.668v-.539h-.027c-.145.324-.532.605-1.188.605-.847 0-1.453-.484-1.453-1.425V8.227h.676v2.554c0 .766.441 1.012.98 1.012.59 0 1.004-.371 1.004-1.023V8.227h.676zm1.273 4.41c.075.332.422.636.985.636.648 0 1.07-.378 1.07-1.023v-.605h-.02c-.163.355-.613.648-1.171.648-.957 0-1.64-.672-1.64-1.902v-.34c0-1.207.675-1.887 1.64-1.887.558 0 1.004.293 1.195.64h.02v-.577h.648v4.03c0 1.052-.816 1.579-1.746 1.579-1.043 0-1.574-.516-1.668-1.2h.687z\"}}]})(props);\n};\nexport function BsCalendarMonth (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.56 11.332 3.1 9.73h1.984l.54 1.602h.718L4.444 6h-.696L1.85 11.332h.71zm1.544-4.527L4.9 9.18H3.284l.8-2.375h.02zm5.746.422h-.676V9.77c0 .652-.414 1.023-1.004 1.023-.539 0-.98-.246-.98-1.012V7.227h-.676v2.746c0 .941.606 1.425 1.453 1.425.656 0 1.043-.28 1.188-.605h.027v.539h.668V7.227zm2.258 5.046c-.563 0-.91-.304-.985-.636h-.687c.094.683.625 1.199 1.668 1.199.93 0 1.746-.527 1.746-1.578V7.227h-.649v.578h-.019c-.191-.348-.637-.64-1.195-.64-.965 0-1.64.679-1.64 1.886v.34c0 1.23.683 1.902 1.64 1.902.558 0 1.008-.293 1.172-.648h.02v.605c0 .645-.423 1.023-1.071 1.023zm.008-4.53c.648 0 1.062.527 1.062 1.359v.253c0 .848-.39 1.364-1.062 1.364-.692 0-1.098-.512-1.098-1.364v-.253c0-.868.406-1.36 1.098-1.36z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM8.5 8.5V10H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V11H6a.5.5 0 0 1 0-1h1.5V8.5a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsCalendarPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 7a.5.5 0 0 1 .5.5V9H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V10H6a.5.5 0 0 1 0-1h1.5V7.5A.5.5 0 0 1 8 7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarRangeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 7V5H0v5h5a1 1 0 1 1 0 2H0v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9h-6a1 1 0 1 1 0-2h6z\"}}]})(props);\n};\nexport function BsCalendarRange (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 7a1 1 0 0 1 1-1h5v2h-5a1 1 0 0 1-1-1zM1 9h4a1 1 0 0 1 0 2H1V9z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarWeekFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM9.5 7h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5zm3 0h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5zM2 10.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3.5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsCalendarWeek (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-5 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM6.854 8.146 8 9.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 10l1.147 1.146a.5.5 0 0 1-.708.708L8 10.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 10 6.146 8.854a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsCalendarX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.146 7.146a.5.5 0 0 1 .708 0L8 8.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 9l1.147 1.146a.5.5 0 0 1-.708.708L8 9.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 9 6.146 7.854a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendar2CheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zm-2.6 5.854a.5.5 0 0 0-.708-.708L7.5 10.793 6.354 9.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z\"}}]})(props);\n};\nexport function BsCalendar2Check (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.854 8.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4z\"}}]})(props);\n};\nexport function BsCalendar2DateFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.402 10.246c.625 0 1.184-.484 1.184-1.18 0-.832-.527-1.23-1.16-1.23-.586 0-1.168.387-1.168 1.21 0 .817.543 1.2 1.144 1.2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zm-4.118 9.79c1.258 0 2-1.067 2-2.872 0-1.934-.781-2.668-1.953-2.668-.926 0-1.797.672-1.797 1.809 0 1.16.824 1.77 1.676 1.77.746 0 1.23-.376 1.383-.79h.027c-.004 1.316-.461 2.164-1.305 2.164-.664 0-1.008-.45-1.05-.82h-.684c.047.64.594 1.406 1.703 1.406zm-2.89-5.435h-.633A12.6 12.6 0 0 0 4.5 8.16v.695c.375-.257.969-.62 1.258-.777h.012v4.61h.675V7.354z\"}}]})(props);\n};\nexport function BsCalendar2Date (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.445 12.688V7.354h-.633A12.6 12.6 0 0 0 4.5 8.16v.695c.375-.257.969-.62 1.258-.777h.012v4.61h.675zm1.188-1.305c.047.64.594 1.406 1.703 1.406 1.258 0 2-1.066 2-2.871 0-1.934-.781-2.668-1.953-2.668-.926 0-1.797.672-1.797 1.809 0 1.16.824 1.77 1.676 1.77.746 0 1.23-.376 1.383-.79h.027c-.004 1.316-.461 2.164-1.305 2.164-.664 0-1.008-.45-1.05-.82h-.684zm2.953-2.317c0 .696-.559 1.18-1.184 1.18-.601 0-1.144-.383-1.144-1.2 0-.823.582-1.21 1.168-1.21.633 0 1.16.398 1.16 1.23z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4z\"}}]})(props);\n};\nexport function BsCalendar2DayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zm-2.24 4.855a.428.428 0 1 0 0-.855.426.426 0 0 0-.429.43c0 .238.192.425.43.425zm.337.563h-.672v4.105h.672V8.418zm-6.867 4.105v-2.3h2.261v-.61H4.684V7.801h2.464v-.61H4v5.332h.684zm3.296 0h.676V9.98c0-.554.227-1.007.953-1.007.125 0 .258.004.329.015v-.613a1.806 1.806 0 0 0-.254-.02c-.582 0-.891.32-1.012.567h-.02v-.504H7.98v4.105z\"}}]})(props);\n};\nexport function BsCalendar2Day (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.684 12.523v-2.3h2.261v-.61H4.684V7.801h2.464v-.61H4v5.332h.684zm3.296 0h.676V9.98c0-.554.227-1.007.953-1.007.125 0 .258.004.329.015v-.613a1.806 1.806 0 0 0-.254-.02c-.582 0-.891.32-1.012.567h-.02v-.504H7.98v4.105zm2.805-5.093c0 .238.192.425.43.425a.428.428 0 1 0 0-.855.426.426 0 0 0-.43.43zm.094 5.093h.672V8.418h-.672v4.105z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4z\"}}]})(props);\n};\nexport function BsCalendar2EventFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM11.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsCalendar2Event (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4z\"}}]})(props);\n};\nexport function BsCalendar2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM2.545 3h10.91c.3 0 .545.224.545.5v1c0 .276-.244.5-.546.5H2.545C2.245 5 2 4.776 2 4.5v-1c0-.276.244-.5.545-.5z\"}}]})(props);\n};\nexport function BsCalendar2MinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM6 10a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6z\"}}]})(props);\n};\nexport function BsCalendar2Minus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 10.5A.5.5 0 0 1 6 10h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4z\"}}]})(props);\n};\nexport function BsCalendar2MonthFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.104 7.805 4.9 10.18H3.284l.8-2.375h.02zm9.074 2.297c0-.832-.414-1.36-1.062-1.36-.692 0-1.098.492-1.098 1.36v.253c0 .852.406 1.364 1.098 1.364.671 0 1.062-.516 1.062-1.364v-.253z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM2.561 12.332 3.1 10.73h1.984l.54 1.602h.718L4.444 7h-.696L1.85 12.332h.71zM9.85 8.227h-.676v2.543c0 .652-.414 1.023-1.004 1.023-.539 0-.98-.246-.98-1.012V8.227h-.676v2.746c0 .941.606 1.425 1.453 1.425.656 0 1.043-.28 1.188-.605h.027v.539h.668V8.227zm1.273 4.41h-.687c.094.683.625 1.199 1.668 1.199.93 0 1.746-.527 1.746-1.578V8.227h-.649v.578h-.019c-.191-.348-.637-.64-1.195-.64-.965 0-1.64.679-1.64 1.886v.34c0 1.23.683 1.902 1.64 1.902.558 0 1.008-.293 1.172-.648h.02v.605c0 .645-.423 1.023-1.071 1.023-.563 0-.91-.304-.985-.636z\"}}]})(props);\n};\nexport function BsCalendar2Month (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2.56 12.332.54-1.602h1.984l.54 1.602h.718L4.444 7h-.696L1.85 12.332h.71zm1.544-4.527L4.9 10.18H3.284l.8-2.375h.02zm5.746.422h-.676v2.543c0 .652-.414 1.023-1.004 1.023-.539 0-.98-.246-.98-1.012V8.227h-.676v2.746c0 .941.606 1.425 1.453 1.425.656 0 1.043-.28 1.188-.605h.027v.539h.668V8.227zm2.258 5.046c-.563 0-.91-.304-.985-.636h-.687c.094.683.625 1.199 1.668 1.199.93 0 1.746-.527 1.746-1.578V8.227h-.649v.578h-.019c-.191-.348-.637-.64-1.195-.64-.965 0-1.64.679-1.64 1.886v.34c0 1.23.683 1.902 1.64 1.902.558 0 1.008-.293 1.172-.648h.02v.605c0 .645-.423 1.023-1.071 1.023zm.008-4.53c.648 0 1.062.527 1.062 1.359v.253c0 .848-.39 1.364-1.062 1.364-.692 0-1.098-.512-1.098-1.364v-.253c0-.868.406-1.36 1.098-1.36z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4z\"}}]})(props);\n};\nexport function BsCalendar2PlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 3.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5H2.545c-.3 0-.545.224-.545.5zm6.5 5a.5.5 0 0 0-1 0V10H6a.5.5 0 0 0 0 1h1.5v1.5a.5.5 0 0 0 1 0V11H10a.5.5 0 0 0 0-1H8.5V8.5z\"}}]})(props);\n};\nexport function BsCalendar2Plus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4zM8 8a.5.5 0 0 1 .5.5V10H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V11H6a.5.5 0 0 1 0-1h1.5V8.5A.5.5 0 0 1 8 8z\"}}]})(props);\n};\nexport function BsCalendar2RangeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM10 7a1 1 0 0 0 0 2h5V7h-5zm-4 4a1 1 0 0 0-1-1H1v2h4a1 1 0 0 0 1-1z\"}}]})(props);\n};\nexport function BsCalendar2Range (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4zM9 8a1 1 0 0 1 1-1h5v2h-5a1 1 0 0 1-1-1zm-8 2h4a1 1 0 1 1 0 2H1v-2z\"}}]})(props);\n};\nexport function BsCalendar2WeekFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM8.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM3 10.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsCalendar2Week (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4zM11 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-5 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z\"}}]})(props);\n};\nexport function BsCalendar2XFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zm-6.6 5.146a.5.5 0 1 0-.708.708L7.293 10l-1.147 1.146a.5.5 0 0 0 .708.708L8 10.707l1.146 1.147a.5.5 0 0 0 .708-.708L8.707 10l1.147-1.146a.5.5 0 0 0-.708-.708L8 9.293 6.854 8.146z\"}}]})(props);\n};\nexport function BsCalendar2X (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.146 8.146a.5.5 0 0 1 .708 0L8 9.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 10l1.147 1.146a.5.5 0 0 1-.708.708L8 10.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 10 6.146 8.854a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4z\"}}]})(props);\n};\nexport function BsCalendar2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4z\"}}]})(props);\n};\nexport function BsCalendar3EventFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 0a2 2 0 0 0-2 2h16a2 2 0 0 0-2-2H2zM0 14V3h16v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm12-8a1 1 0 1 0 2 0 1 1 0 0 0-2 0z\"}}]})(props);\n};\nexport function BsCalendar3Event (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM1 3.857C1 3.384 1.448 3 2 3h12c.552 0 1 .384 1 .857v10.286c0 .473-.448.857-1 .857H2c-.552 0-1-.384-1-.857V3.857z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsCalendar3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2H0zm0 1v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3H0z\"}}]})(props);\n};\nexport function BsCalendar3RangeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 0a2 2 0 0 0-2 2h16a2 2 0 0 0-2-2H2zM0 8V3h16v2h-6a1 1 0 1 0 0 2h6v7a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-4h6a1 1 0 1 0 0-2H0z\"}}]})(props);\n};\nexport function BsCalendar3Range (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM1 3.857C1 3.384 1.448 3 2 3h12c.552 0 1 .384 1 .857v10.286c0 .473-.448.857-1 .857H2c-.552 0-1-.384-1-.857V3.857z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 10a1 1 0 0 0 0-2H1v2h6zm2-3h6V5H9a1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsCalendar3WeekFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 0a2 2 0 0 0-2 2h16a2 2 0 0 0-2-2H2zM0 14V3h16v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm12-8a1 1 0 1 0 2 0 1 1 0 0 0-2 0zM5 9a1 1 0 1 0 2 0 1 1 0 0 0-2 0zm5-2a1 1 0 1 1 0-2 1 1 0 0 1 0 2zM2 9a1 1 0 1 0 2 0 1 1 0 0 0-2 0z\"}}]})(props);\n};\nexport function BsCalendar3Week (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM1 3.857C1 3.384 1.448 3 2 3h12c.552 0 1 .384 1 .857v10.286c0 .473-.448.857-1 .857H2c-.552 0-1-.384-1-.857V3.857z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm-5 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm2-3a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm-5 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsCalendar3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM1 3.857C1 3.384 1.448 3 2 3h12c.552 0 1 .384 1 .857v10.286c0 .473-.448.857-1 .857H2c-.552 0-1-.384-1-.857V3.857z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm-9 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm-9 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsCalendar4Event (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v1h14V3a1 1 0 0 0-1-1H2zm13 3H1v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z\"}}]})(props);\n};\nexport function BsCalendar4Range (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v1h14V3a1 1 0 0 0-1-1H2zm13 3H1v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 7.5a.5.5 0 0 1 .5-.5H15v2H9.5a.5.5 0 0 1-.5-.5v-1zm-2 3v1a.5.5 0 0 1-.5.5H1v-2h5.5a.5.5 0 0 1 .5.5z\"}}]})(props);\n};\nexport function BsCalendar4Week (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v1h14V3a1 1 0 0 0-1-1H2zm13 3H1v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-2 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z\"}}]})(props);\n};\nexport function BsCalendar4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v1h14V3a1 1 0 0 0-1-1H2zm13 3H1v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V5z\"}}]})(props);\n};\nexport function BsCameraFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 8.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-1.172a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 9.172 2H6.828a2 2 0 0 0-1.414.586l-.828.828A2 2 0 0 1 3.172 4H2zm.5 2a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm9 2.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0z\"}}]})(props);\n};\nexport function BsCameraReelsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 3a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6h.5a2 2 0 0 1 1.983 1.738l3.11-1.382A1 1 0 0 1 16 7.269v7.462a1 1 0 0 1-1.406.913l-3.111-1.382A2 2 0 0 1 9.5 16H2a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h7z\"}}]})(props);\n};\nexport function BsCameraReels (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 3a3 3 0 1 1-6 0 3 3 0 0 1 6 0zM1 3a2 2 0 1 0 4 0 2 2 0 0 0-4 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6h.5a2 2 0 0 1 1.983 1.738l3.11-1.382A1 1 0 0 1 16 7.269v7.462a1 1 0 0 1-1.406.913l-3.111-1.382A2 2 0 0 1 9.5 16H2a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h7zm6 8.73V7.27l-3.5 1.555v4.35l3.5 1.556zM1 8v6a1 1 0 0 0 1 1h7.5a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM7 3a2 2 0 1 1 4 0 2 2 0 0 1-4 0z\"}}]})(props);\n};\nexport function BsCameraVideoFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 5a2 2 0 0 1 2-2h7.5a2 2 0 0 1 1.983 1.738l3.11-1.382A1 1 0 0 1 16 4.269v7.462a1 1 0 0 1-1.406.913l-3.111-1.382A2 2 0 0 1 9.5 13H2a2 2 0 0 1-2-2V5z\"}}]})(props);\n};\nexport function BsCameraVideoOffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.961 12.365a1.99 1.99 0 0 0 .522-1.103l3.11 1.382A1 1 0 0 0 16 11.731V4.269a1 1 0 0 0-1.406-.913l-3.111 1.382A2 2 0 0 0 9.5 3H4.272l6.69 9.365zm-10.114-9A2.001 2.001 0 0 0 0 5v6a2 2 0 0 0 2 2h5.728L.847 3.366zm9.746 11.925-10-14 .814-.58 10 14-.814.58z\"}}]})(props);\n};\nexport function BsCameraVideoOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.961 12.365a1.99 1.99 0 0 0 .522-1.103l3.11 1.382A1 1 0 0 0 16 11.731V4.269a1 1 0 0 0-1.406-.913l-3.111 1.382A2 2 0 0 0 9.5 3H4.272l.714 1H9.5a1 1 0 0 1 1 1v6a1 1 0 0 1-.144.518l.605.847zM1.428 4.18A.999.999 0 0 0 1 5v6a1 1 0 0 0 1 1h5.014l.714 1H2a2 2 0 0 1-2-2V5c0-.675.334-1.272.847-1.634l.58.814zM15 11.73l-3.5-1.555v-4.35L15 4.269v7.462zm-4.407 3.56-10-14 .814-.58 10 14-.814.58z\"}}]})(props);\n};\nexport function BsCameraVideo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 5a2 2 0 0 1 2-2h7.5a2 2 0 0 1 1.983 1.738l3.11-1.382A1 1 0 0 1 16 4.269v7.462a1 1 0 0 1-1.406.913l-3.111-1.382A2 2 0 0 1 9.5 13H2a2 2 0 0 1-2-2V5zm11.5 5.175 3.5 1.556V4.269l-3.5 1.556v4.35zM2 4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h7.5a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H2z\"}}]})(props);\n};\nexport function BsCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h1.172a3 3 0 0 0 2.12-.879l.83-.828A1 1 0 0 1 6.827 3h2.344a1 1 0 0 1 .707.293l.828.828A3 3 0 0 0 12.828 5H14a1 1 0 0 1 1 1v6zM2 4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-1.172a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 9.172 2H6.828a2 2 0 0 0-1.414.586l-.828.828A2 2 0 0 1 3.172 4H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5zm0 1a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7zM3 6.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsCamera2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8c0-1.657 2.343-3 4-3V4a4 4 0 0 0-4 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.318 3h2.015C15.253 3 16 3.746 16 4.667v6.666c0 .92-.746 1.667-1.667 1.667h-2.015A5.97 5.97 0 0 1 9 14a5.972 5.972 0 0 1-3.318-1H1.667C.747 13 0 12.254 0 11.333V4.667C0 3.747.746 3 1.667 3H2a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1h.682A5.97 5.97 0 0 1 9 2c1.227 0 2.367.368 3.318 1zM2 4.5a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0zM14 8A5 5 0 1 0 4 8a5 5 0 0 0 10 0z\"}}]})(props);\n};\nexport function BsCapslockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.27 1.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H11.5v1a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-1H1.654C.78 9.5.326 8.455.924 7.816L7.27 1.047zM4.5 13.5a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-1z\"}}]})(props);\n};\nexport function BsCapslock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.27 1.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H11.5v1a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-1H1.654C.78 9.5.326 8.455.924 7.816L7.27 1.047zM14.346 8.5 8 1.731 1.654 8.5H4.5a1 1 0 0 1 1 1v1h5v-1a1 1 0 0 1 1-1h2.846zm-9.846 5a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-1zm6 0h-5v1h5v-1z\"}}]})(props);\n};\nexport function BsCardChecklist (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 3a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h13zm-13-1A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm-1.496-.854a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0l-.5-.5a.5.5 0 1 1 .708-.708l.146.147 1.146-1.147a.5.5 0 0 1 .708 0zM7 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm-1.496-.854a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0l-.5-.5a.5.5 0 0 1 .708-.708l.146.147 1.146-1.147a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsCardHeading (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 3a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h13zm-13-1A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zm0-5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-1z\"}}]})(props);\n};\nexport function BsCardImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.002 5.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13zm13 1a.5.5 0 0 1 .5.5v6l-3.775-1.947a.5.5 0 0 0-.577.093l-3.71 3.71-2.66-1.772a.5.5 0 0 0-.63.062L1.002 12v.54A.505.505 0 0 1 1 12.5v-9a.5.5 0 0 1 .5-.5h13z\"}}]})(props);\n};\nexport function BsCardList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 3a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h13zm-13-1A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 5 8zm0-2.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0 5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-1-5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zM4 8a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm0 2.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsCardText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 3a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h13zm-13-1A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM3 8a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9A.5.5 0 0 1 3 8zm0 2.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsCaretDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z\"}}]})(props);\n};\nexport function BsCaretDownSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm4 4a.5.5 0 0 0-.374.832l4 4.5a.5.5 0 0 0 .748 0l4-4.5A.5.5 0 0 0 12 6H4z\"}}]})(props);\n};\nexport function BsCaretDownSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.626 6.832A.5.5 0 0 1 4 6h8a.5.5 0 0 1 .374.832l-4 4.5a.5.5 0 0 1-.748 0l-4-4.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2z\"}}]})(props);\n};\nexport function BsCaretDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.204 5h9.592L8 10.481 3.204 5zm-.753.659 4.796 5.48a1 1 0 0 0 1.506 0l4.796-5.48c.566-.647.106-1.659-.753-1.659H3.204a1 1 0 0 0-.753 1.659z\"}}]})(props);\n};\nexport function BsCaretLeftFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3.86 8.753 5.482 4.796c.646.566 1.658.106 1.658-.753V3.204a1 1 0 0 0-1.659-.753l-5.48 4.796a1 1 0 0 0 0 1.506z\"}}]})(props);\n};\nexport function BsCaretLeftSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm10.5 10V4a.5.5 0 0 0-.832-.374l-4.5 4a.5.5 0 0 0 0 .748l4.5 4A.5.5 0 0 0 10.5 12z\"}}]})(props);\n};\nexport function BsCaretLeftSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.205 12.456A.5.5 0 0 0 10.5 12V4a.5.5 0 0 0-.832-.374l-4.5 4a.5.5 0 0 0 0 .748l4.5 4a.5.5 0 0 0 .537.082z\"}}]})(props);\n};\nexport function BsCaretLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 12.796V3.204L4.519 8 10 12.796zm-.659.753-5.48-4.796a1 1 0 0 1 0-1.506l5.48-4.796A1 1 0 0 1 11 3.204v9.592a1 1 0 0 1-1.659.753z\"}}]})(props);\n};\nexport function BsCaretRightFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12.14 8.753-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z\"}}]})(props);\n};\nexport function BsCaretRightSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm5.5 10a.5.5 0 0 0 .832.374l4.5-4a.5.5 0 0 0 0-.748l-4.5-4A.5.5 0 0 0 5.5 4v8z\"}}]})(props);\n};\nexport function BsCaretRightSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.795 12.456A.5.5 0 0 1 5.5 12V4a.5.5 0 0 1 .832-.374l4.5 4a.5.5 0 0 1 0 .748l-4.5 4a.5.5 0 0 1-.537.082z\"}}]})(props);\n};\nexport function BsCaretRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12.796V3.204L11.481 8 6 12.796zm.659.753 5.48-4.796a1 1 0 0 0 0-1.506L6.66 2.451C6.011 1.885 5 2.345 5 3.204v9.592a1 1 0 0 0 1.659.753z\"}}]})(props);\n};\nexport function BsCaretUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7.247 4.86-4.796 5.481c-.566.647-.106 1.659.753 1.659h9.592a1 1 0 0 0 .753-1.659l-4.796-5.48a1 1 0 0 0-1.506 0z\"}}]})(props);\n};\nexport function BsCaretUpSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm4 9h8a.5.5 0 0 0 .374-.832l-4-4.5a.5.5 0 0 0-.748 0l-4 4.5A.5.5 0 0 0 4 11z\"}}]})(props);\n};\nexport function BsCaretUpSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.544 10.705A.5.5 0 0 0 4 11h8a.5.5 0 0 0 .374-.832l-4-4.5a.5.5 0 0 0-.748 0l-4 4.5a.5.5 0 0 0-.082.537z\"}}]})(props);\n};\nexport function BsCaretUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.204 11h9.592L8 5.519 3.204 11zm-.753-.659 4.796-5.48a1 1 0 0 1 1.506 0l4.796 5.48c.566.647.106 1.659-.753 1.659H3.204a1 1 0 0 1-.753-1.659z\"}}]})(props);\n};\nexport function BsCartCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-1.646-7.646-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L8 8.293l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsCartCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.354 6.354a.5.5 0 0 0-.708-.708L8 8.293 6.854 7.146a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zm3.915 10L3.102 4h10.796l-1.313 7h-8.17zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsCartDashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM6.5 7h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsCartDash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 7a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zm3.915 10L3.102 4h10.796l-1.313 7h-8.17zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsCartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A.5.5 0 0 1 .5 1H2a.5.5 0 0 1 .485.379L2.89 3H14.5a.5.5 0 0 1 .491.592l-1.5 8A.5.5 0 0 1 13 12H4a.5.5 0 0 1-.491-.408L2.01 3.607 1.61 2H.5a.5.5 0 0 1-.5-.5zM5 12a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm-7 1a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm7 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsCartPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM9 5.5V7h1.5a.5.5 0 0 1 0 1H9v1.5a.5.5 0 0 1-1 0V8H6.5a.5.5 0 0 1 0-1H8V5.5a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsCartPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 5.5a.5.5 0 0 0-1 0V7H6.5a.5.5 0 0 0 0 1H8v1.5a.5.5 0 0 0 1 0V8h1.5a.5.5 0 0 0 0-1H9V5.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zm3.915 10L3.102 4h10.796l-1.313 7h-8.17zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsCartXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7.354 5.646 8.5 6.793l1.146-1.147a.5.5 0 0 1 .708.708L9.207 7.5l1.147 1.146a.5.5 0 0 1-.708.708L8.5 8.207 7.354 9.354a.5.5 0 1 1-.708-.708L7.793 7.5 6.646 6.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsCartX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.354 5.646a.5.5 0 1 0-.708.708L7.793 7.5 6.646 8.646a.5.5 0 1 0 .708.708L8.5 8.207l1.146 1.147a.5.5 0 0 0 .708-.708L9.207 7.5l1.147-1.146a.5.5 0 0 0-.708-.708L8.5 6.793 7.354 5.646z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zm3.915 10L3.102 4h10.796l-1.313 7h-8.17zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsCart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A.5.5 0 0 1 .5 1H2a.5.5 0 0 1 .485.379L2.89 3H14.5a.5.5 0 0 1 .491.592l-1.5 8A.5.5 0 0 1 13 12H4a.5.5 0 0 1-.491-.408L2.01 3.607 1.61 2H.5a.5.5 0 0 1-.5-.5zM3.102 4l1.313 7h8.17l1.313-7H3.102zM5 12a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm-7 1a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm7 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsCart2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2.5A.5.5 0 0 1 .5 2H2a.5.5 0 0 1 .485.379L2.89 4H14.5a.5.5 0 0 1 .485.621l-1.5 6A.5.5 0 0 1 13 11H4a.5.5 0 0 1-.485-.379L1.61 3H.5a.5.5 0 0 1-.5-.5zM3.14 5l1.25 5h8.22l1.25-5H3.14zM5 13a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm-2 1a2 2 0 1 1 4 0 2 2 0 0 1-4 0zm9-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm-2 1a2 2 0 1 1 4 0 2 2 0 0 1-4 0z\"}}]})(props);\n};\nexport function BsCart3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A.5.5 0 0 1 .5 1H2a.5.5 0 0 1 .485.379L2.89 3H14.5a.5.5 0 0 1 .49.598l-1 5a.5.5 0 0 1-.465.401l-9.397.472L4.415 11H13a.5.5 0 0 1 0 1H4a.5.5 0 0 1-.491-.408L2.01 3.607 1.61 2H.5a.5.5 0 0 1-.5-.5zM3.102 4l.84 4.479 9.144-.459L13.89 4H3.102zM5 12a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm-7 1a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm7 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsCart4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2.5A.5.5 0 0 1 .5 2H2a.5.5 0 0 1 .485.379L2.89 4H14.5a.5.5 0 0 1 .485.621l-1.5 6A.5.5 0 0 1 13 11H4a.5.5 0 0 1-.485-.379L1.61 3H.5a.5.5 0 0 1-.5-.5zM3.14 5l.5 2H5V5H3.14zM6 5v2h2V5H6zm3 0v2h2V5H9zm3 0v2h1.36l.5-2H12zm1.11 3H12v2h.61l.5-2zM11 8H9v2h2V8zM8 8H6v2h2V8zM5 8H3.89l.5 2H5V8zm0 5a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm-2 1a2 2 0 1 1 4 0 2 2 0 0 1-4 0zm9-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm-2 1a2 2 0 1 1 4 0 2 2 0 0 1-4 0z\"}}]})(props);\n};\nexport function BsCashCoin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11 15a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm5-4a5 5 0 1 1-10 0 5 5 0 0 1 10 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.438 11.944c.047.596.518 1.06 1.363 1.116v.44h.375v-.443c.875-.061 1.386-.529 1.386-1.207 0-.618-.39-.936-1.09-1.1l-.296-.07v-1.2c.376.043.614.248.671.532h.658c-.047-.575-.54-1.024-1.329-1.073V8.5h-.375v.45c-.747.073-1.255.522-1.255 1.158 0 .562.378.92 1.007 1.066l.248.061v1.272c-.384-.058-.639-.27-.696-.563h-.668zm1.36-1.354c-.369-.085-.569-.26-.569-.522 0-.294.216-.514.572-.578v1.1h-.003zm.432.746c.449.104.655.272.655.569 0 .339-.257.571-.709.614v-1.195l.054.012z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 0a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h4.083c.058-.344.145-.678.258-1H3a2 2 0 0 0-2-2V3a2 2 0 0 0 2-2h10a2 2 0 0 0 2 2v3.528c.38.34.717.728 1 1.154V1a1 1 0 0 0-1-1H1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.998 5.083 10 5a2 2 0 1 0-3.132 1.65 5.982 5.982 0 0 1 3.13-1.567z\"}}]})(props);\n};\nexport function BsCashStack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1H1zm7 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V5zm3 0a2 2 0 0 1-2 2v4a2 2 0 0 1 2 2h10a2 2 0 0 1 2-2V7a2 2 0 0 1-2-2H3z\"}}]})(props);\n};\nexport function BsCash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V4zm3 0a2 2 0 0 1-2 2v4a2 2 0 0 1 2 2h10a2 2 0 0 1 2-2V6a2 2 0 0 1-2-2H3z\"}}]})(props);\n};\nexport function BsCast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7.646 9.354-3.792 3.792a.5.5 0 0 0 .353.854h7.586a.5.5 0 0 0 .354-.854L8.354 9.354a.5.5 0 0 0-.708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.414 11H14.5a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-13a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h3.086l-1 1H1.5A1.5 1.5 0 0 1 0 10.5v-7A1.5 1.5 0 0 1 1.5 2h13A1.5 1.5 0 0 1 16 3.5v7a1.5 1.5 0 0 1-1.5 1.5h-2.086l-1-1z\"}}]})(props);\n};\nexport function BsChatDotsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8c0 3.866-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234-.2.032-.352-.176-.273-.362.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7zM5 8a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm4 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsChatDots (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2.165 15.803.02-.004c1.83-.363 2.948-.842 3.468-1.105A9.06 9.06 0 0 0 8 15c4.418 0 8-3.134 8-7s-3.582-7-8-7-8 3.134-8 7c0 1.76.743 3.37 1.97 4.6a10.437 10.437 0 0 1-.524 2.318l-.003.011a10.722 10.722 0 0 1-.244.637c-.079.186.074.394.273.362a21.673 21.673 0 0 0 .693-.125zm.8-3.108a1 1 0 0 0-.287-.801C1.618 10.83 1 9.468 1 8c0-3.192 3.004-6 7-6s7 2.808 7 6c0 3.193-3.004 6-7 6a8.06 8.06 0 0 1-2.088-.272 1 1 0 0 0-.711.074c-.387.196-1.24.57-2.634.893a10.97 10.97 0 0 0 .398-2z\"}}]})(props);\n};\nexport function BsChatFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15c4.418 0 8-3.134 8-7s-3.582-7-8-7-8 3.134-8 7c0 1.76.743 3.37 1.97 4.6-.097 1.016-.417 2.13-.771 2.966-.079.186.074.394.273.362 2.256-.37 3.597-.938 4.18-1.234A9.06 9.06 0 0 0 8 15z\"}}]})(props);\n};\nexport function BsChatLeftDotsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4.414a1 1 0 0 0-.707.293L.854 15.146A.5.5 0 0 1 0 14.793V2zm5 4a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm4 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsChatLeftDots (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4.414A2 2 0 0 0 3 11.586l-2 2V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsChatLeftFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsChatLeftQuoteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4.414a1 1 0 0 0-.707.293L.854 15.146A.5.5 0 0 1 0 14.793V2zm7.194 2.766a1.688 1.688 0 0 0-.227-.272 1.467 1.467 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 5.734 4C4.776 4 4 4.746 4 5.667c0 .92.776 1.666 1.734 1.666.343 0 .662-.095.931-.26-.137.389-.39.804-.81 1.22a.405.405 0 0 0 .011.59c.173.16.447.155.614-.01 1.334-1.329 1.37-2.758.941-3.706a2.461 2.461 0 0 0-.227-.4zM11 7.073c-.136.389-.39.804-.81 1.22a.405.405 0 0 0 .012.59c.172.16.446.155.613-.01 1.334-1.329 1.37-2.758.942-3.706a2.466 2.466 0 0 0-.228-.4 1.686 1.686 0 0 0-.227-.273 1.466 1.466 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 10.07 4c-.957 0-1.734.746-1.734 1.667 0 .92.777 1.666 1.734 1.666.343 0 .662-.095.931-.26z\"}}]})(props);\n};\nexport function BsChatLeftQuote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4.414A2 2 0 0 0 3 11.586l-2 2V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.066 4.76A1.665 1.665 0 0 0 4 5.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 1 0 .6.58c1.486-1.54 1.293-3.214.682-4.112zm4 0A1.665 1.665 0 0 0 8 5.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 1 0 .6.58c1.486-1.54 1.293-3.214.682-4.112z\"}}]})(props);\n};\nexport function BsChatLeftTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4.414a1 1 0 0 0-.707.293L.854 15.146A.5.5 0 0 1 0 14.793V2zm3.5 1a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 2.5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 2.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5z\"}}]})(props);\n};\nexport function BsChatLeftText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4.414A2 2 0 0 0 3 11.586l-2 2V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM3 6a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9A.5.5 0 0 1 3 6zm0 2.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsChatLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4.414A2 2 0 0 0 3 11.586l-2 2V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsChatQuoteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8c0 3.866-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234-.2.032-.352-.176-.273-.362.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7zM7.194 6.766a1.688 1.688 0 0 0-.227-.272 1.467 1.467 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 5.734 6C4.776 6 4 6.746 4 7.667c0 .92.776 1.666 1.734 1.666.343 0 .662-.095.931-.26-.137.389-.39.804-.81 1.22a.405.405 0 0 0 .011.59c.173.16.447.155.614-.01 1.334-1.329 1.37-2.758.941-3.706a2.461 2.461 0 0 0-.227-.4zM11 9.073c-.136.389-.39.804-.81 1.22a.405.405 0 0 0 .012.59c.172.16.446.155.613-.01 1.334-1.329 1.37-2.758.942-3.706a2.466 2.466 0 0 0-.228-.4 1.686 1.686 0 0 0-.227-.273 1.466 1.466 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 10.07 6c-.957 0-1.734.746-1.734 1.667 0 .92.777 1.666 1.734 1.666.343 0 .662-.095.931-.26z\"}}]})(props);\n};\nexport function BsChatQuote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.678 11.894a1 1 0 0 1 .287.801 10.97 10.97 0 0 1-.398 2c1.395-.323 2.247-.697 2.634-.893a1 1 0 0 1 .71-.074A8.06 8.06 0 0 0 8 14c3.996 0 7-2.807 7-6 0-3.192-3.004-6-7-6S1 4.808 1 8c0 1.468.617 2.83 1.678 3.894zm-.493 3.905a21.682 21.682 0 0 1-.713.129c-.2.032-.352-.176-.273-.362a9.68 9.68 0 0 0 .244-.637l.003-.01c.248-.72.45-1.548.524-2.319C.743 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.52.263-1.639.742-3.468 1.105z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.066 6.76A1.665 1.665 0 0 0 4 7.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 0 0 .6.58c1.486-1.54 1.293-3.214.682-4.112zm4 0A1.665 1.665 0 0 0 8 7.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 0 0 .6.58c1.486-1.54 1.293-3.214.682-4.112z\"}}]})(props);\n};\nexport function BsChatRightDotsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h9.586a1 1 0 0 1 .707.293l2.853 2.853a.5.5 0 0 0 .854-.353V2zM5 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 1a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BsChatRightDots (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h9.586a2 2 0 0 1 1.414.586l2 2V2a1 1 0 0 0-1-1H2zm12-1a2 2 0 0 1 2 2v12.793a.5.5 0 0 1-.854.353l-2.853-2.853a1 1 0 0 0-.707-.293H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsChatRightFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0a2 2 0 0 1 2 2v12.793a.5.5 0 0 1-.854.353l-2.853-2.853a1 1 0 0 0-.707-.293H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12z\"}}]})(props);\n};\nexport function BsChatRightQuoteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h9.586a1 1 0 0 1 .707.293l2.853 2.853a.5.5 0 0 0 .854-.353V2zM7.194 4.766c.087.124.163.26.227.401.428.948.393 2.377-.942 3.706a.446.446 0 0 1-.612.01.405.405 0 0 1-.011-.59c.419-.416.672-.831.809-1.22-.269.165-.588.26-.93.26C4.775 7.333 4 6.587 4 5.667 4 4.747 4.776 4 5.734 4c.271 0 .528.06.756.166l.008.004c.169.07.327.182.469.324.085.083.161.174.227.272zM11 7.073c-.269.165-.588.26-.93.26-.958 0-1.735-.746-1.735-1.666 0-.92.777-1.667 1.734-1.667.271 0 .528.06.756.166l.008.004c.17.07.327.182.469.324.085.083.161.174.227.272.087.124.164.26.228.401.428.948.392 2.377-.942 3.706a.446.446 0 0 1-.613.01.405.405 0 0 1-.011-.59c.42-.416.672-.831.81-1.22z\"}}]})(props);\n};\nexport function BsChatRightQuote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h9.586a2 2 0 0 1 1.414.586l2 2V2a1 1 0 0 0-1-1H2zm12-1a2 2 0 0 1 2 2v12.793a.5.5 0 0 1-.854.353l-2.853-2.853a1 1 0 0 0-.707-.293H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.066 4.76A1.665 1.665 0 0 0 4 5.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 1 0 .6.58c1.486-1.54 1.293-3.214.682-4.112zm4 0A1.665 1.665 0 0 0 8 5.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 1 0 .6.58c1.486-1.54 1.293-3.214.682-4.112z\"}}]})(props);\n};\nexport function BsChatRightTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h9.586a1 1 0 0 1 .707.293l2.853 2.853a.5.5 0 0 0 .854-.353V2zM3.5 3h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1zm0 2.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1zm0 2.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsChatRightText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h9.586a2 2 0 0 1 1.414.586l2 2V2a1 1 0 0 0-1-1H2zm12-1a2 2 0 0 1 2 2v12.793a.5.5 0 0 1-.854.353l-2.853-2.853a1 1 0 0 0-.707-.293H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM3 6a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9A.5.5 0 0 1 3 6zm0 2.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsChatRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h9.586a2 2 0 0 1 1.414.586l2 2V2a1 1 0 0 0-1-1H2zm12-1a2 2 0 0 1 2 2v12.793a.5.5 0 0 1-.854.353l-2.853-2.853a1 1 0 0 0-.707-.293H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12z\"}}]})(props);\n};\nexport function BsChatSquareDotsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.5a1 1 0 0 0-.8.4l-1.9 2.533a1 1 0 0 1-1.6 0L5.3 12.4a1 1 0 0 0-.8-.4H2a2 2 0 0 1-2-2V2zm5 4a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm4 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsChatSquareDots (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-2.5a2 2 0 0 0-1.6.8L8 14.333 6.1 11.8a2 2 0 0 0-1.6-.8H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5a1 1 0 0 1 .8.4l1.9 2.533a1 1 0 0 0 1.6 0l1.9-2.533a1 1 0 0 1 .8-.4H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsChatSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5a1 1 0 0 1 .8.4l1.9 2.533a1 1 0 0 0 1.6 0l1.9-2.533a1 1 0 0 1 .8-.4H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsChatSquareQuoteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.5a1 1 0 0 0-.8.4l-1.9 2.533a1 1 0 0 1-1.6 0L5.3 12.4a1 1 0 0 0-.8-.4H2a2 2 0 0 1-2-2V2zm7.194 2.766a1.688 1.688 0 0 0-.227-.272 1.467 1.467 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 5.734 4C4.776 4 4 4.746 4 5.667c0 .92.776 1.666 1.734 1.666.343 0 .662-.095.931-.26-.137.389-.39.804-.81 1.22a.405.405 0 0 0 .011.59c.173.16.447.155.614-.01 1.334-1.329 1.37-2.758.941-3.706a2.461 2.461 0 0 0-.227-.4zM11 7.073c-.136.389-.39.804-.81 1.22a.405.405 0 0 0 .012.59c.172.16.446.155.613-.01 1.334-1.329 1.37-2.758.942-3.706a2.466 2.466 0 0 0-.228-.4 1.686 1.686 0 0 0-.227-.273 1.466 1.466 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 10.07 4c-.957 0-1.734.746-1.734 1.667 0 .92.777 1.666 1.734 1.666.343 0 .662-.095.931-.26z\"}}]})(props);\n};\nexport function BsChatSquareQuote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-2.5a2 2 0 0 0-1.6.8L8 14.333 6.1 11.8a2 2 0 0 0-1.6-.8H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5a1 1 0 0 1 .8.4l1.9 2.533a1 1 0 0 0 1.6 0l1.9-2.533a1 1 0 0 1 .8-.4H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.066 4.76A1.665 1.665 0 0 0 4 5.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 1 0 .6.58c1.486-1.54 1.293-3.214.682-4.112zm4 0A1.665 1.665 0 0 0 8 5.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 1 0 .6.58c1.486-1.54 1.293-3.214.682-4.112z\"}}]})(props);\n};\nexport function BsChatSquareTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.5a1 1 0 0 0-.8.4l-1.9 2.533a1 1 0 0 1-1.6 0L5.3 12.4a1 1 0 0 0-.8-.4H2a2 2 0 0 1-2-2V2zm3.5 1a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 2.5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 2.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5z\"}}]})(props);\n};\nexport function BsChatSquareText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-2.5a2 2 0 0 0-1.6.8L8 14.333 6.1 11.8a2 2 0 0 0-1.6-.8H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5a1 1 0 0 1 .8.4l1.9 2.533a1 1 0 0 0 1.6 0l1.9-2.533a1 1 0 0 1 .8-.4H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM3 6a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9A.5.5 0 0 1 3 6zm0 2.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsChatSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-2.5a2 2 0 0 0-1.6.8L8 14.333 6.1 11.8a2 2 0 0 0-1.6-.8H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5a1 1 0 0 1 .8.4l1.9 2.533a1 1 0 0 0 1.6 0l1.9-2.533a1 1 0 0 1 .8-.4H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsChatTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8c0 3.866-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234-.2.032-.352-.176-.273-.362.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7zM4.5 5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7zm0 2.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7zm0 2.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4z\"}}]})(props);\n};\nexport function BsChatText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.678 11.894a1 1 0 0 1 .287.801 10.97 10.97 0 0 1-.398 2c1.395-.323 2.247-.697 2.634-.893a1 1 0 0 1 .71-.074A8.06 8.06 0 0 0 8 14c3.996 0 7-2.807 7-6 0-3.192-3.004-6-7-6S1 4.808 1 8c0 1.468.617 2.83 1.678 3.894zm-.493 3.905a21.682 21.682 0 0 1-.713.129c-.2.032-.352-.176-.273-.362a9.68 9.68 0 0 0 .244-.637l.003-.01c.248-.72.45-1.548.524-2.319C.743 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.52.263-1.639.742-3.468 1.105z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 5.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8zm0 2.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsChat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.678 11.894a1 1 0 0 1 .287.801 10.97 10.97 0 0 1-.398 2c1.395-.323 2.247-.697 2.634-.893a1 1 0 0 1 .71-.074A8.06 8.06 0 0 0 8 14c3.996 0 7-2.807 7-6 0-3.192-3.004-6-7-6S1 4.808 1 8c0 1.468.617 2.83 1.678 3.894zm-.493 3.905a21.682 21.682 0 0 1-.713.129c-.2.032-.352-.176-.273-.362a9.68 9.68 0 0 0 .244-.637l.003-.01c.248-.72.45-1.548.524-2.319C.743 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.52.263-1.639.742-3.468 1.105z\"}}]})(props);\n};\nexport function BsCheckAll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L2.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093L8.95 4.992a.252.252 0 0 1 .02-.022zm-.92 5.14.92.92a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 1 0-1.091-1.028L9.477 9.417l-.485-.486-.943 1.179z\"}}]})(props);\n};\nexport function BsCheckCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z\"}}]})(props);\n};\nexport function BsCheckCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.97 4.97a.235.235 0 0 0-.02.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-1.071-1.05z\"}}]})(props);\n};\nexport function BsCheckLg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.485 1.431a1.473 1.473 0 0 1 2.104 2.062l-7.84 9.801a1.473 1.473 0 0 1-2.12.04L.431 8.138a1.473 1.473 0 0 1 2.084-2.083l4.111 4.112 6.82-8.69a.486.486 0 0 1 .04-.045z\"}}]})(props);\n};\nexport function BsCheckSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm10.03 4.97a.75.75 0 0 1 .011 1.05l-3.992 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.75.75 0 0 1 1.08-.022z\"}}]})(props);\n};\nexport function BsCheckSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.97 4.97a.75.75 0 0 1 1.071 1.05l-3.992 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.235.235 0 0 1 .02-.022z\"}}]})(props);\n};\nexport function BsCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.267.267 0 0 1 .02-.022z\"}}]})(props);\n};\nexport function BsCheck2All (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.354 4.354a.5.5 0 0 0-.708-.708L5 10.293 1.854 7.146a.5.5 0 1 0-.708.708l3.5 3.5a.5.5 0 0 0 .708 0l7-7zm-4.208 7-.896-.897.707-.707.543.543 6.646-6.647a.5.5 0 0 1 .708.708l-7 7a.5.5 0 0 1-.708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m5.354 7.146.896.897-.707.707-.897-.896a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsCheck2Circle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 8a5.5 5.5 0 0 1 8.25-4.764.5.5 0 0 0 .5-.866A6.5 6.5 0 1 0 14.5 8a.5.5 0 0 0-1 0 5.5 5.5 0 1 1-11 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.354 3.354a.5.5 0 0 0-.708-.708L8 9.293 5.354 6.646a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l7-7z\"}}]})(props);\n};\nexport function BsCheck2Square (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 14.5A1.5 1.5 0 0 1 1.5 13V3A1.5 1.5 0 0 1 3 1.5h8a.5.5 0 0 1 0 1H3a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5V8a.5.5 0 0 1 1 0v5a1.5 1.5 0 0 1-1.5 1.5H3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8.354 10.354 7-7a.5.5 0 0 0-.708-.708L8 9.293 5.354 6.646a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0z\"}}]})(props);\n};\nexport function BsCheck2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsChevronBarContract (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.646 14.854a.5.5 0 0 0 .708 0L8 11.207l3.646 3.647a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 0 0 0 .708zm0-13.708a.5.5 0 0 1 .708 0L8 4.793l3.646-3.647a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 0-.708zM1 8a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13A.5.5 0 0 1 1 8z\"}}]})(props);\n};\nexport function BsChevronBarDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.646 4.146a.5.5 0 0 1 .708 0L8 7.793l3.646-3.647a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 0-.708zM1 11.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsChevronBarExpand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.646 10.146a.5.5 0 0 1 .708 0L8 13.793l3.646-3.647a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 0-.708zm0-4.292a.5.5 0 0 0 .708 0L8 2.207l3.646 3.647a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 0 0 0 .708zM1 8a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13A.5.5 0 0 1 1 8z\"}}]})(props);\n};\nexport function BsChevronBarLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.854 3.646a.5.5 0 0 1 0 .708L8.207 8l3.647 3.646a.5.5 0 0 1-.708.708l-4-4a.5.5 0 0 1 0-.708l4-4a.5.5 0 0 1 .708 0zM4.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 1 0v-13a.5.5 0 0 0-.5-.5z\"}}]})(props);\n};\nexport function BsChevronBarRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.146 3.646a.5.5 0 0 0 0 .708L7.793 8l-3.647 3.646a.5.5 0 0 0 .708.708l4-4a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708 0zM11.5 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-1 0v-13a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsChevronBarUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.646 11.854a.5.5 0 0 0 .708 0L8 8.207l3.646 3.647a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 0 0 0 .708zM2.4 5.2c0 .22.18.4.4.4h10.4a.4.4 0 0 0 0-.8H2.8a.4.4 0 0 0-.4.4z\"}}]})(props);\n};\nexport function BsChevronCompactDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.553 6.776a.5.5 0 0 1 .67-.223L8 9.44l5.776-2.888a.5.5 0 1 1 .448.894l-6 3a.5.5 0 0 1-.448 0l-6-3a.5.5 0 0 1-.223-.67z\"}}]})(props);\n};\nexport function BsChevronCompactLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.224 1.553a.5.5 0 0 1 .223.67L6.56 8l2.888 5.776a.5.5 0 1 1-.894.448l-3-6a.5.5 0 0 1 0-.448l3-6a.5.5 0 0 1 .67-.223z\"}}]})(props);\n};\nexport function BsChevronCompactRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.776 1.553a.5.5 0 0 1 .671.223l3 6a.5.5 0 0 1 0 .448l-3 6a.5.5 0 1 1-.894-.448L9.44 8 6.553 2.224a.5.5 0 0 1 .223-.671z\"}}]})(props);\n};\nexport function BsChevronCompactUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.776 5.553a.5.5 0 0 1 .448 0l6 3a.5.5 0 1 1-.448.894L8 6.56 2.224 9.447a.5.5 0 1 1-.448-.894l6-3z\"}}]})(props);\n};\nexport function BsChevronContract (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.646 13.854a.5.5 0 0 0 .708 0L8 10.207l3.646 3.647a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 0 0 0 .708zm0-11.708a.5.5 0 0 1 .708 0L8 5.793l3.646-3.647a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsChevronDoubleDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.646 6.646a.5.5 0 0 1 .708 0L8 12.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.646 2.646a.5.5 0 0 1 .708 0L8 8.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsChevronDoubleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.354 1.646a.5.5 0 0 1 0 .708L2.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.354 1.646a.5.5 0 0 1 0 .708L6.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsChevronDoubleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L9.293 8 3.646 2.354a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L13.293 8 7.646 2.354a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsChevronDoubleUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 2.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1-.708.708L8 3.707 2.354 9.354a.5.5 0 1 1-.708-.708l6-6z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 6.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1-.708.708L8 7.707l-5.646 5.647a.5.5 0 0 1-.708-.708l6-6z\"}}]})(props);\n};\nexport function BsChevronDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsChevronExpand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.646 9.146a.5.5 0 0 1 .708 0L8 12.793l3.646-3.647a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 0-.708zm0-2.292a.5.5 0 0 0 .708 0L8 3.207l3.646 3.647a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 0 0 0 .708z\"}}]})(props);\n};\nexport function BsChevronLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsChevronRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsChevronUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 4.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1-.708.708L8 5.707l-5.646 5.647a.5.5 0 0 1-.708-.708l6-6z\"}}]})(props);\n};\nexport function BsCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"8\",\"r\":\"8\"}}]})(props);\n};\nexport function BsCircleHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 0 8 1v14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z\"}}]})(props);\n};\nexport function BsCircleSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 6a6 6 0 1 1 12 0A6 6 0 0 1 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.93 5h1.57a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-1.57a6.953 6.953 0 0 1-1-.22v1.79A1.5 1.5 0 0 0 5.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 4h-1.79c.097.324.17.658.22 1z\"}}]})(props);\n};\nexport function BsCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}}]})(props);\n};\nexport function BsClipboardCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.854 7.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z\"}}]})(props);\n};\nexport function BsClipboardData (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1zm6-4a1 1 0 1 1 2 0v5a1 1 0 1 1-2 0V7zM7 9a1 1 0 0 1 2 0v3a1 1 0 1 1-2 0V9z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z\"}}]})(props);\n};\nexport function BsClipboardMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.5 9.5A.5.5 0 0 1 6 9h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z\"}}]})(props);\n};\nexport function BsClipboardPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 7a.5.5 0 0 1 .5.5V9H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V10H6a.5.5 0 0 1 0-1h1.5V7.5A.5.5 0 0 1 8 7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z\"}}]})(props);\n};\nexport function BsClipboardX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.146 7.146a.5.5 0 0 1 .708 0L8 8.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 9l1.147 1.146a.5.5 0 0 1-.708.708L8 9.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 9 6.146 7.854a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z\"}}]})(props);\n};\nexport function BsClipboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z\"}}]})(props);\n};\nexport function BsClockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71V3.5z\"}}]})(props);\n};\nexport function BsClockHistory (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.515 1.019A7 7 0 0 0 8 1V0a8 8 0 0 1 .589.022l-.074.997zm2.004.45a7.003 7.003 0 0 0-.985-.299l.219-.976c.383.086.76.2 1.126.342l-.36.933zm1.37.71a7.01 7.01 0 0 0-.439-.27l.493-.87a8.025 8.025 0 0 1 .979.654l-.615.789a6.996 6.996 0 0 0-.418-.302zm1.834 1.79a6.99 6.99 0 0 0-.653-.796l.724-.69c.27.285.52.59.747.91l-.818.576zm.744 1.352a7.08 7.08 0 0 0-.214-.468l.893-.45a7.976 7.976 0 0 1 .45 1.088l-.95.313a7.023 7.023 0 0 0-.179-.483zm.53 2.507a6.991 6.991 0 0 0-.1-1.025l.985-.17c.067.386.106.778.116 1.17l-1 .025zm-.131 1.538c.033-.17.06-.339.081-.51l.993.123a7.957 7.957 0 0 1-.23 1.155l-.964-.267c.046-.165.086-.332.12-.501zm-.952 2.379c.184-.29.346-.594.486-.908l.914.405c-.16.36-.345.706-.555 1.038l-.845-.535zm-.964 1.205c.122-.122.239-.248.35-.378l.758.653a8.073 8.073 0 0 1-.401.432l-.707-.707z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a7 7 0 1 0 4.95 11.95l.707.707A8.001 8.001 0 1 1 8 0v1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 3a.5.5 0 0 1 .5.5v5.21l3.248 1.856a.5.5 0 0 1-.496.868l-3.5-2A.5.5 0 0 1 7 9V3.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsClock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71V3.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm7-8A7 7 0 1 1 1 8a7 7 0 0 1 14 0z\"}}]})(props);\n};\nexport function BsCloudArrowDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zm2.354 6.854-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 9.293V5.5a.5.5 0 0 1 1 0v3.793l1.146-1.147a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsCloudArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 10.854a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0-.708-.708L8.5 9.293V5.5a.5.5 0 0 0-1 0v3.793L6.354 8.146a.5.5 0 1 0-.708.708l2 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383zm.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318 1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z\"}}]})(props);\n};\nexport function BsCloudArrowUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zm2.354 5.146a.5.5 0 0 1-.708.708L8.5 6.707V10.5a.5.5 0 0 1-1 0V6.707L6.354 7.854a.5.5 0 1 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2z\"}}]})(props);\n};\nexport function BsCloudArrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 5.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 6.707V10.5a.5.5 0 0 1-1 0V6.707L6.354 7.854a.5.5 0 1 1-.708-.708l2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383zm.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318 1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z\"}}]})(props);\n};\nexport function BsCloudCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zm2.354 4.854-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsCloudCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.354 6.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383zm.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318 1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z\"}}]})(props);\n};\nexport function BsCloudDownloadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 4.095 0 5.555 0 7.318 0 9.366 1.708 11 3.781 11H7.5V5.5a.5.5 0 0 1 1 0V11h4.188C14.502 11 16 9.57 16 7.773c0-1.636-1.242-2.969-2.834-3.194C12.923 1.999 10.69 0 8 0zm-.354 15.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 14.293V11h-1v3.293l-2.146-2.147a.5.5 0 0 0-.708.708l3 3z\"}}]})(props);\n};\nexport function BsCloudDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 1.342A5.53 5.53 0 0 1 8 0c2.69 0 4.923 2 5.166 4.579C14.758 4.804 16 6.137 16 7.773 16 9.569 14.502 11 12.687 11H10a.5.5 0 0 1 0-1h2.688C13.979 10 15 8.988 15 7.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 2.825 10.328 1 8 1a4.53 4.53 0 0 0-2.941 1.1c-.757.652-1.153 1.438-1.153 2.055v.448l-.445.049C2.064 4.805 1 5.952 1 7.318 1 8.785 2.23 10 3.781 10H6a.5.5 0 0 1 0 1H3.781C1.708 11 0 9.366 0 7.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 15.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 14.293V5.5a.5.5 0 0 0-1 0v8.793l-2.146-2.147a.5.5 0 0 0-.708.708l3 3z\"}}]})(props);\n};\nexport function BsCloudDrizzleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.158 12.025a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm6 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm-3.5 1.5a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm6 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm.747-8.498a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 11H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudDrizzle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.158 12.025a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm6 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm-3.5 1.5a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm6 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm.747-8.498a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 11H13a3 3 0 0 0 .405-5.973zM8.5 2a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1 0 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 2z\"}}]})(props);\n};\nexport function BsCloudFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383z\"}}]})(props);\n};\nexport function BsCloudFogFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 13.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm10.405-9.473a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 12H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudFog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 13.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm10.405-9.473a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 12H13a3 3 0 0 0 .405-5.973zM8.5 3a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1 0 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 3z\"}}]})(props);\n};\nexport function BsCloudFog2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 3a5.001 5.001 0 0 1 4.905 4.027A3 3 0 0 1 13 13h-1.5a.5.5 0 0 0 0-1H1.05a3.51 3.51 0 0 1-.713-1H9.5a.5.5 0 0 0 0-1H.035a3.53 3.53 0 0 1 0-1H7.5a.5.5 0 0 0 0-1H.337a3.5 3.5 0 0 1 3.57-1.977A5.001 5.001 0 0 1 8.5 3z\"}}]})(props);\n};\nexport function BsCloudFog2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 4a4.002 4.002 0 0 0-3.8 2.745.5.5 0 1 1-.949-.313 5.002 5.002 0 0 1 9.654.595A3 3 0 0 1 13 13H.5a.5.5 0 0 1 0-1H13a2 2 0 0 0 .001-4h-.026a.5.5 0 0 1-.5-.445A4 4 0 0 0 8.5 4zM0 8.5A.5.5 0 0 1 .5 8h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsCloudHailFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.75 15.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zM7.75 15.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm3.592 3.724a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm1.247-6.999a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10.5H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudHail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.405 4.527a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10.5H13a3 3 0 0 0 .405-5.973zM8.5 1.5a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1-.001 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 1.5zM3.75 15.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zM7.75 15.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm3.592 3.724a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316z\"}}]})(props);\n};\nexport function BsCloudHaze1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm-3 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm2 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM13.405 4.027a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973zM8.5 1a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1 0 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 1z\"}}]})(props);\n};\nexport function BsCloudHazeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm-3 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm2 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM13.405 4.027a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudHaze (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 3a4.002 4.002 0 0 0-3.8 2.745.5.5 0 1 1-.949-.313 5.002 5.002 0 0 1 9.654.595A3 3 0 0 1 13 12H4.5a.5.5 0 0 1 0-1H13a2 2 0 0 0 .001-4h-.026a.5.5 0 0 1-.5-.445A4 4 0 0 0 8.5 3zM0 7.5A.5.5 0 0 1 .5 7h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm2 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm-2 4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsCloudHaze2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 2a5.001 5.001 0 0 1 4.905 4.027A3 3 0 0 1 13 12H3.5A3.5 3.5 0 0 1 .035 9H5.5a.5.5 0 0 0 0-1H.035a3.5 3.5 0 0 1 3.871-2.977A5.001 5.001 0 0 1 8.5 2zm-6 8a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zM0 13.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsCloudLightningFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.053 11.276A.5.5 0 0 1 7.5 11h1a.5.5 0 0 1 .474.658l-.28.842H9.5a.5.5 0 0 1 .39.812l-2 2.5a.5.5 0 0 1-.875-.433L7.36 14H6.5a.5.5 0 0 1-.447-.724l1-2zm6.352-7.249a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudLightningRainFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.658 11.026a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm9.5 0a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm-7.5 1.5a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm9.5 0a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm-7.105-1.25A.5.5 0 0 1 7.5 11h1a.5.5 0 0 1 .474.658l-.28.842H9.5a.5.5 0 0 1 .39.812l-2 2.5a.5.5 0 0 1-.875-.433L7.36 14H6.5a.5.5 0 0 1-.447-.724l1-2zm6.352-7.249a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudLightningRain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.658 11.026a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm9.5 0a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm-7.5 1.5a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm9.5 0a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm-.753-8.499a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973zM8.5 1a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1 0 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 1zM7.053 11.276A.5.5 0 0 1 7.5 11h1a.5.5 0 0 1 .474.658l-.28.842H9.5a.5.5 0 0 1 .39.812l-2 2.5a.5.5 0 0 1-.875-.433L7.36 14H6.5a.5.5 0 0 1-.447-.724l1-2z\"}}]})(props);\n};\nexport function BsCloudLightning (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.405 4.027a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973zM8.5 1a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1 0 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 1zM7.053 11.276A.5.5 0 0 1 7.5 11h1a.5.5 0 0 1 .474.658l-.28.842H9.5a.5.5 0 0 1 .39.812l-2 2.5a.5.5 0 0 1-.875-.433L7.36 14H6.5a.5.5 0 0 1-.447-.724l1-2z\"}}]})(props);\n};\nexport function BsCloudMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zM6 7.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsCloudMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383zm.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318 1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6z\"}}]})(props);\n};\nexport function BsCloudMoonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.473 11a4.5 4.5 0 0 0-8.72-.99A3 3 0 0 0 3 16h8.5a2.5 2.5 0 0 0 0-5h-.027z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.286 1.778a.5.5 0 0 0-.565-.755 4.595 4.595 0 0 0-3.18 5.003 5.46 5.46 0 0 1 1.055.209A3.603 3.603 0 0 1 9.83 2.617a4.593 4.593 0 0 0 4.31 5.744 3.576 3.576 0 0 1-2.241.634c.162.317.295.652.394 1a4.59 4.59 0 0 0 3.624-2.04.5.5 0 0 0-.565-.755 3.593 3.593 0 0 1-4.065-5.422z\"}}]})(props);\n};\nexport function BsCloudMoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 8a3.5 3.5 0 0 1 3.5 3.555.5.5 0 0 0 .625.492A1.503 1.503 0 0 1 13 13.5a1.5 1.5 0 0 1-1.5 1.5H3a2 2 0 1 1 .1-3.998.5.5 0 0 0 .509-.375A3.502 3.502 0 0 1 7 8zm4.473 3a4.5 4.5 0 0 0-8.72-.99A3 3 0 0 0 3 16h8.5a2.5 2.5 0 0 0 0-5h-.027z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.286 1.778a.5.5 0 0 0-.565-.755 4.595 4.595 0 0 0-3.18 5.003 5.46 5.46 0 0 1 1.055.209A3.603 3.603 0 0 1 9.83 2.617a4.593 4.593 0 0 0 4.31 5.744 3.576 3.576 0 0 1-2.241.634c.162.317.295.652.394 1a4.59 4.59 0 0 0 3.624-2.04.5.5 0 0 0-.565-.755 3.593 3.593 0 0 1-4.065-5.422z\"}}]})(props);\n};\nexport function BsCloudPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zm.5 4v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsCloudPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 5.5a.5.5 0 0 1 .5.5v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383zm.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318 1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z\"}}]})(props);\n};\nexport function BsCloudRainFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.158 12.025a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-1 3a.5.5 0 1 1-.948-.316l1-3a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-1 3a.5.5 0 1 1-.948-.316l1-3a.5.5 0 0 1 .632-.317zm.247-6.998a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 11H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudRainHeavyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.176 11.032a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm.229-7.005a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudRainHeavy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.176 11.032a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 1 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 1 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 1 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm.229-7.005a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973zM8.5 1a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1 0 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 1z\"}}]})(props);\n};\nexport function BsCloudRain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.158 12.025a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-1 3a.5.5 0 0 1-.948-.316l1-3a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-1 3a.5.5 0 1 1-.948-.316l1-3a.5.5 0 0 1 .632-.317zm.247-6.998a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 11H13a3 3 0 0 0 .405-5.973zM8.5 2a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1 0 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 2z\"}}]})(props);\n};\nexport function BsCloudSlashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.112 5.112a3.125 3.125 0 0 0-.17.613C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13H11L3.112 5.112zm11.372 7.372L4.937 2.937A5.512 5.512 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773a3.2 3.2 0 0 1-1.516 2.711zm-.838 1.87-12-12 .708-.708 12 12-.707.707z\"}}]})(props);\n};\nexport function BsCloudSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.112 5.112a3.125 3.125 0 0 0-.17.613C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13H11l-1-1H3.781C2.231 12 1 10.785 1 9.318c0-1.365 1.064-2.513 2.46-2.666l.446-.05v-.447c0-.075.006-.152.018-.231l-.812-.812zm2.55-1.45-.725-.725A5.512 5.512 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773a3.2 3.2 0 0 1-1.516 2.711l-.733-.733C14.498 11.378 15 10.626 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3c-.875 0-1.678.26-2.339.661z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13.646 14.354-12-12 .708-.708 12 12-.707.707z\"}}]})(props);\n};\nexport function BsCloudSleetFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.375 13.5a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 1 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 1 1-.248-.434l.495-.283-.495-.283a.25.25 0 1 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 0 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223zM6.375 13.5a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 1 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 1 1-.248-.434l.495-.283-.495-.283a.25.25 0 1 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 0 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223zm2.151 2.447a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 1 1-.248.434l-.501-.286v.569a.25.25 0 0 1-.5 0v-.57l-.501.287a.25.25 0 1 1-.248-.434l.495-.283-.495-.283a.25.25 0 1 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 1 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223zm1.181-7.026a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudSleet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.405 4.027a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973zM8.5 1a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1 0 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 1zM2.375 13.5a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 1 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223zM6.375 13.5a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 1 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223zm2.151 2.447a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 1 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223z\"}}]})(props);\n};\nexport function BsCloudSnowFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.625 11.5a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm2.75 2a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm5.5 0a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 0 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm-2.75-2a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm5.5 0a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 0 1-.5 0v-.57l-.501.287a.25.25 0 1 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm-.22-7.223a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10.25H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudSnow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.405 4.277a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10.25H13a3 3 0 0 0 .405-5.973zM8.5 1.25a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1-.001 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 1.25zM2.625 11.5a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm2.75 2a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm5.5 0a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm-2.75-2a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm5.5 0a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25z\"}}]})(props);\n};\nexport function BsCloudSunFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.473 11a4.5 4.5 0 0 0-8.72-.99A3 3 0 0 0 3 16h8.5a2.5 2.5 0 0 0 0-5h-.027z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 1.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1zm3.743 1.964a.5.5 0 1 0-.707-.707l-.708.707a.5.5 0 0 0 .708.708l.707-.708zm-7.779-.707a.5.5 0 0 0-.707.707l.707.708a.5.5 0 1 0 .708-.708l-.708-.707zm1.734 3.374a2 2 0 1 1 3.296 2.198c.199.281.372.582.516.898a3 3 0 1 0-4.84-3.225c.352.011.696.055 1.028.129zm4.484 4.074c.6.215 1.125.59 1.522 1.072a.5.5 0 0 0 .039-.742l-.707-.707a.5.5 0 0 0-.854.377zM14.5 6.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"}}]})(props);\n};\nexport function BsCloudSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 8a3.5 3.5 0 0 1 3.5 3.555.5.5 0 0 0 .624.492A1.503 1.503 0 0 1 13 13.5a1.5 1.5 0 0 1-1.5 1.5H3a2 2 0 1 1 .1-3.998.5.5 0 0 0 .51-.375A3.502 3.502 0 0 1 7 8zm4.473 3a4.5 4.5 0 0 0-8.72-.99A3 3 0 0 0 3 16h8.5a2.5 2.5 0 0 0 0-5h-.027z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 1.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1zm3.743 1.964a.5.5 0 1 0-.707-.707l-.708.707a.5.5 0 0 0 .708.708l.707-.708zm-7.779-.707a.5.5 0 0 0-.707.707l.707.708a.5.5 0 1 0 .708-.708l-.708-.707zm1.734 3.374a2 2 0 1 1 3.296 2.198c.199.281.372.582.516.898a3 3 0 1 0-4.84-3.225c.352.011.696.055 1.028.129zm4.484 4.074c.6.215 1.125.59 1.522 1.072a.5.5 0 0 0 .039-.742l-.707-.707a.5.5 0 0 0-.854.377zM14.5 6.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"}}]})(props);\n};\nexport function BsCloudUploadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 4.095 0 5.555 0 7.318 0 9.366 1.708 11 3.781 11H7.5V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V11h4.188C14.502 11 16 9.57 16 7.773c0-1.636-1.242-2.969-2.834-3.194C12.923 1.999 10.69 0 8 0zm-.5 14.5V11h1v3.5a.5.5 0 0 1-1 0z\"}}]})(props);\n};\nexport function BsCloudUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.406 1.342A5.53 5.53 0 0 1 8 0c2.69 0 4.923 2 5.166 4.579C14.758 4.804 16 6.137 16 7.773 16 9.569 14.502 11 12.687 11H10a.5.5 0 0 1 0-1h2.688C13.979 10 15 8.988 15 7.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 2.825 10.328 1 8 1a4.53 4.53 0 0 0-2.941 1.1c-.757.652-1.153 1.438-1.153 2.055v.448l-.445.049C2.064 4.805 1 5.952 1 7.318 1 8.785 2.23 10 3.781 10H6a.5.5 0 0 1 0 1H3.781C1.708 11 0 9.366 0 7.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 4.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V14.5a.5.5 0 0 1-1 0V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3z\"}}]})(props);\n};\nexport function BsCloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383zm.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318 1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z\"}}]})(props);\n};\nexport function BsCloudsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.473 9a4.5 4.5 0 0 0-8.72-.99A3 3 0 0 0 3 14h8.5a2.5 2.5 0 1 0-.027-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.544 9.772a3.506 3.506 0 0 0-2.225-1.676 5.502 5.502 0 0 0-6.337-4.002 4.002 4.002 0 0 1 7.392.91 2.5 2.5 0 0 1 1.17 4.769z\"}}]})(props);\n};\nexport function BsClouds (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 7.5a2.5 2.5 0 0 1-1.456 2.272 3.513 3.513 0 0 0-.65-.824 1.5 1.5 0 0 0-.789-2.896.5.5 0 0 1-.627-.421 3 3 0 0 0-5.22-1.625 5.587 5.587 0 0 0-1.276.088 4.002 4.002 0 0 1 7.392.91A2.5 2.5 0 0 1 16 7.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5a4.5 4.5 0 0 1 4.473 4h.027a2.5 2.5 0 0 1 0 5H3a3 3 0 0 1-.247-5.99A4.502 4.502 0 0 1 7 5zm3.5 4.5a3.5 3.5 0 0 0-6.89-.873.5.5 0 0 1-.51.375A2 2 0 1 0 3 13h8.5a1.5 1.5 0 1 0-.376-2.953.5.5 0 0 1-.624-.492V9.5z\"}}]})(props);\n};\nexport function BsCloudyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.405 7.027a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 13H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.405 8.527a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 14.5H13a3 3 0 0 0 .405-5.973zM8.5 5.5a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1-.001 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 5.5z\"}}]})(props);\n};\nexport function BsCodeSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.478 1.647a.5.5 0 1 0-.956-.294l-4 13a.5.5 0 0 0 .956.294l4-13zM4.854 4.146a.5.5 0 0 1 0 .708L1.707 8l3.147 3.146a.5.5 0 0 1-.708.708l-3.5-3.5a.5.5 0 0 1 0-.708l3.5-3.5a.5.5 0 0 1 .708 0zm6.292 0a.5.5 0 0 0 0 .708L14.293 8l-3.147 3.146a.5.5 0 0 0 .708.708l3.5-3.5a.5.5 0 0 0 0-.708l-3.5-3.5a.5.5 0 0 0-.708 0z\"}}]})(props);\n};\nexport function BsCodeSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.854 4.646a.5.5 0 0 1 0 .708L4.207 8l2.647 2.646a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 0 1 .708 0zm2.292 0a.5.5 0 0 0 0 .708L11.793 8l-2.647 2.646a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708 0z\"}}]})(props);\n};\nexport function BsCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.854 4.854a.5.5 0 1 0-.708-.708l-3.5 3.5a.5.5 0 0 0 0 .708l3.5 3.5a.5.5 0 0 0 .708-.708L2.707 8l3.147-3.146zm4.292 0a.5.5 0 0 1 .708-.708l3.5 3.5a.5.5 0 0 1 0 .708l-3.5 3.5a.5.5 0 0 1-.708-.708L13.293 8l-3.147-3.146z\"}}]})(props);\n};\nexport function BsCoin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 9.511c.076.954.83 1.697 2.182 1.785V12h.6v-.709c1.4-.098 2.218-.846 2.218-1.932 0-.987-.626-1.496-1.745-1.76l-.473-.112V5.57c.6.068.982.396 1.074.85h1.052c-.076-.919-.864-1.638-2.126-1.716V4h-.6v.719c-1.195.117-2.01.836-2.01 1.853 0 .9.606 1.472 1.613 1.707l.397.098v2.034c-.615-.093-1.022-.43-1.114-.9H5.5zm2.177-2.166c-.59-.137-.91-.416-.91-.836 0-.47.345-.822.915-.925v1.76h-.005zm.692 1.193c.717.166 1.048.435 1.048.91 0 .542-.412.914-1.135.982V8.518l.087.02z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13.5a5.5 5.5 0 1 1 0-11 5.5 5.5 0 0 1 0 11zm0 .5A6 6 0 1 0 8 2a6 6 0 0 0 0 12z\"}}]})(props);\n};\nexport function BsCollectionFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 13a1.5 1.5 0 0 0 1.5 1.5h13A1.5 1.5 0 0 0 16 13V6a1.5 1.5 0 0 0-1.5-1.5h-13A1.5 1.5 0 0 0 0 6v7zM2 3a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 0-1h-11A.5.5 0 0 0 2 3zm2-2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7A.5.5 0 0 0 4 1z\"}}]})(props);\n};\nexport function BsCollectionPlayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 3.5a.5.5 0 0 1 0-1h11a.5.5 0 0 1 0 1h-11zm2-2a.5.5 0 0 1 0-1h7a.5.5 0 0 1 0 1h-7zM0 13a1.5 1.5 0 0 0 1.5 1.5h13A1.5 1.5 0 0 0 16 13V6a1.5 1.5 0 0 0-1.5-1.5h-13A1.5 1.5 0 0 0 0 6v7zm6.258-6.437a.5.5 0 0 1 .507.013l4 2.5a.5.5 0 0 1 0 .848l-4 2.5A.5.5 0 0 1 6 12V7a.5.5 0 0 1 .258-.437z\"}}]})(props);\n};\nexport function BsCollectionPlay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 0-1h-11A.5.5 0 0 0 2 3zm2-2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7A.5.5 0 0 0 4 1zm2.765 5.576A.5.5 0 0 0 6 7v5a.5.5 0 0 0 .765.424l4-2.5a.5.5 0 0 0 0-.848l-4-2.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 14.5A1.5 1.5 0 0 1 0 13V6a1.5 1.5 0 0 1 1.5-1.5h13A1.5 1.5 0 0 1 16 6v7a1.5 1.5 0 0 1-1.5 1.5h-13zm13-1a.5.5 0 0 0 .5-.5V6a.5.5 0 0 0-.5-.5h-13A.5.5 0 0 0 1 6v7a.5.5 0 0 0 .5.5h13z\"}}]})(props);\n};\nexport function BsCollection (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 3.5a.5.5 0 0 1 0-1h11a.5.5 0 0 1 0 1h-11zm2-2a.5.5 0 0 1 0-1h7a.5.5 0 0 1 0 1h-7zM0 13a1.5 1.5 0 0 0 1.5 1.5h13A1.5 1.5 0 0 0 16 13V6a1.5 1.5 0 0 0-1.5-1.5h-13A1.5 1.5 0 0 0 0 6v7zm1.5.5A.5.5 0 0 1 1 13V6a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-13z\"}}]})(props);\n};\nexport function BsColumnsGap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 1v3H1V1h5zM1 0a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1H1zm14 12v3h-5v-3h5zm-5-1a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-5zM6 8v7H1V8h5zM1 7a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H1zm14-6v7h-5V1h5zm-5-1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1h-5z\"}}]})(props);\n};\nexport function BsColumns (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V2zm8.5 0v8H15V2H8.5zm0 9v3H15v-3H8.5zm-1-9H1v3h6.5V2zM1 14h6.5V6H1v8z\"}}]})(props);\n};\nexport function BsCommand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 2A1.5 1.5 0 0 1 5 3.5V5H3.5a1.5 1.5 0 1 1 0-3zM6 5V3.5A2.5 2.5 0 1 0 3.5 6H5v4H3.5A2.5 2.5 0 1 0 6 12.5V11h4v1.5a2.5 2.5 0 1 0 2.5-2.5H11V6h1.5A2.5 2.5 0 1 0 10 3.5V5H6zm4 1v4H6V6h4zm1-1V3.5A1.5 1.5 0 1 1 12.5 5H11zm0 6h1.5a1.5 1.5 0 1 1-1.5 1.5V11zm-6 0v1.5A1.5 1.5 0 1 1 3.5 11H5z\"}}]})(props);\n};\nexport function BsCompassFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 8.516a7.5 7.5 0 1 1-9.462-7.24A1 1 0 0 1 7 0h2a1 1 0 0 1 .962 1.276 7.503 7.503 0 0 1 5.538 7.24zm-3.61-3.905L6.94 7.439 4.11 12.39l4.95-2.828 2.828-4.95z\"}}]})(props);\n};\nexport function BsCompass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16.016a7.5 7.5 0 0 0 1.962-14.74A1 1 0 0 0 9 0H7a1 1 0 0 0-.962 1.276A7.5 7.5 0 0 0 8 16.016zm6.5-7.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6.94 7.44 4.95-2.83-2.83 4.95-4.949 2.83 2.828-4.95z\"}}]})(props);\n};\nexport function BsConeStriped (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9.97 4.88.953 3.811C10.159 8.878 9.14 9 8 9c-1.14 0-2.158-.122-2.923-.309L6.03 4.88C6.635 4.957 7.3 5 8 5s1.365-.043 1.97-.12zm-.245-.978L8.97.88C8.718-.13 7.282-.13 7.03.88L6.275 3.9C6.8 3.965 7.382 4 8 4c.618 0 1.2-.036 1.725-.098zm4.396 8.613a.5.5 0 0 1 .037.96l-6 2a.5.5 0 0 1-.316 0l-6-2a.5.5 0 0 1 .037-.96l2.391-.598.565-2.257c.862.212 1.964.339 3.165.339s2.303-.127 3.165-.339l.565 2.257 2.391.598z\"}}]})(props);\n};\nexport function BsCone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.03 1.88c.252-1.01 1.688-1.01 1.94 0l2.905 11.62H14a.5.5 0 0 1 0 1H2a.5.5 0 0 1 0-1h2.125L7.03 1.88z\"}}]})(props);\n};\nexport function BsController (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5 6.027a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm-1.5 1.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zm2.5-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm-1.5 1.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zm-6.5-3h1v1h1v1h-1v1h-1v-1h-1v-1h1v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.051 3.26a.5.5 0 0 1 .354-.613l1.932-.518a.5.5 0 0 1 .62.39c.655-.079 1.35-.117 2.043-.117.72 0 1.443.041 2.12.126a.5.5 0 0 1 .622-.399l1.932.518a.5.5 0 0 1 .306.729c.14.09.266.19.373.297.408.408.78 1.05 1.095 1.772.32.733.599 1.591.805 2.466.206.875.34 1.78.364 2.606.024.816-.059 1.602-.328 2.21a1.42 1.42 0 0 1-1.445.83c-.636-.067-1.115-.394-1.513-.773-.245-.232-.496-.526-.739-.808-.126-.148-.25-.292-.368-.423-.728-.804-1.597-1.527-3.224-1.527-1.627 0-2.496.723-3.224 1.527-.119.131-.242.275-.368.423-.243.282-.494.575-.739.808-.398.38-.877.706-1.513.773a1.42 1.42 0 0 1-1.445-.83c-.27-.608-.352-1.395-.329-2.21.024-.826.16-1.73.365-2.606.206-.875.486-1.733.805-2.466.315-.722.687-1.364 1.094-1.772a2.34 2.34 0 0 1 .433-.335.504.504 0 0 1-.028-.079zm2.036.412c-.877.185-1.469.443-1.733.708-.276.276-.587.783-.885 1.465a13.748 13.748 0 0 0-.748 2.295 12.351 12.351 0 0 0-.339 2.406c-.022.755.062 1.368.243 1.776a.42.42 0 0 0 .426.24c.327-.034.61-.199.929-.502.212-.202.4-.423.615-.674.133-.156.276-.323.44-.504C4.861 9.969 5.978 9.027 8 9.027s3.139.942 3.965 1.855c.164.181.307.348.44.504.214.251.403.472.615.674.318.303.601.468.929.503a.42.42 0 0 0 .426-.241c.18-.408.265-1.02.243-1.776a12.354 12.354 0 0 0-.339-2.406 13.753 13.753 0 0 0-.748-2.295c-.298-.682-.61-1.19-.885-1.465-.264-.265-.856-.523-1.733-.708-.85-.179-1.877-.27-2.913-.27-1.036 0-2.063.091-2.913.27z\"}}]})(props);\n};\nexport function BsCpuFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 6a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5.5a.5.5 0 0 0-1 0V2A2.5 2.5 0 0 0 2 4.5H.5a.5.5 0 0 0 0 1H2v1H.5a.5.5 0 0 0 0 1H2v1H.5a.5.5 0 0 0 0 1H2v1H.5a.5.5 0 0 0 0 1H2A2.5 2.5 0 0 0 4.5 14v1.5a.5.5 0 0 0 1 0V14h1v1.5a.5.5 0 0 0 1 0V14h1v1.5a.5.5 0 0 0 1 0V14h1v1.5a.5.5 0 0 0 1 0V14a2.5 2.5 0 0 0 2.5-2.5h1.5a.5.5 0 0 0 0-1H14v-1h1.5a.5.5 0 0 0 0-1H14v-1h1.5a.5.5 0 0 0 0-1H14v-1h1.5a.5.5 0 0 0 0-1H14A2.5 2.5 0 0 0 11.5 2V.5a.5.5 0 0 0-1 0V2h-1V.5a.5.5 0 0 0-1 0V2h-1V.5a.5.5 0 0 0-1 0V2h-1V.5zm1 4.5h3A1.5 1.5 0 0 1 11 6.5v3A1.5 1.5 0 0 1 9.5 11h-3A1.5 1.5 0 0 1 5 9.5v-3A1.5 1.5 0 0 1 6.5 5z\"}}]})(props);\n};\nexport function BsCpu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 0a.5.5 0 0 1 .5.5V2h1V.5a.5.5 0 0 1 1 0V2h1V.5a.5.5 0 0 1 1 0V2h1V.5a.5.5 0 0 1 1 0V2A2.5 2.5 0 0 1 14 4.5h1.5a.5.5 0 0 1 0 1H14v1h1.5a.5.5 0 0 1 0 1H14v1h1.5a.5.5 0 0 1 0 1H14v1h1.5a.5.5 0 0 1 0 1H14a2.5 2.5 0 0 1-2.5 2.5v1.5a.5.5 0 0 1-1 0V14h-1v1.5a.5.5 0 0 1-1 0V14h-1v1.5a.5.5 0 0 1-1 0V14h-1v1.5a.5.5 0 0 1-1 0V14A2.5 2.5 0 0 1 2 11.5H.5a.5.5 0 0 1 0-1H2v-1H.5a.5.5 0 0 1 0-1H2v-1H.5a.5.5 0 0 1 0-1H2v-1H.5a.5.5 0 0 1 0-1H2A2.5 2.5 0 0 1 4.5 2V.5A.5.5 0 0 1 5 0zm-.5 3A1.5 1.5 0 0 0 3 4.5v7A1.5 1.5 0 0 0 4.5 13h7a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 11.5 3h-7zM5 6.5A1.5 1.5 0 0 1 6.5 5h3A1.5 1.5 0 0 1 11 6.5v3A1.5 1.5 0 0 1 9.5 11h-3A1.5 1.5 0 0 1 5 9.5v-3zM6.5 6a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3z\"}}]})(props);\n};\nexport function BsCreditCard2BackFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5H0V4zm11.5 1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2zM0 11v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1H0z\"}}]})(props);\n};\nexport function BsCreditCard2Back (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 5.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm13 2v5H1V4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1zm-1 9H2a1 1 0 0 1-1-1v-1h14v1a1 1 0 0 1-1 1z\"}}]})(props);\n};\nexport function BsCreditCard2FrontFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm2.5 1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2zm0 3a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm3 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm3 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm3 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"}}]})(props);\n};\nexport function BsCreditCard2Front (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 5.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1zm0 3a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsCreditCardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1H0V4zm0 3v5a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7H0zm3 2h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsCreditCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm2-1a1 1 0 0 0-1 1v1h14V4a1 1 0 0 0-1-1H2zm13 4H1v5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 10a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-1z\"}}]})(props);\n};\nexport function BsCrop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5.5A.5.5 0 0 1 4 1v13h13a.5.5 0 0 1 0 1h-2v2a.5.5 0 0 1-1 0v-2H3.5a.5.5 0 0 1-.5-.5V4H1a.5.5 0 0 1 0-1h2V1a.5.5 0 0 1 .5-.5zm2.5 3a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-1 0V4H6.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsCupFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2a1 1 0 0 1 1-1h11a1 1 0 0 1 1 1v1h.5A1.5 1.5 0 0 1 16 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-.55a2.5 2.5 0 0 1-2.45 2h-8A2.5 2.5 0 0 1 1 12.5V2zm13 10h.5a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5H14v8z\"}}]})(props);\n};\nexport function BsCupStraw (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.902.334a.5.5 0 0 1-.28.65l-2.254.902-.4 1.927c.376.095.715.215.972.367.228.135.56.396.56.82 0 .046-.004.09-.011.132l-.962 9.068a1.28 1.28 0 0 1-.524.93c-.488.34-1.494.87-3.01.87-1.516 0-2.522-.53-3.01-.87a1.28 1.28 0 0 1-.524-.93L3.51 5.132A.78.78 0 0 1 3.5 5c0-.424.332-.685.56-.82.262-.154.607-.276.99-.372C5.824 3.614 6.867 3.5 8 3.5c.712 0 1.389.045 1.985.127l.464-2.215a.5.5 0 0 1 .303-.356l2.5-1a.5.5 0 0 1 .65.278zM9.768 4.607A13.991 13.991 0 0 0 8 4.5c-1.076 0-2.033.11-2.707.278A3.284 3.284 0 0 0 4.645 5c.146.073.362.15.648.222C5.967 5.39 6.924 5.5 8 5.5c.571 0 1.109-.03 1.588-.085l.18-.808zm.292 1.756C9.445 6.45 8.742 6.5 8 6.5c-1.133 0-2.176-.114-2.95-.308a5.514 5.514 0 0 1-.435-.127l.838 8.03c.013.121.06.186.102.215.357.249 1.168.69 2.438.69 1.27 0 2.081-.441 2.438-.69.042-.029.09-.094.102-.215l.852-8.03a5.517 5.517 0 0 1-.435.127 8.88 8.88 0 0 1-.89.17zM4.467 4.884s.003.002.005.006l-.005-.006zm7.066 0-.005.006c.002-.004.005-.006.005-.006zM11.354 5a3.174 3.174 0 0 0-.604-.21l-.099.445.055-.013c.286-.072.502-.149.648-.222z\"}}]})(props);\n};\nexport function BsCup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2a1 1 0 0 1 1-1h11a1 1 0 0 1 1 1v1h.5A1.5 1.5 0 0 1 16 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-.55a2.5 2.5 0 0 1-2.45 2h-8A2.5 2.5 0 0 1 1 12.5V2zm13 10h.5a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5H14v8zM13 2H2v10.5A1.5 1.5 0 0 0 3.5 14h8a1.5 1.5 0 0 0 1.5-1.5V2z\"}}]})(props);\n};\nexport function BsCurrencyBitcoin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 13v1.25c0 .138.112.25.25.25h1a.25.25 0 0 0 .25-.25V13h.5v1.25c0 .138.112.25.25.25h1a.25.25 0 0 0 .25-.25V13h.084c1.992 0 3.416-1.033 3.416-2.82 0-1.502-1.007-2.323-2.186-2.44v-.088c.97-.242 1.683-.974 1.683-2.19C11.997 3.93 10.847 3 9.092 3H9V1.75a.25.25 0 0 0-.25-.25h-1a.25.25 0 0 0-.25.25V3h-.573V1.75a.25.25 0 0 0-.25-.25H5.75a.25.25 0 0 0-.25.25V3l-1.998.011a.25.25 0 0 0-.25.25v.989c0 .137.11.25.248.25l.755-.005a.75.75 0 0 1 .745.75v5.505a.75.75 0 0 1-.75.75l-.748.011a.25.25 0 0 0-.25.25v1c0 .138.112.25.25.25L5.5 13zm1.427-8.513h1.719c.906 0 1.438.498 1.438 1.312 0 .871-.575 1.362-1.877 1.362h-1.28V4.487zm0 4.051h1.84c1.137 0 1.756.58 1.756 1.524 0 .953-.626 1.45-2.158 1.45H6.927V8.539z\"}}]})(props);\n};\nexport function BsCurrencyDollar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10.781c.148 1.667 1.513 2.85 3.591 3.003V15h1.043v-1.216c2.27-.179 3.678-1.438 3.678-3.3 0-1.59-.947-2.51-2.956-3.028l-.722-.187V3.467c1.122.11 1.879.714 2.07 1.616h1.47c-.166-1.6-1.54-2.748-3.54-2.875V1H7.591v1.233c-1.939.23-3.27 1.472-3.27 3.156 0 1.454.966 2.483 2.661 2.917l.61.162v4.031c-1.149-.17-1.94-.8-2.131-1.718H4zm3.391-3.836c-1.043-.263-1.6-.825-1.6-1.616 0-.944.704-1.641 1.8-1.828v3.495l-.2-.05zm1.591 1.872c1.287.323 1.852.859 1.852 1.769 0 1.097-.826 1.828-2.2 1.939V8.73l.348.086z\"}}]})(props);\n};\nexport function BsCurrencyEuro (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 9.42h1.063C5.4 12.323 7.317 14 10.34 14c.622 0 1.167-.068 1.659-.185v-1.3c-.484.119-1.045.17-1.659.17-2.1 0-3.455-1.198-3.775-3.264h4.017v-.928H6.497v-.936c0-.11 0-.219.008-.329h4.078v-.927H6.618c.388-1.898 1.719-2.985 3.723-2.985.614 0 1.175.05 1.659.177V2.194A6.617 6.617 0 0 0 10.341 2c-2.928 0-4.82 1.569-5.244 4.3H4v.928h1.01v1.265H4v.928z\"}}]})(props);\n};\nexport function BsCurrencyExchange (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 5a5.002 5.002 0 0 0 4.027 4.905 6.46 6.46 0 0 1 .544-2.073C3.695 7.536 3.132 6.864 3 5.91h-.5v-.426h.466V5.05c0-.046 0-.093.004-.135H2.5v-.427h.511C3.236 3.24 4.213 2.5 5.681 2.5c.316 0 .59.031.819.085v.733a3.46 3.46 0 0 0-.815-.082c-.919 0-1.538.466-1.734 1.252h1.917v.427h-1.98c-.003.046-.003.097-.003.147v.422h1.983v.427H3.93c.118.602.468 1.03 1.005 1.229a6.5 6.5 0 0 1 4.97-3.113A5.002 5.002 0 0 0 0 5zm16 5.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0zm-7.75 1.322c.069.835.746 1.485 1.964 1.562V14h.54v-.62c1.259-.086 1.996-.74 1.996-1.69 0-.865-.563-1.31-1.57-1.54l-.426-.1V8.374c.54.06.884.347.966.745h.948c-.07-.804-.779-1.433-1.914-1.502V7h-.54v.629c-1.076.103-1.808.732-1.808 1.622 0 .787.544 1.288 1.45 1.493l.358.085v1.78c-.554-.08-.92-.376-1.003-.787H8.25zm1.96-1.895c-.532-.12-.82-.364-.82-.732 0-.41.311-.719.824-.809v1.54h-.005zm.622 1.044c.645.145.943.38.943.796 0 .474-.37.8-1.02.86v-1.674l.077.018z\"}}]})(props);\n};\nexport function BsCurrencyPound (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8.585h1.969c.115.465.186.939.186 1.43 0 1.385-.736 2.496-2.075 2.771V14H12v-1.24H6.492v-.129c.825-.525 1.135-1.446 1.135-2.694 0-.465-.07-.913-.168-1.352h3.29v-.972H7.22c-.186-.723-.372-1.455-.372-2.247 0-1.274 1.047-2.066 2.58-2.066a5.32 5.32 0 0 1 2.103.465V2.456A5.629 5.629 0 0 0 9.348 2C6.865 2 5.322 3.291 5.322 5.366c0 .775.195 1.515.399 2.247H4v.972z\"}}]})(props);\n};\nexport function BsCurrencyYen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.75 14v-2.629h2.446v-.967H8.75v-1.31h2.445v-.967H9.128L12.5 2h-1.699L8.047 7.327h-.086L5.207 2H3.5l3.363 6.127H4.778v.968H7.25v1.31H4.78v.966h2.47V14h1.502z\"}}]})(props);\n};\nexport function BsCursorFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.082 2.182a.5.5 0 0 1 .103.557L8.528 15.467a.5.5 0 0 1-.917-.007L5.57 10.694.803 8.652a.5.5 0 0 1-.006-.916l12.728-5.657a.5.5 0 0 1 .556.103z\"}}]})(props);\n};\nexport function BsCursorText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2a.5.5 0 0 1 .5-.5c.862 0 1.573.287 2.06.566.174.099.321.198.44.286.119-.088.266-.187.44-.286A4.165 4.165 0 0 1 10.5 1.5a.5.5 0 0 1 0 1c-.638 0-1.177.213-1.564.434a3.49 3.49 0 0 0-.436.294V7.5H9a.5.5 0 0 1 0 1h-.5v4.272c.1.08.248.187.436.294.387.221.926.434 1.564.434a.5.5 0 0 1 0 1 4.165 4.165 0 0 1-2.06-.566A4.561 4.561 0 0 1 8 13.65a4.561 4.561 0 0 1-.44.285 4.165 4.165 0 0 1-2.06.566.5.5 0 0 1 0-1c.638 0 1.177-.213 1.564-.434.188-.107.335-.214.436-.294V8.5H7a.5.5 0 0 1 0-1h.5V3.228a3.49 3.49 0 0 0-.436-.294A3.166 3.166 0 0 0 5.5 2.5.5.5 0 0 1 5 2zm3.352 1.355zm-.704 9.29z\"}}]})(props);\n};\nexport function BsCursor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.082 2.182a.5.5 0 0 1 .103.557L8.528 15.467a.5.5 0 0 1-.917-.007L5.57 10.694.803 8.652a.5.5 0 0 1-.006-.916l12.728-5.657a.5.5 0 0 1 .556.103zM2.25 8.184l3.897 1.67a.5.5 0 0 1 .262.263l1.67 3.897L12.743 3.52 2.25 8.184z\"}}]})(props);\n};\nexport function BsDashCircleDotted (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0c-.176 0-.35.006-.523.017l.064.998a7.117 7.117 0 0 1 .918 0l.064-.998A8.113 8.113 0 0 0 8 0zM6.44.152c-.346.069-.684.16-1.012.27l.321.948c.287-.098.582-.177.884-.237L6.44.153zm4.132.271a7.946 7.946 0 0 0-1.011-.27l-.194.98c.302.06.597.14.884.237l.321-.947zm1.873.925a8 8 0 0 0-.906-.524l-.443.896c.275.136.54.29.793.459l.556-.831zM4.46.824c-.314.155-.616.33-.905.524l.556.83a7.07 7.07 0 0 1 .793-.458L4.46.824zM2.725 1.985c-.262.23-.51.478-.74.74l.752.66c.202-.23.418-.446.648-.648l-.66-.752zm11.29.74a8.058 8.058 0 0 0-.74-.74l-.66.752c.23.202.447.418.648.648l.752-.66zm1.161 1.735a7.98 7.98 0 0 0-.524-.905l-.83.556c.169.253.322.518.458.793l.896-.443zM1.348 3.555c-.194.289-.37.591-.524.906l.896.443c.136-.275.29-.54.459-.793l-.831-.556zM.423 5.428a7.945 7.945 0 0 0-.27 1.011l.98.194c.06-.302.14-.597.237-.884l-.947-.321zM15.848 6.44a7.943 7.943 0 0 0-.27-1.012l-.948.321c.098.287.177.582.237.884l.98-.194zM.017 7.477a8.113 8.113 0 0 0 0 1.046l.998-.064a7.117 7.117 0 0 1 0-.918l-.998-.064zM16 8a8.1 8.1 0 0 0-.017-.523l-.998.064a7.11 7.11 0 0 1 0 .918l.998.064A8.1 8.1 0 0 0 16 8zM.152 9.56c.069.346.16.684.27 1.012l.948-.321a6.944 6.944 0 0 1-.237-.884l-.98.194zm15.425 1.012c.112-.328.202-.666.27-1.011l-.98-.194c-.06.302-.14.597-.237.884l.947.321zM.824 11.54a8 8 0 0 0 .524.905l.83-.556a6.999 6.999 0 0 1-.458-.793l-.896.443zm13.828.905c.194-.289.37-.591.524-.906l-.896-.443c-.136.275-.29.54-.459.793l.831.556zm-12.667.83c.23.262.478.51.74.74l.66-.752a7.047 7.047 0 0 1-.648-.648l-.752.66zm11.29.74c.262-.23.51-.478.74-.74l-.752-.66c-.201.23-.418.447-.648.648l.66.752zm-1.735 1.161c.314-.155.616-.33.905-.524l-.556-.83a7.07 7.07 0 0 1-.793.458l.443.896zm-7.985-.524c.289.194.591.37.906.524l.443-.896a6.998 6.998 0 0 1-.793-.459l-.556.831zm1.873.925c.328.112.666.202 1.011.27l.194-.98a6.953 6.953 0 0 1-.884-.237l-.321.947zm4.132.271a7.944 7.944 0 0 0 1.012-.27l-.321-.948a6.954 6.954 0 0 1-.884.237l.194.98zm-2.083.135a8.1 8.1 0 0 0 1.046 0l-.064-.998a7.11 7.11 0 0 1-.918 0l-.064.998zM4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7z\"}}]})(props);\n};\nexport function BsDashCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7z\"}}]})(props);\n};\nexport function BsDashCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8z\"}}]})(props);\n};\nexport function BsDashLg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H1a1 1 0 0 1-1-1z\"}}]})(props);\n};\nexport function BsDashSquareDotted (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 0c-.166 0-.33.016-.487.048l.194.98A1.51 1.51 0 0 1 2.5 1h.458V0H2.5zm2.292 0h-.917v1h.917V0zm1.833 0h-.917v1h.917V0zm1.833 0h-.916v1h.916V0zm1.834 0h-.917v1h.917V0zm1.833 0h-.917v1h.917V0zM13.5 0h-.458v1h.458c.1 0 .199.01.293.029l.194-.981A2.51 2.51 0 0 0 13.5 0zm2.079 1.11a2.511 2.511 0 0 0-.69-.689l-.556.831c.164.11.305.251.415.415l.83-.556zM1.11.421a2.511 2.511 0 0 0-.689.69l.831.556c.11-.164.251-.305.415-.415L1.11.422zM16 2.5c0-.166-.016-.33-.048-.487l-.98.194c.018.094.028.192.028.293v.458h1V2.5zM.048 2.013A2.51 2.51 0 0 0 0 2.5v.458h1V2.5c0-.1.01-.199.029-.293l-.981-.194zM0 3.875v.917h1v-.917H0zm16 .917v-.917h-1v.917h1zM0 5.708v.917h1v-.917H0zm16 .917v-.917h-1v.917h1zM0 7.542v.916h1v-.916H0zm15 .916h1v-.916h-1v.916zM0 9.375v.917h1v-.917H0zm16 .917v-.917h-1v.917h1zm-16 .916v.917h1v-.917H0zm16 .917v-.917h-1v.917h1zm-16 .917v.458c0 .166.016.33.048.487l.98-.194A1.51 1.51 0 0 1 1 13.5v-.458H0zm16 .458v-.458h-1v.458c0 .1-.01.199-.029.293l.981.194c.032-.158.048-.32.048-.487zM.421 14.89c.183.272.417.506.69.689l.556-.831a1.51 1.51 0 0 1-.415-.415l-.83.556zm14.469.689c.272-.183.506-.417.689-.69l-.831-.556c-.11.164-.251.305-.415.415l.556.83zm-12.877.373c.158.032.32.048.487.048h.458v-1H2.5c-.1 0-.199-.01-.293-.029l-.194.981zM13.5 16c.166 0 .33-.016.487-.048l-.194-.98A1.51 1.51 0 0 1 13.5 15h-.458v1h.458zm-9.625 0h.917v-1h-.917v1zm1.833 0h.917v-1h-.917v1zm1.834 0h.916v-1h-.916v1zm1.833 0h.917v-1h-.917v1zm1.833 0h.917v-1h-.917v1zM4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7z\"}}]})(props);\n};\nexport function BsDashSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm2.5 7.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsDashSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8z\"}}]})(props);\n};\nexport function BsDash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8z\"}}]})(props);\n};\nexport function BsDiagram2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 3.5A1.5 1.5 0 0 1 7.5 2h1A1.5 1.5 0 0 1 10 3.5v1A1.5 1.5 0 0 1 8.5 6v1H11a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 5 7h2.5V6A1.5 1.5 0 0 1 6 4.5v-1zm-3 8A1.5 1.5 0 0 1 4.5 10h1A1.5 1.5 0 0 1 7 11.5v1A1.5 1.5 0 0 1 5.5 14h-1A1.5 1.5 0 0 1 3 12.5v-1zm6 0a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1A1.5 1.5 0 0 1 9 12.5v-1z\"}}]})(props);\n};\nexport function BsDiagram2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 3.5A1.5 1.5 0 0 1 7.5 2h1A1.5 1.5 0 0 1 10 3.5v1A1.5 1.5 0 0 1 8.5 6v1H11a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 5 7h2.5V6A1.5 1.5 0 0 1 6 4.5v-1zM8.5 5a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1zM3 11.5A1.5 1.5 0 0 1 4.5 10h1A1.5 1.5 0 0 1 7 11.5v1A1.5 1.5 0 0 1 5.5 14h-1A1.5 1.5 0 0 1 3 12.5v-1zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zm4.5.5a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1A1.5 1.5 0 0 1 9 12.5v-1zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsDiagram3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 3.5A1.5 1.5 0 0 1 7.5 2h1A1.5 1.5 0 0 1 10 3.5v1A1.5 1.5 0 0 1 8.5 6v1H14a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 2 7h5.5V6A1.5 1.5 0 0 1 6 4.5v-1zm-6 8A1.5 1.5 0 0 1 1.5 10h1A1.5 1.5 0 0 1 4 11.5v1A1.5 1.5 0 0 1 2.5 14h-1A1.5 1.5 0 0 1 0 12.5v-1zm6 0A1.5 1.5 0 0 1 7.5 10h1a1.5 1.5 0 0 1 1.5 1.5v1A1.5 1.5 0 0 1 8.5 14h-1A1.5 1.5 0 0 1 6 12.5v-1zm6 0a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5v-1z\"}}]})(props);\n};\nexport function BsDiagram3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 3.5A1.5 1.5 0 0 1 7.5 2h1A1.5 1.5 0 0 1 10 3.5v1A1.5 1.5 0 0 1 8.5 6v1H14a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 2 7h5.5V6A1.5 1.5 0 0 1 6 4.5v-1zM8.5 5a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1zM0 11.5A1.5 1.5 0 0 1 1.5 10h1A1.5 1.5 0 0 1 4 11.5v1A1.5 1.5 0 0 1 2.5 14h-1A1.5 1.5 0 0 1 0 12.5v-1zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zm4.5.5A1.5 1.5 0 0 1 7.5 10h1a1.5 1.5 0 0 1 1.5 1.5v1A1.5 1.5 0 0 1 8.5 14h-1A1.5 1.5 0 0 1 6 12.5v-1zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zm4.5.5a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5v-1zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsDiamondFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.95.435c.58-.58 1.52-.58 2.1 0l6.515 6.516c.58.58.58 1.519 0 2.098L9.05 15.565c-.58.58-1.519.58-2.098 0L.435 9.05a1.482 1.482 0 0 1 0-2.098L6.95.435z\"}}]})(props);\n};\nexport function BsDiamondHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435zM8 .989c.127 0 .253.049.35.145l6.516 6.516a.495.495 0 0 1 0 .7L8.35 14.866a.493.493 0 0 1-.35.145V.989z\"}}]})(props);\n};\nexport function BsDiamond (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.95.435c.58-.58 1.52-.58 2.1 0l6.515 6.516c.58.58.58 1.519 0 2.098L9.05 15.565c-.58.58-1.519.58-2.098 0L.435 9.05a1.482 1.482 0 0 1 0-2.098L6.95.435zm1.4.7a.495.495 0 0 0-.7 0L1.134 7.65a.495.495 0 0 0 0 .7l6.516 6.516a.495.495 0 0 0 .7 0l6.516-6.516a.495.495 0 0 0 0-.7L8.35 1.134z\"}}]})(props);\n};\nexport function BsDice1Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm5 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsDice1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"8\",\"r\":\"1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10zM3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3z\"}}]})(props);\n};\nexport function BsDice2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V3zm5.5 1a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0zm6.5 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]})(props);\n};\nexport function BsDice2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10zM3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsDice3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm2.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM8 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsDice3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10zM3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm-4-4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsDice4Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm1 5.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm8 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm1.5 6.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM4 13.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsDice4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10zM3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm-8 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsDice5Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm2.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM12 13.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM5.5 12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM8 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsDice5 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10zM3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm-8 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm4-4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsDice6Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm1 5.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm8 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm1.5 6.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM12 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM5.5 12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM4 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsDice6 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10zM3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0-4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm-8 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0-4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsDiscFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-6 0a2 2 0 1 0-4 0 2 2 0 0 0 4 0zM4 8a4 4 0 0 1 4-4 .5.5 0 0 0 0-1 5 5 0 0 0-5 5 .5.5 0 0 0 1 0zm9 0a.5.5 0 1 0-1 0 4 4 0 0 1-4 4 .5.5 0 0 0 0 1 5 5 0 0 0 5-5z\"}}]})(props);\n};\nexport function BsDisc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 4a4 4 0 0 0-4 4 .5.5 0 0 1-1 0 5 5 0 0 1 5-5 .5.5 0 0 1 0 1zm4.5 3.5a.5.5 0 0 1 .5.5 5 5 0 0 1-5 5 .5.5 0 0 1 0-1 4 4 0 0 0 4-4 .5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsDiscord (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.552 6.712c-.456 0-.816.4-.816.888s.368.888.816.888c.456 0 .816-.4.816-.888.008-.488-.36-.888-.816-.888zm2.92 0c-.456 0-.816.4-.816.888s.368.888.816.888c.456 0 .816-.4.816-.888s-.36-.888-.816-.888z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.36 0H2.64C1.736 0 1 .736 1 1.648v10.816c0 .912.736 1.648 1.64 1.648h9.072l-.424-1.48 1.024.952.968.896L15 16V1.648C15 .736 14.264 0 13.36 0zm-3.088 10.448s-.288-.344-.528-.648c1.048-.296 1.448-.952 1.448-.952-.328.216-.64.368-.92.472-.4.168-.784.28-1.16.344a5.604 5.604 0 0 1-2.072-.008 6.716 6.716 0 0 1-1.176-.344 4.688 4.688 0 0 1-.584-.272c-.024-.016-.048-.024-.072-.04-.016-.008-.024-.016-.032-.024-.144-.08-.224-.136-.224-.136s.384.64 1.4.944c-.24.304-.536.664-.536.664-1.768-.056-2.44-1.216-2.44-1.216 0-2.576 1.152-4.664 1.152-4.664 1.152-.864 2.248-.84 2.248-.84l.08.096c-1.44.416-2.104 1.048-2.104 1.048s.176-.096.472-.232c.856-.376 1.536-.48 1.816-.504.048-.008.088-.016.136-.016a6.521 6.521 0 0 1 4.024.752s-.632-.6-1.992-1.016l.112-.128s1.096-.024 2.248.84c0 0 1.152 2.088 1.152 4.664 0 0-.68 1.16-2.448 1.216z\"}}]})(props);\n};\nexport function BsDisplayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12c0 .667-.083 1.167-.25 1.5H5a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-.75c-.167-.333-.25-.833-.25-1.5h4c2 0 2-2 2-2V4c0-2-2-2-2-2H2C0 2 0 4 0 4v6c0 2 2 2 2 2h4z\"}}]})(props);\n};\nexport function BsDisplay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4s0-2 2-2h12s2 0 2 2v6s0 2-2 2h-4c0 .667.083 1.167.25 1.5H11a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1h.75c.167-.333.25-.833.25-1.5H2s-2 0-2-2V4zm1.398-.855a.758.758 0 0 0-.254.302A1.46 1.46 0 0 0 1 4.01V10c0 .325.078.502.145.602.07.105.17.188.302.254a1.464 1.464 0 0 0 .538.143L2.01 11H14c.325 0 .502-.078.602-.145a.758.758 0 0 0 .254-.302 1.464 1.464 0 0 0 .143-.538L15 9.99V4c0-.325-.078-.502-.145-.602a.757.757 0 0 0-.302-.254A1.46 1.46 0 0 0 13.99 3H2c-.325 0-.502.078-.602.145z\"}}]})(props);\n};\nexport function BsDistributeHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 1 0v-13a.5.5 0 0 0-.5-.5zm-13 0a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 1 0v-13a.5.5 0 0 0-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 13a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v10z\"}}]})(props);\n};\nexport function BsDistributeVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 1.5a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 0-1h-13a.5.5 0 0 0-.5.5zm0 13a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 0-1h-13a.5.5 0 0 0-.5.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V7z\"}}]})(props);\n};\nexport function BsDoorClosedFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a1 1 0 0 1 1 1v13h1.5a.5.5 0 0 1 0 1h-13a.5.5 0 0 1 0-1H3V2a1 1 0 0 1 1-1h8zm-2 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsDoorClosed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v13h1.5a.5.5 0 0 1 0 1h-13a.5.5 0 0 1 0-1H3V2zm1 13h8V2H4v13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9a1 1 0 1 0 2 0 1 1 0 0 0-2 0z\"}}]})(props);\n};\nexport function BsDoorOpenFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 15a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1H13V2.5A1.5 1.5 0 0 0 11.5 1H11V.5a.5.5 0 0 0-.57-.495l-7 1A.5.5 0 0 0 3 1.5V15H1.5zM11 2h.5a.5.5 0 0 1 .5.5V15h-1V2zm-2.5 8c-.276 0-.5-.448-.5-1s.224-1 .5-1 .5.448.5 1-.224 1-.5 1z\"}}]})(props);\n};\nexport function BsDoorOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 10c-.276 0-.5-.448-.5-1s.224-1 .5-1 .5.448.5 1-.224 1-.5 1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.828.122A.5.5 0 0 1 11 .5V1h.5A1.5 1.5 0 0 1 13 2.5V15h1.5a.5.5 0 0 1 0 1h-13a.5.5 0 0 1 0-1H3V1.5a.5.5 0 0 1 .43-.495l7-1a.5.5 0 0 1 .398.117zM11.5 2H11v13h1V2.5a.5.5 0 0 0-.5-.5zM4 1.934V15h6V1.077l-6 .857z\"}}]})(props);\n};\nexport function BsDot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]})(props);\n};\nexport function BsDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z\"}}]})(props);\n};\nexport function BsDribbble (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0C3.584 0 0 3.584 0 8s3.584 8 8 8c4.408 0 8-3.584 8-8s-3.592-8-8-8zm5.284 3.688a6.802 6.802 0 0 1 1.545 4.251c-.226-.043-2.482-.503-4.755-.217-.052-.112-.096-.234-.148-.355-.139-.33-.295-.668-.451-.99 2.516-1.023 3.662-2.498 3.81-2.69zM8 1.18c1.735 0 3.323.65 4.53 1.718-.122.174-1.155 1.553-3.584 2.464-1.12-2.056-2.36-3.74-2.551-4A6.95 6.95 0 0 1 8 1.18zm-2.907.642A43.123 43.123 0 0 1 7.627 5.77c-3.193.85-6.013.833-6.317.833a6.865 6.865 0 0 1 3.783-4.78zM1.163 8.01V7.8c.295.01 3.61.053 7.02-.971.199.381.381.772.555 1.162l-.27.078c-3.522 1.137-5.396 4.243-5.553 4.504a6.817 6.817 0 0 1-1.752-4.564zM8 14.837a6.785 6.785 0 0 1-4.19-1.44c.12-.252 1.509-2.924 5.361-4.269.018-.009.026-.009.044-.017a28.246 28.246 0 0 1 1.457 5.18A6.722 6.722 0 0 1 8 14.837zm3.81-1.171c-.07-.417-.435-2.412-1.328-4.868 2.143-.338 4.017.217 4.251.295a6.774 6.774 0 0 1-2.924 4.573z\"}}]})(props);\n};\nexport function BsDropletFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 16a6 6 0 0 0 6-6c0-1.655-1.122-2.904-2.432-4.362C10.254 4.176 8.75 2.503 8 0c0 0-6 5.686-6 10a6 6 0 0 0 6 6zM6.646 4.646c-.376.377-1.272 1.489-2.093 3.13l.894.448c.78-1.559 1.616-2.58 1.907-2.87l-.708-.708z\"}}]})(props);\n};\nexport function BsDropletHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.21.8C7.69.295 8 0 8 0c.109.363.234.708.371 1.038.812 1.946 2.073 3.35 3.197 4.6C12.878 7.096 14 8.345 14 10a6 6 0 0 1-12 0C2 6.668 5.58 2.517 7.21.8zm.413 1.021A31.25 31.25 0 0 0 5.794 3.99c-.726.95-1.436 2.008-1.96 3.07C3.304 8.133 3 9.138 3 10c0 0 2.5 1.5 5 .5s5-.5 5-.5c0-1.201-.796-2.157-2.181-3.7l-.03-.032C9.75 5.11 8.5 3.72 7.623 1.82z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.553 7.776c.82-1.641 1.717-2.753 2.093-3.13l.708.708c-.29.29-1.128 1.311-1.907 2.87l-.894-.448z\"}}]})(props);\n};\nexport function BsDroplet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.21.8C7.69.295 8 0 8 0c.109.363.234.708.371 1.038.812 1.946 2.073 3.35 3.197 4.6C12.878 7.096 14 8.345 14 10a6 6 0 0 1-12 0C2 6.668 5.58 2.517 7.21.8zm.413 1.021A31.25 31.25 0 0 0 5.794 3.99c-.726.95-1.436 2.008-1.96 3.07C3.304 8.133 3 9.138 3 10a5 5 0 0 0 10 0c0-1.201-.796-2.157-2.181-3.7l-.03-.032C9.75 5.11 8.5 3.72 7.623 1.82z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.553 7.776c.82-1.641 1.717-2.753 2.093-3.13l.708.708c-.29.29-1.128 1.311-1.907 2.87l-.894-.448z\"}}]})(props);\n};\nexport function BsEarbuds (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.825 4.138c.596 2.141-.36 3.593-2.389 4.117a4.432 4.432 0 0 1-2.018.054c-.048-.01.9 2.778 1.522 4.61l.41 1.205a.52.52 0 0 1-.346.659l-.593.19a.548.548 0 0 1-.69-.34L.184 6.99c-.696-2.137.662-4.309 2.564-4.8 2.029-.523 3.402 0 4.076 1.948zm-.868 2.221c.43-.112.561-.993.292-1.969-.269-.975-.836-1.675-1.266-1.563-.43.112-.561.994-.292 1.969.269.975.836 1.675 1.266 1.563zm3.218-2.221c-.596 2.141.36 3.593 2.389 4.117a4.434 4.434 0 0 0 2.018.054c.048-.01-.9 2.778-1.522 4.61l-.41 1.205a.52.52 0 0 0 .346.659l.593.19c.289.092.6-.06.69-.34l2.536-7.643c.696-2.137-.662-4.309-2.564-4.8-2.029-.523-3.402 0-4.076 1.948zm.868 2.221c-.43-.112-.561-.993-.292-1.969.269-.975.836-1.675 1.266-1.563.43.112.561.994.292 1.969-.269.975-.836 1.675-1.266 1.563z\"}}]})(props);\n};\nexport function BsEaselFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.473.337a.5.5 0 0 0-.946 0L6.954 2H2a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h1.85l-1.323 3.837a.5.5 0 1 0 .946.326L4.908 11H7.5v2.5a.5.5 0 0 0 1 0V11h2.592l1.435 4.163a.5.5 0 0 0 .946-.326L12.15 11H14a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H9.046L8.473.337z\"}}]})(props);\n};\nexport function BsEasel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a.5.5 0 0 1 .473.337L9.046 2H14a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-1.85l1.323 3.837a.5.5 0 1 1-.946.326L11.092 11H8.5v3a.5.5 0 0 1-1 0v-3H4.908l-1.435 4.163a.5.5 0 1 1-.946-.326L3.85 11H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h4.954L7.527.337A.5.5 0 0 1 8 0zM2 3v7h12V3H2z\"}}]})(props);\n};\nexport function BsEggFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10a6 6 0 0 1-12 0C2 5.686 5 0 8 0s6 5.686 6 10z\"}}]})(props);\n};\nexport function BsEggFried (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.997 5.17a5 5 0 0 0-8.101-4.09A5 5 0 0 0 1.28 9.342a5 5 0 0 0 8.336 5.109 3.5 3.5 0 0 0 5.201-4.065 3.001 3.001 0 0 0-.822-5.216zm-1-.034a1 1 0 0 0 .668.977 2.001 2.001 0 0 1 .547 3.478 1 1 0 0 0-.341 1.113 2.5 2.5 0 0 1-3.715 2.905 1 1 0 0 0-1.262.152 4 4 0 0 1-6.67-4.087 1 1 0 0 0-.2-1 4 4 0 0 1 3.693-6.61 1 1 0 0 0 .8-.2 4 4 0 0 1 6.48 3.273z\"}}]})(props);\n};\nexport function BsEgg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15a5 5 0 0 1-5-5c0-1.956.69-4.286 1.742-6.12.524-.913 1.112-1.658 1.704-2.164C7.044 1.206 7.572 1 8 1c.428 0 .956.206 1.554.716.592.506 1.18 1.251 1.704 2.164C12.31 5.714 13 8.044 13 10a5 5 0 0 1-5 5zm0 1a6 6 0 0 0 6-6c0-4.314-3-10-6-10S2 5.686 2 10a6 6 0 0 0 6 6z\"}}]})(props);\n};\nexport function BsEjectFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.27 1.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H1.656C.78 9.5.326 8.455.926 7.816L7.27 1.047zM.5 11.5a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-13a1 1 0 0 1-1-1v-1z\"}}]})(props);\n};\nexport function BsEject (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.27 1.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H1.656C.78 9.5.326 8.455.926 7.816L7.27 1.047zM14.346 8.5 8 1.731 1.654 8.5h12.692zM.5 11.5a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-13a1 1 0 0 1-1-1v-1zm14 0h-13v1h13v-1z\"}}]})(props);\n};\nexport function BsEmojiAngryFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM4.053 4.276a.5.5 0 0 1 .67-.223l2 1a.5.5 0 0 1 .166.76c.071.206.111.44.111.687C7 7.328 6.552 8 6 8s-1-.672-1-1.5c0-.408.109-.778.285-1.049l-1.009-.504a.5.5 0 0 1-.223-.67zm.232 8.157a.5.5 0 0 1-.183-.683A4.498 4.498 0 0 1 8 9.5a4.5 4.5 0 0 1 3.898 2.25.5.5 0 1 1-.866.5A3.498 3.498 0 0 0 8 10.5a3.498 3.498 0 0 0-3.032 1.75.5.5 0 0 1-.683.183zM10 8c-.552 0-1-.672-1-1.5 0-.247.04-.48.11-.686a.502.502 0 0 1 .166-.761l2-1a.5.5 0 1 1 .448.894l-1.009.504c.176.27.285.64.285 1.049 0 .828-.448 1.5-1 1.5z\"}}]})(props);\n};\nexport function BsEmojiAngry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.285 12.433a.5.5 0 0 0 .683-.183A3.498 3.498 0 0 1 8 10.5c1.295 0 2.426.703 3.032 1.75a.5.5 0 0 0 .866-.5A4.498 4.498 0 0 0 8 9.5a4.5 4.5 0 0 0-3.898 2.25.5.5 0 0 0 .183.683zm6.991-8.38a.5.5 0 1 1 .448.894l-1.009.504c.176.27.285.64.285 1.049 0 .828-.448 1.5-1 1.5s-1-.672-1-1.5c0-.247.04-.48.11-.686a.502.502 0 0 1 .166-.761l2-1zm-6.552 0a.5.5 0 0 0-.448.894l1.009.504A1.94 1.94 0 0 0 5 6.5C5 7.328 5.448 8 6 8s1-.672 1-1.5c0-.247-.04-.48-.11-.686a.502.502 0 0 0-.166-.761l-2-1z\"}}]})(props);\n};\nexport function BsEmojiDizzyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM4.146 5.146a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 1 1 .708.708l-.647.646.647.646a.5.5 0 1 1-.708.708L5.5 7.207l-.646.647a.5.5 0 1 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 0-.708zm5 0a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708.708l-.647.646.647.646a.5.5 0 0 1-.708.708l-.646-.647-.646.647a.5.5 0 1 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 0-.708zM8 13a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]})(props);\n};\nexport function BsEmojiDizzy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.146 5.146a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708.708l-.647.646.647.646a.5.5 0 0 1-.708.708l-.646-.647-.646.647a.5.5 0 1 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 0-.708zm-5 0a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 1 1 .708.708l-.647.646.647.646a.5.5 0 1 1-.708.708L5.5 7.207l-.646.647a.5.5 0 1 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 0-.708zM10 11a2 2 0 1 1-4 0 2 2 0 0 1 4 0z\"}}]})(props);\n};\nexport function BsEmojiExpressionlessFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM4.5 6h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1zm5 0h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1zm-5 4h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsEmojiExpressionless (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm5 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsEmojiFrownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zm-2.715 5.933a.5.5 0 0 1-.183-.683A4.498 4.498 0 0 1 8 9.5a4.5 4.5 0 0 1 3.898 2.25.5.5 0 0 1-.866.5A3.498 3.498 0 0 0 8 10.5a3.498 3.498 0 0 0-3.032 1.75.5.5 0 0 1-.683.183zM10 8c-.552 0-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5S10.552 8 10 8z\"}}]})(props);\n};\nexport function BsEmojiFrown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.285 12.433a.5.5 0 0 0 .683-.183A3.498 3.498 0 0 1 8 10.5c1.295 0 2.426.703 3.032 1.75a.5.5 0 0 0 .866-.5A4.498 4.498 0 0 0 8 9.5a4.5 4.5 0 0 0-3.898 2.25.5.5 0 0 0 .183.683zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zm4 0c0 .828-.448 1.5-1 1.5s-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5z\"}}]})(props);\n};\nexport function BsEmojiHeartEyesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zM4.756 4.566c.763-1.424 4.02-.12.952 3.434-4.496-1.596-2.35-4.298-.952-3.434zm6.559 5.448a.5.5 0 0 1 .548.736A4.498 4.498 0 0 1 7.965 13a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .548-.736h.005l.017.005.067.015.252.055c.215.046.515.108.857.169.693.124 1.522.242 2.152.242.63 0 1.46-.118 2.152-.242a26.58 26.58 0 0 0 1.109-.224l.067-.015.017-.004.005-.002zm-.07-5.448c1.397-.864 3.543 1.838-.953 3.434-3.067-3.554.19-4.858.952-3.434z\"}}]})(props);\n};\nexport function BsEmojiHeartEyes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.315 10.014a.5.5 0 0 1 .548.736A4.498 4.498 0 0 1 7.965 13a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .548-.736h.005l.017.005.067.015.252.055c.215.046.515.108.857.169.693.124 1.522.242 2.152.242.63 0 1.46-.118 2.152-.242a26.58 26.58 0 0 0 1.109-.224l.067-.015.017-.004.005-.002zM4.756 4.566c.763-1.424 4.02-.12.952 3.434-4.496-1.596-2.35-4.298-.952-3.434zm6.488 0c1.398-.864 3.544 1.838-.952 3.434-3.067-3.554.19-4.858.952-3.434z\"}}]})(props);\n};\nexport function BsEmojiLaughingFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM7 6.5c0 .501-.164.396-.415.235C6.42 6.629 6.218 6.5 6 6.5c-.218 0-.42.13-.585.235C5.164 6.896 5 7 5 6.5 5 5.672 5.448 5 6 5s1 .672 1 1.5zm5.331 3a1 1 0 0 1 0 1A4.998 4.998 0 0 1 8 13a4.998 4.998 0 0 1-4.33-2.5A1 1 0 0 1 4.535 9h6.93a1 1 0 0 1 .866.5zm-1.746-2.765C10.42 6.629 10.218 6.5 10 6.5c-.218 0-.42.13-.585.235C9.164 6.896 9 7 9 6.5c0-.828.448-1.5 1-1.5s1 .672 1 1.5c0 .501-.164.396-.415.235z\"}}]})(props);\n};\nexport function BsEmojiLaughing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.331 9.5a1 1 0 0 1 0 1A4.998 4.998 0 0 1 8 13a4.998 4.998 0 0 1-4.33-2.5A1 1 0 0 1 4.535 9h6.93a1 1 0 0 1 .866.5zM7 6.5c0 .828-.448 0-1 0s-1 .828-1 0S5.448 5 6 5s1 .672 1 1.5zm4 0c0 .828-.448 0-1 0s-1 .828-1 0S9.448 5 10 5s1 .672 1 1.5z\"}}]})(props);\n};\nexport function BsEmojiNeutralFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zm-3 4a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM10 8c-.552 0-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5S10.552 8 10 8z\"}}]})(props);\n};\nexport function BsEmojiNeutral (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7a.5.5 0 0 0-.5.5zm3-4C7 5.672 6.552 5 6 5s-1 .672-1 1.5S5.448 8 6 8s1-.672 1-1.5zm4 0c0-.828-.448-1.5-1-1.5s-1 .672-1 1.5S9.448 8 10 8s1-.672 1-1.5z\"}}]})(props);\n};\nexport function BsEmojiSmileFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zM4.285 9.567a.5.5 0 0 1 .683.183A3.498 3.498 0 0 0 8 11.5a3.498 3.498 0 0 0 3.032-1.75.5.5 0 1 1 .866.5A4.498 4.498 0 0 1 8 12.5a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .183-.683zM10 8c-.552 0-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5S10.552 8 10 8z\"}}]})(props);\n};\nexport function BsEmojiSmileUpsideDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM7 9.5C7 8.672 6.552 8 6 8s-1 .672-1 1.5.448 1.5 1 1.5 1-.672 1-1.5zM4.285 6.433a.5.5 0 0 0 .683-.183A3.498 3.498 0 0 1 8 4.5c1.295 0 2.426.703 3.032 1.75a.5.5 0 0 0 .866-.5A4.498 4.498 0 0 0 8 3.5a4.5 4.5 0 0 0-3.898 2.25.5.5 0 0 0 .183.683zM10 8c-.552 0-1 .672-1 1.5s.448 1.5 1 1.5 1-.672 1-1.5S10.552 8 10 8z\"}}]})(props);\n};\nexport function BsEmojiSmileUpsideDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1zm0-1a8 8 0 1 1 0 16A8 8 0 0 1 8 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.285 6.433a.5.5 0 0 0 .683-.183A3.498 3.498 0 0 1 8 4.5c1.295 0 2.426.703 3.032 1.75a.5.5 0 0 0 .866-.5A4.498 4.498 0 0 0 8 3.5a4.5 4.5 0 0 0-3.898 2.25.5.5 0 0 0 .183.683zM7 9.5C7 8.672 6.552 8 6 8s-1 .672-1 1.5.448 1.5 1 1.5 1-.672 1-1.5zm4 0c0-.828-.448-1.5-1-1.5s-1 .672-1 1.5.448 1.5 1 1.5 1-.672 1-1.5z\"}}]})(props);\n};\nexport function BsEmojiSmile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.285 9.567a.5.5 0 0 1 .683.183A3.498 3.498 0 0 0 8 11.5a3.498 3.498 0 0 0 3.032-1.75.5.5 0 1 1 .866.5A4.498 4.498 0 0 1 8 12.5a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .183-.683zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zm4 0c0 .828-.448 1.5-1 1.5s-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5z\"}}]})(props);\n};\nexport function BsEmojiSunglassesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM2.31 5.243A1 1 0 0 1 3.28 4H6a1 1 0 0 1 1 1v.116A4.22 4.22 0 0 1 8 5c.35 0 .69.04 1 .116V5a1 1 0 0 1 1-1h2.72a1 1 0 0 1 .97 1.243l-.311 1.242A2 2 0 0 1 11.439 8H11a2 2 0 0 1-1.994-1.839A2.99 2.99 0 0 0 8 6c-.393 0-.74.064-1.006.161A2 2 0 0 1 5 8h-.438a2 2 0 0 1-1.94-1.515L2.31 5.243zM4.969 9.75A3.498 3.498 0 0 0 8 11.5a3.498 3.498 0 0 0 3.032-1.75.5.5 0 1 1 .866.5A4.498 4.498 0 0 1 8 12.5a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .866-.5z\"}}]})(props);\n};\nexport function BsEmojiSunglasses (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.968 9.75a.5.5 0 1 0-.866.5A4.498 4.498 0 0 0 8 12.5a4.5 4.5 0 0 0 3.898-2.25.5.5 0 1 0-.866-.5A3.498 3.498 0 0 1 8 11.5a3.498 3.498 0 0 1-3.032-1.75zM7 5.116V5a1 1 0 0 0-1-1H3.28a1 1 0 0 0-.97 1.243l.311 1.242A2 2 0 0 0 4.561 8H5a2 2 0 0 0 1.994-1.839A2.99 2.99 0 0 1 8 6c.393 0 .74.064 1.006.161A2 2 0 0 0 11 8h.438a2 2 0 0 0 1.94-1.515l.311-1.242A1 1 0 0 0 12.72 4H10a1 1 0 0 0-1 1v.116A4.22 4.22 0 0 0 8 5c-.35 0-.69.04-1 .116z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-1 0A7 7 0 1 0 1 8a7 7 0 0 0 14 0z\"}}]})(props);\n};\nexport function BsEmojiWinkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM7 6.5C7 5.672 6.552 5 6 5s-1 .672-1 1.5S5.448 8 6 8s1-.672 1-1.5zM4.285 9.567a.5.5 0 0 0-.183.683A4.498 4.498 0 0 0 8 12.5a4.5 4.5 0 0 0 3.898-2.25.5.5 0 1 0-.866-.5A3.498 3.498 0 0 1 8 11.5a3.498 3.498 0 0 1-3.032-1.75.5.5 0 0 0-.683-.183zm5.152-3.31a.5.5 0 0 0-.874.486c.33.595.958 1.007 1.687 1.007.73 0 1.356-.412 1.687-1.007a.5.5 0 0 0-.874-.486.934.934 0 0 1-.813.493.934.934 0 0 1-.813-.493z\"}}]})(props);\n};\nexport function BsEmojiWink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.285 9.567a.5.5 0 0 1 .683.183A3.498 3.498 0 0 0 8 11.5a3.498 3.498 0 0 0 3.032-1.75.5.5 0 1 1 .866.5A4.498 4.498 0 0 1 8 12.5a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .183-.683zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zm1.757-.437a.5.5 0 0 1 .68.194.934.934 0 0 0 .813.493c.339 0 .645-.19.813-.493a.5.5 0 1 1 .874.486A1.934 1.934 0 0 1 10.25 7.75c-.73 0-1.356-.412-1.687-1.007a.5.5 0 0 1 .194-.68z\"}}]})(props);\n};\nexport function BsEnvelopeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555zM0 4.697v7.104l5.803-3.558L0 4.697zM6.761 8.83l-6.57 4.027A2 2 0 0 0 2 14h12a2 2 0 0 0 1.808-1.144l-6.57-4.027L8 9.586l-1.239-.757zm3.436-.586L16 11.801V4.697l-5.803 3.546z\"}}]})(props);\n};\nexport function BsEnvelopeOpenFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.941.435a2 2 0 0 0-1.882 0l-6 3.2A2 2 0 0 0 0 5.4v.313l6.709 3.933L8 8.928l1.291.717L16 5.715V5.4a2 2 0 0 0-1.059-1.765l-6-3.2zM16 6.873l-5.693 3.337L16 13.372v-6.5zm-.059 7.611L8 10.072.059 14.484A2 2 0 0 0 2 16h12a2 2 0 0 0 1.941-1.516zM0 13.373l5.693-3.163L0 6.873v6.5z\"}}]})(props);\n};\nexport function BsEnvelopeOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.47 1.318a1 1 0 0 0-.94 0l-6 3.2A1 1 0 0 0 1 5.4v.818l5.724 3.465L8 8.917l1.276.766L15 6.218V5.4a1 1 0 0 0-.53-.882l-6-3.2zM15 7.388l-4.754 2.877L15 13.117v-5.73zm-.035 6.874L8 10.083l-6.965 4.18A1 1 0 0 0 2 15h12a1 1 0 0 0 .965-.738zM1 13.117l4.754-2.852L1 7.387v5.73zM7.059.435a2 2 0 0 1 1.882 0l6 3.2A2 2 0 0 1 16 5.4V14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V5.4a2 2 0 0 1 1.059-1.765l6-3.2z\"}}]})(props);\n};\nexport function BsEnvelope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm2-1a1 1 0 0 0-1 1v.217l7 4.2 7-4.2V4a1 1 0 0 0-1-1H2zm13 2.383-4.758 2.855L15 11.114v-5.73zm-.034 6.878L9.271 8.82 8 9.583 6.728 8.82l-5.694 3.44A1 1 0 0 0 2 13h12a1 1 0 0 0 .966-.739zM1 11.114l4.758-2.876L1 5.383v5.73z\"}}]})(props);\n};\nexport function BsEraserFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.086 2.207a2 2 0 0 1 2.828 0l3.879 3.879a2 2 0 0 1 0 2.828l-5.5 5.5A2 2 0 0 1 7.879 15H5.12a2 2 0 0 1-1.414-.586l-2.5-2.5a2 2 0 0 1 0-2.828l6.879-6.879zm.66 11.34L3.453 8.254 1.914 9.793a1 1 0 0 0 0 1.414l2.5 2.5a1 1 0 0 0 .707.293H7.88a1 1 0 0 0 .707-.293l.16-.16z\"}}]})(props);\n};\nexport function BsEraser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.086 2.207a2 2 0 0 1 2.828 0l3.879 3.879a2 2 0 0 1 0 2.828l-5.5 5.5A2 2 0 0 1 7.879 15H5.12a2 2 0 0 1-1.414-.586l-2.5-2.5a2 2 0 0 1 0-2.828l6.879-6.879zm2.121.707a1 1 0 0 0-1.414 0L4.16 7.547l5.293 5.293 4.633-4.633a1 1 0 0 0 0-1.414l-3.879-3.879zM8.746 13.547 3.453 8.254 1.914 9.793a1 1 0 0 0 0 1.414l2.5 2.5a1 1 0 0 0 .707.293H7.88a1 1 0 0 0 .707-.293l.16-.16z\"}}]})(props);\n};\nexport function BsExclamationCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8 4a.905.905 0 0 0-.9.995l.35 3.507a.552.552 0 0 0 1.1 0l.35-3.507A.905.905 0 0 0 8 4zm.002 6a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsExclamationCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z\"}}]})(props);\n};\nexport function BsExclamationDiamondFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435zM8 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsExclamationDiamond (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.95.435c.58-.58 1.52-.58 2.1 0l6.515 6.516c.58.58.58 1.519 0 2.098L9.05 15.565c-.58.58-1.519.58-2.098 0L.435 9.05a1.482 1.482 0 0 1 0-2.098L6.95.435zm1.4.7a.495.495 0 0 0-.7 0L1.134 7.65a.495.495 0 0 0 0 .7l6.516 6.516a.495.495 0 0 0 .7 0l6.516-6.516a.495.495 0 0 0 0-.7L8.35 1.134z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z\"}}]})(props);\n};\nexport function BsExclamationLg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.002 14a2 2 0 1 1 4 0 2 2 0 0 1-4 0zm.195-12.01a1.81 1.81 0 1 1 3.602 0l-.701 7.015a1.105 1.105 0 0 1-2.2 0l-.7-7.015z\"}}]})(props);\n};\nexport function BsExclamationOctagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.46.146A.5.5 0 0 0 11.107 0H4.893a.5.5 0 0 0-.353.146L.146 4.54A.5.5 0 0 0 0 4.893v6.214a.5.5 0 0 0 .146.353l4.394 4.394a.5.5 0 0 0 .353.146h6.214a.5.5 0 0 0 .353-.146l4.394-4.394a.5.5 0 0 0 .146-.353V4.893a.5.5 0 0 0-.146-.353L11.46.146zM8 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsExclamationOctagon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z\"}}]})(props);\n};\nexport function BsExclamationSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsExclamationSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z\"}}]})(props);\n};\nexport function BsExclamationTriangleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsExclamationTriangle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.938 2.016A.13.13 0 0 1 8.002 2a.13.13 0 0 1 .063.016.146.146 0 0 1 .054.057l6.857 11.667c.036.06.035.124.002.183a.163.163 0 0 1-.054.06.116.116 0 0 1-.066.017H1.146a.115.115 0 0 1-.066-.017.163.163 0 0 1-.054-.06.176.176 0 0 1 .002-.183L7.884 2.073a.147.147 0 0 1 .054-.057zm1.044-.45a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.002 12a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 5.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995z\"}}]})(props);\n};\nexport function BsExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"}}]})(props);\n};\nexport function BsExclude (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2H2a2 2 0 0 1-2-2V2zm12 2H5a1 1 0 0 0-1 1v7h7a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsEyeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 8a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8s3-5.5 8-5.5S16 8 16 8s-3 5.5-8 5.5S0 8 0 8zm8 3.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7z\"}}]})(props);\n};\nexport function BsEyeSlashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m10.79 12.912-1.614-1.615a3.5 3.5 0 0 1-4.474-4.474l-2.06-2.06C.938 6.278 0 8 0 8s3 5.5 8 5.5a7.029 7.029 0 0 0 2.79-.588zM5.21 3.088A7.028 7.028 0 0 1 8 2.5c5 0 8 5.5 8 5.5s-.939 1.721-2.641 3.238l-2.062-2.062a3.5 3.5 0 0 0-4.474-4.474L5.21 3.089z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.525 7.646a2.5 2.5 0 0 0 2.829 2.829l-2.83-2.829zm4.95.708-2.829-2.83a2.5 2.5 0 0 1 2.829 2.829zm3.171 6-12-12 .708-.708 12 12-.708.708z\"}}]})(props);\n};\nexport function BsEyeSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.359 11.238C15.06 9.72 16 8 16 8s-3-5.5-8-5.5a7.028 7.028 0 0 0-2.79.588l.77.771A5.944 5.944 0 0 1 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.134 13.134 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755-.165.165-.337.328-.517.486l.708.709z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.297 9.176a3.5 3.5 0 0 0-4.474-4.474l.823.823a2.5 2.5 0 0 1 2.829 2.829l.822.822zm-2.943 1.299.822.822a3.5 3.5 0 0 1-4.474-4.474l.823.823a2.5 2.5 0 0 0 2.829 2.829z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.35 5.47c-.18.16-.353.322-.518.487A13.134 13.134 0 0 0 1.172 8l.195.288c.335.48.83 1.12 1.465 1.755C4.121 11.332 5.881 12.5 8 12.5c.716 0 1.39-.133 2.02-.36l.77.772A7.029 7.029 0 0 1 8 13.5C3 13.5 0 8 0 8s.939-1.721 2.641-3.238l.708.709zm10.296 8.884-12-12 .708-.708 12 12-.708.708z\"}}]})(props);\n};\nexport function BsEye (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8zM1.173 8a13.133 13.133 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.133 13.133 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5c-2.12 0-3.879-1.168-5.168-2.457A13.134 13.134 0 0 1 1.172 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zM4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0z\"}}]})(props);\n};\nexport function BsEyedropper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.354.646a1.207 1.207 0 0 0-1.708 0L8.5 3.793l-.646-.647a.5.5 0 1 0-.708.708L8.293 5l-7.147 7.146A.5.5 0 0 0 1 12.5v1.793l-.854.853a.5.5 0 1 0 .708.707L1.707 15H3.5a.5.5 0 0 0 .354-.146L11 7.707l1.146 1.147a.5.5 0 0 0 .708-.708l-.647-.646 3.147-3.146a1.207 1.207 0 0 0 0-1.708l-2-2zM2 12.707l7-7L10.293 7l-7 7H2v-1.293z\"}}]})(props);\n};\nexport function BsEyeglasses (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6a2 2 0 1 1 0 4 2 2 0 0 1 0-4zm2.625.547a3 3 0 0 0-5.584.953H.5a.5.5 0 0 0 0 1h.541A3 3 0 0 0 7 8a1 1 0 0 1 2 0 3 3 0 0 0 5.959.5h.541a.5.5 0 0 0 0-1h-.541a3 3 0 0 0-5.584-.953A1.993 1.993 0 0 0 8 6c-.532 0-1.016.208-1.375.547zM14 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0z\"}}]})(props);\n};\nexport function BsFacebook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951z\"}}]})(props);\n};\nexport function BsFileArrowDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8 5a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 9.293V5.5A.5.5 0 0 1 8 5z\"}}]})(props);\n};\nexport function BsFileArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 9.293V5.5A.5.5 0 0 1 8 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileArrowUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM7.5 6.707 6.354 7.854a.5.5 0 1 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 6.707V10.5a.5.5 0 0 1-1 0V6.707z\"}}]})(props);\n};\nexport function BsFileArrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11a.5.5 0 0 0 .5-.5V6.707l1.146 1.147a.5.5 0 0 0 .708-.708l-2-2a.5.5 0 0 0-.708 0l-2 2a.5.5 0 1 0 .708.708L7.5 6.707V10.5a.5.5 0 0 0 .5.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileBarGraphFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-2 11.5v-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-2.5.5a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-1zm-3 0a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-1z\"}}]})(props);\n};\nexport function BsFileBarGraph (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 12a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-1zm3 0a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-1zm3 0a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileBinaryFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.526 9.273c-.542 0-.832.563-.832 1.612 0 .088.003.173.006.252l1.56-1.143c-.126-.474-.375-.72-.733-.72zm-.732 2.508c.126.472.372.718.732.718.54 0 .83-.563.83-1.614 0-.085-.003-.17-.006-.25l-1.556 1.146z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM7.05 10.885c0 1.415-.548 2.206-1.524 2.206C4.548 13.09 4 12.3 4 10.885c0-1.412.548-2.203 1.526-2.203.976 0 1.524.79 1.524 2.203zm3.805 1.52V13h-3v-.595h1.181V9.5h-.05l-1.136.747v-.688l1.19-.786h.69v3.633h1.125z\"}}]})(props);\n};\nexport function BsFileBinary (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.526 13.09c.976 0 1.524-.79 1.524-2.205 0-1.412-.548-2.203-1.524-2.203-.978 0-1.526.79-1.526 2.203 0 1.415.548 2.206 1.526 2.206zm-.832-2.205c0-1.05.29-1.612.832-1.612.358 0 .607.247.733.721L4.7 11.137a6.749 6.749 0 0 1-.006-.252zm.832 1.614c-.36 0-.606-.246-.732-.718l1.556-1.145c.003.079.005.164.005.249 0 1.052-.29 1.614-.829 1.614zm5.329.501v-.595H9.73V8.772h-.69l-1.19.786v.688L8.986 9.5h.05v2.906h-1.18V13h3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileBreakFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h8a2 2 0 0 1 2 2v7H2V2a2 2 0 0 1 2-2zM2 12h12v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-2zM.5 10a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1H.5z\"}}]})(props);\n};\nexport function BsFileBreak (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 10.5a.5.5 0 0 1 .5-.5h15a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5zM12 0H4a2 2 0 0 0-2 2v7h1V2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v7h1V2a2 2 0 0 0-2-2zm2 12h-1v2a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-2H2v2a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-2z\"}}]})(props);\n};\nexport function BsFileCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-1.146 6.854-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 8.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFileCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.854 6.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 8.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileCodeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM6.646 5.646a.5.5 0 1 1 .708.708L5.707 8l1.647 1.646a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2zm2.708 0 2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 8 8.646 6.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFileCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.646 5.646a.5.5 0 1 1 .708.708L5.707 8l1.647 1.646a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2zm2.708 0a.5.5 0 1 0-.708.708L10.293 8 8.646 9.646a.5.5 0 0 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFileDiffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8.5 4.5V6H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V7H6a.5.5 0 0 1 0-1h1.5V4.5a.5.5 0 0 1 1 0zM6 10h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFileDiff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4a.5.5 0 0 1 .5.5V6H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V7H6a.5.5 0 0 1 0-1h1.5V4.5A.5.5 0 0 1 8 4zm-2.5 6.5A.5.5 0 0 1 6 10h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFileEarmarkArrowDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-1 4v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 .708-.708L7.5 11.293V7.5a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFileEarmarkArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 6.5a.5.5 0 0 0-1 0v3.793L6.354 9.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0-.708-.708L8.5 10.293V6.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkArrowUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6.354 9.854a.5.5 0 0 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 8.707V12.5a.5.5 0 0 1-1 0V8.707L6.354 9.854z\"}}]})(props);\n};\nexport function BsFileEarmarkArrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 11.5a.5.5 0 0 1-1 0V7.707L6.354 8.854a.5.5 0 1 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 7.707V11.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkBarGraphFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm.5 10v-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-2.5.5a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-1zm-3 0a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-1z\"}}]})(props);\n};\nexport function BsFileEarmarkBarGraph (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 13.5a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v6zm-2.5.5a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-1zm-3 0a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkBinaryFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.526 10.273c-.542 0-.832.563-.832 1.612 0 .088.003.173.006.252l1.559-1.143c-.126-.474-.375-.72-.733-.72zm-.732 2.508c.126.472.372.718.732.718.54 0 .83-.563.83-1.614 0-.085-.003-.17-.006-.25l-1.556 1.146z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-2.45 8.385c0 1.415-.548 2.206-1.524 2.206C4.548 14.09 4 13.3 4 11.885c0-1.412.548-2.203 1.526-2.203.976 0 1.524.79 1.524 2.203zm3.805 1.52V14h-3v-.595h1.181V10.5h-.05l-1.136.747v-.688l1.19-.786h.69v3.633h1.125z\"}}]})(props);\n};\nexport function BsFileEarmarkBinary (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.05 11.885c0 1.415-.548 2.206-1.524 2.206C4.548 14.09 4 13.3 4 11.885c0-1.412.548-2.203 1.526-2.203.976 0 1.524.79 1.524 2.203zm-1.524-1.612c-.542 0-.832.563-.832 1.612 0 .088.003.173.006.252l1.559-1.143c-.126-.474-.375-.72-.733-.72zm-.732 2.508c.126.472.372.718.732.718.54 0 .83-.563.83-1.614 0-.085-.003-.17-.006-.25l-1.556 1.146zm6.061.624V14h-3v-.595h1.181V10.5h-.05l-1.136.747v-.688l1.19-.786h.69v3.633h1.125z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkBreakFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707V9H2V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3zM2 12h12v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-2zM.5 10a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1H.5z\"}}]})(props);\n};\nexport function BsFileEarmarkBreak (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V9h-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v7H2V2a2 2 0 0 1 2-2h5.5L14 4.5zM13 12h1v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-2h1v2a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-2zM.5 10a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1H.5z\"}}]})(props);\n};\nexport function BsFileEarmarkCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm1.354 4.354-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFileEarmarkCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.854 7.854a.5.5 0 0 0-.708-.708L7.5 9.793 6.354 8.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkCodeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6.646 7.646a.5.5 0 1 1 .708.708L5.707 10l1.647 1.646a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2zm2.708 0 2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 10 8.646 8.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFileEarmarkCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.646 6.646a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 9 8.646 7.354a.5.5 0 0 1 0-.708zm-1.292 0a.5.5 0 0 0-.708 0l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708-.708L5.707 9l1.647-1.646a.5.5 0 0 0 0-.708z\"}}]})(props);\n};\nexport function BsFileEarmarkDiffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM8 6a.5.5 0 0 1 .5.5V8H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V9H6a.5.5 0 0 1 0-1h1.5V6.5A.5.5 0 0 1 8 6zm-2.5 6.5A.5.5 0 0 1 6 12h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFileEarmarkDiff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5a.5.5 0 0 1 .5.5V7H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V8H6a.5.5 0 0 1 0-1h1.5V5.5A.5.5 0 0 1 8 5zm-2.5 6.5A.5.5 0 0 1 6 11h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkEaselFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 7.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM8.5 6h2A1.5 1.5 0 0 1 12 7.5v2a1.5 1.5 0 0 1-1.5 1.5h-.473l.447 1.342a.5.5 0 0 1-.948.316L8.973 11H8.5v1a.5.5 0 0 1-1 0v-1h-.473l-.553 1.658a.5.5 0 1 1-.948-.316L5.973 11H5.5A1.5 1.5 0 0 1 4 9.5v-2A1.5 1.5 0 0 1 5.5 6h2a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFileEarmarkEasel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 6a.5.5 0 1 0-1 0h-2A1.5 1.5 0 0 0 4 7.5v2A1.5 1.5 0 0 0 5.5 11h.473l-.447 1.342a.5.5 0 1 0 .948.316L7.027 11H7.5v1a.5.5 0 0 0 1 0v-1h.473l.553 1.658a.5.5 0 1 0 .948-.316L10.027 11h.473A1.5 1.5 0 0 0 12 9.5v-2A1.5 1.5 0 0 0 10.5 6h-2zM5 7.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkExcelFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5.884 6.68 8 9.219l2.116-2.54a.5.5 0 1 1 .768.641L8.651 10l2.233 2.68a.5.5 0 0 1-.768.64L8 10.781l-2.116 2.54a.5.5 0 0 1-.768-.641L7.349 10 5.116 7.32a.5.5 0 1 1 .768-.64z\"}}]})(props);\n};\nexport function BsFileEarmarkExcel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.884 6.68a.5.5 0 1 0-.768.64L7.349 10l-2.233 2.68a.5.5 0 0 0 .768.64L8 10.781l2.116 2.54a.5.5 0 0 0 .768-.641L8.651 10l2.233-2.68a.5.5 0 0 0-.768-.64L8 9.219l-2.116-2.54z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3z\"}}]})(props);\n};\nexport function BsFileEarmarkFontFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5.057 6h5.886L11 8h-.5c-.18-1.096-.356-1.192-1.694-1.235l-.298-.01v5.09c0 .47.1.582.903.655v.5H6.59v-.5c.799-.073.898-.184.898-.654V6.755l-.293.01C5.856 6.808 5.68 6.905 5.5 8H5l.057-2z\"}}]})(props);\n};\nexport function BsFileEarmarkFont (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.943 6H5.057L5 8h.5c.18-1.096.356-1.192 1.694-1.235l.293-.01v5.09c0 .47-.1.582-.898.655v.5H9.41v-.5c-.803-.073-.903-.184-.903-.654V6.755l.298.01c1.338.043 1.514.14 1.694 1.235h.5l-.057-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}}]})(props);\n};\nexport function BsFileEarmarkImageFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707v5.586l-2.73-2.73a1 1 0 0 0-1.52.127l-1.889 2.644-1.769-1.062a1 1 0 0 0-1.222.15L2 12.292V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3zm-1.498 4a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.564 8.27 14 11.708V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-.293l3.578-3.577 2.56 1.536 2.426-3.395z\"}}]})(props);\n};\nexport function BsFileEarmarkImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.502 7a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5V14zM4 1a1 1 0 0 0-1 1v10l2.224-2.224a.5.5 0 0 1 .61-.075L8 11l2.157-3.02a.5.5 0 0 1 .76-.063L13 10V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4z\"}}]})(props);\n};\nexport function BsFileEarmarkLockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7a1 1 0 0 1 2 0v1H7V7zM6 9.3c0-.042.02-.107.105-.175A.637.637 0 0 1 6.5 9h3a.64.64 0 0 1 .395.125c.085.068.105.133.105.175v2.4c0 .042-.02.107-.105.175A.637.637 0 0 1 9.5 12h-3a.637.637 0 0 1-.395-.125C6.02 11.807 6 11.742 6 11.7V9.3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM10 7v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V9.3c0-.627.46-1.058 1-1.224V7a2 2 0 1 1 4 0z\"}}]})(props);\n};\nexport function BsFileEarmarkLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 7v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V9.3c0-.627.46-1.058 1-1.224V7a2 2 0 1 1 4 0zM7 7v1h2V7a1 1 0 0 0-2 0zM6 9.3v2.4c0 .042.02.107.105.175A.637.637 0 0 0 6.5 12h3a.64.64 0 0 0 .395-.125c.085-.068.105-.133.105-.175V9.3c0-.042-.02-.107-.105-.175A.637.637 0 0 0 9.5 9h-3a.637.637 0 0 0-.395.125C6.02 9.193 6 9.258 6 9.3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkLock2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7a1 1 0 0 1 2 0v1H7V7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM10 7v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V9.3c0-.627.46-1.058 1-1.224V7a2 2 0 1 1 4 0z\"}}]})(props);\n};\nexport function BsFileEarmarkLock2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 7v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V9.3c0-.627.46-1.058 1-1.224V7a2 2 0 1 1 4 0zM7 7v1h2V7a1 1 0 0 0-2 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkMedicalFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-3 2v.634l.549-.317a.5.5 0 1 1 .5.866L7 7l.549.317a.5.5 0 1 1-.5.866L6.5 7.866V8.5a.5.5 0 0 1-1 0v-.634l-.549.317a.5.5 0 1 1-.5-.866L5 7l-.549-.317a.5.5 0 0 1 .5-.866l.549.317V5.5a.5.5 0 1 1 1 0zm-2 4.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zm0 2h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFileEarmarkMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 5.5a.5.5 0 0 0-1 0v.634l-.549-.317a.5.5 0 1 0-.5.866L6 7l-.549.317a.5.5 0 1 0 .5.866l.549-.317V8.5a.5.5 0 1 0 1 0v-.634l.549.317a.5.5 0 1 0 .5-.866L8 7l.549-.317a.5.5 0 1 0-.5-.866l-.549.317V5.5zm-2 4.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 2a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6 8.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFileEarmarkMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 9a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}}]})(props);\n};\nexport function BsFileEarmarkMusicFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM11 6.64v1.75l-2 .5v3.61c0 .495-.301.883-.662 1.123C7.974 13.866 7.499 14 7 14c-.5 0-.974-.134-1.338-.377-.36-.24-.662-.628-.662-1.123s.301-.883.662-1.123C6.026 11.134 6.501 11 7 11c.356 0 .7.068 1 .196V6.89a1 1 0 0 1 .757-.97l1-.25A1 1 0 0 1 11 6.64z\"}}]})(props);\n};\nexport function BsFileEarmarkMusic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6.64a1 1 0 0 0-1.243-.97l-1 .25A1 1 0 0 0 8 6.89v4.306A2.572 2.572 0 0 0 7 11c-.5 0-.974.134-1.338.377-.36.24-.662.628-.662 1.123s.301.883.662 1.123c.364.243.839.377 1.338.377.5 0 .974-.134 1.338-.377.36-.24.662-.628.662-1.123V8.89l2-.5V6.64z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkPdfFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.523 12.424c.14-.082.293-.162.459-.238a7.878 7.878 0 0 1-.45.606c-.28.337-.498.516-.635.572a.266.266 0 0 1-.035.012.282.282 0 0 1-.026-.044c-.056-.11-.054-.216.04-.36.106-.165.319-.354.647-.548zm2.455-1.647c-.119.025-.237.05-.356.078a21.148 21.148 0 0 0 .5-1.05 12.045 12.045 0 0 0 .51.858c-.217.032-.436.07-.654.114zm2.525.939a3.881 3.881 0 0 1-.435-.41c.228.005.434.022.612.054.317.057.466.147.518.209a.095.095 0 0 1 .026.064.436.436 0 0 1-.06.2.307.307 0 0 1-.094.124.107.107 0 0 1-.069.015c-.09-.003-.258-.066-.498-.256zM8.278 6.97c-.04.244-.108.524-.2.829a4.86 4.86 0 0 1-.089-.346c-.076-.353-.087-.63-.046-.822.038-.177.11-.248.196-.283a.517.517 0 0 1 .145-.04c.013.03.028.092.032.198.005.122-.007.277-.038.465z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3zM4.165 13.668c.09.18.23.343.438.419.207.075.412.04.58-.03.318-.13.635-.436.926-.786.333-.401.683-.927 1.021-1.51a11.651 11.651 0 0 1 1.997-.406c.3.383.61.713.91.95.28.22.603.403.934.417a.856.856 0 0 0 .51-.138c.155-.101.27-.247.354-.416.09-.181.145-.37.138-.563a.844.844 0 0 0-.2-.518c-.226-.27-.596-.4-.96-.465a5.76 5.76 0 0 0-1.335-.05 10.954 10.954 0 0 1-.98-1.686c.25-.66.437-1.284.52-1.794.036-.218.055-.426.048-.614a1.238 1.238 0 0 0-.127-.538.7.7 0 0 0-.477-.365c-.202-.043-.41 0-.601.077-.377.15-.576.47-.651.823-.073.34-.04.736.046 1.136.088.406.238.848.43 1.295a19.697 19.697 0 0 1-1.062 2.227 7.662 7.662 0 0 0-1.482.645c-.37.22-.699.48-.897.787-.21.326-.275.714-.08 1.103z\"}}]})(props);\n};\nexport function BsFileEarmarkPdf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.603 14.087a.81.81 0 0 1-.438-.42c-.195-.388-.13-.776.08-1.102.198-.307.526-.568.897-.787a7.68 7.68 0 0 1 1.482-.645 19.697 19.697 0 0 0 1.062-2.227 7.269 7.269 0 0 1-.43-1.295c-.086-.4-.119-.796-.046-1.136.075-.354.274-.672.65-.823.192-.077.4-.12.602-.077a.7.7 0 0 1 .477.365c.088.164.12.356.127.538.007.188-.012.396-.047.614-.084.51-.27 1.134-.52 1.794a10.954 10.954 0 0 0 .98 1.686 5.753 5.753 0 0 1 1.334.05c.364.066.734.195.96.465.12.144.193.32.2.518.007.192-.047.382-.138.563a1.04 1.04 0 0 1-.354.416.856.856 0 0 1-.51.138c-.331-.014-.654-.196-.933-.417a5.712 5.712 0 0 1-.911-.95 11.651 11.651 0 0 0-1.997.406 11.307 11.307 0 0 1-1.02 1.51c-.292.35-.609.656-.927.787a.793.793 0 0 1-.58.029zm1.379-1.901c-.166.076-.32.156-.459.238-.328.194-.541.383-.647.547-.094.145-.096.25-.04.361.01.022.02.036.026.044a.266.266 0 0 0 .035-.012c.137-.056.355-.235.635-.572a8.18 8.18 0 0 0 .45-.606zm1.64-1.33a12.71 12.71 0 0 1 1.01-.193 11.744 11.744 0 0 1-.51-.858 20.801 20.801 0 0 1-.5 1.05zm2.446.45c.15.163.296.3.435.41.24.19.407.253.498.256a.107.107 0 0 0 .07-.015.307.307 0 0 0 .094-.125.436.436 0 0 0 .059-.2.095.095 0 0 0-.026-.063c-.052-.062-.2-.152-.518-.209a3.876 3.876 0 0 0-.612-.053zM8.078 7.8a6.7 6.7 0 0 0 .2-.828c.031-.188.043-.343.038-.465a.613.613 0 0 0-.032-.198.517.517 0 0 0-.145.04c-.087.035-.158.106-.196.283-.04.192-.03.469.046.822.024.111.054.227.09.346z\"}}]})(props);\n};\nexport function BsFileEarmarkPersonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0zm2 5.755V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-.245S4 12 8 12s5 1.755 5 1.755z\"}}]})(props);\n};\nexport function BsFileEarmarkPerson (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2v9.255S12 12 8 12s-5 1.755-5 1.755V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkPlayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6 6.883a.5.5 0 0 1 .757-.429l3.528 2.117a.5.5 0 0 1 0 .858l-3.528 2.117a.5.5 0 0 1-.757-.43V6.884z\"}}]})(props);\n};\nexport function BsFileEarmarkPlay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 6.883v4.234a.5.5 0 0 0 .757.429l3.528-2.117a.5.5 0 0 0 0-.858L6.757 6.454a.5.5 0 0 0-.757.43z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM8.5 7v1.5H10a.5.5 0 0 1 0 1H8.5V11a.5.5 0 0 1-1 0V9.5H6a.5.5 0 0 1 0-1h1.5V7a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFileEarmarkPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6.5a.5.5 0 0 1 .5.5v1.5H10a.5.5 0 0 1 0 1H8.5V11a.5.5 0 0 1-1 0V9.5H6a.5.5 0 0 1 0-1h1.5V7a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}}]})(props);\n};\nexport function BsFileEarmarkPostFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-5-.5H7a.5.5 0 0 1 0 1H4.5a.5.5 0 0 1 0-1zm0 3h7a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFileEarmarkPost (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-7zm0-3a.5.5 0 0 1 .5-.5H7a.5.5 0 0 1 0 1H4.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFileEarmarkPptFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.188 10H7V6.5h1.188a1.75 1.75 0 1 1 0 3.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3zM7 5.5a1 1 0 0 0-1 1V13a.5.5 0 0 0 1 0v-2h1.188a2.75 2.75 0 0 0 0-5.5H7z\"}}]})(props);\n};\nexport function BsFileEarmarkPpt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5.5a1 1 0 0 0-1 1V13a.5.5 0 0 0 1 0v-2h1.188a2.75 2.75 0 0 0 0-5.5H7zM8.188 10H7V6.5h1.188a1.75 1.75 0 1 1 0 3.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}}]})(props);\n};\nexport function BsFileEarmarkRichtextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM7 6.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.861 1.542 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047l1.888.974V9.5a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V9s1.54-1.274 1.639-1.208zM5 11h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1zm0 2h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFileEarmarkRichtext (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 12.5A.5.5 0 0 1 5 12h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm0-2A.5.5 0 0 1 5 10h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm1.639-3.708 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047l1.888.974V8.5a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V8s1.54-1.274 1.639-1.208zM6.25 6a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5z\"}}]})(props);\n};\nexport function BsFileEarmarkRuledFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM3 9h10v1H6v2h7v1H6v2H5v-2H3v-1h2v-2H3V9z\"}}]})(props);\n};\nexport function BsFileEarmarkRuled (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V9H3V2a1 1 0 0 1 1-1h5.5v2zM3 12v-2h2v2H3zm0 1h2v2H4a1 1 0 0 1-1-1v-1zm3 2v-2h7v1a1 1 0 0 1-1 1H6zm7-3H6v-2h7v2z\"}}]})(props);\n};\nexport function BsFileEarmarkSlidesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 9.78V7.22c0-.096.106-.156.19-.106l2.13 1.279a.125.125 0 0 1 0 .214l-2.13 1.28A.125.125 0 0 1 7 9.778z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5 6h6a.5.5 0 0 1 .496.438l.5 4A.5.5 0 0 1 11.5 11h-3v2.016c.863.055 1.5.251 1.5.484 0 .276-.895.5-2 .5s-2-.224-2-.5c0-.233.637-.429 1.5-.484V11h-3a.5.5 0 0 1-.496-.562l.5-4A.5.5 0 0 1 5 6z\"}}]})(props);\n};\nexport function BsFileEarmarkSlides (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6a.5.5 0 0 0-.496.438l-.5 4A.5.5 0 0 0 4.5 11h3v2.016c-.863.055-1.5.251-1.5.484 0 .276.895.5 2 .5s2-.224 2-.5c0-.233-.637-.429-1.5-.484V11h3a.5.5 0 0 0 .496-.562l-.5-4A.5.5 0 0 0 11 6H5zm2 3.78V7.22c0-.096.106-.156.19-.106l2.13 1.279a.125.125 0 0 1 0 .214l-2.13 1.28A.125.125 0 0 1 7 9.778z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkSpreadsheetFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12v-2h3v2H6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM3 9h10v1h-3v2h3v1h-3v2H9v-2H6v2H5v-2H3v-1h2v-2H3V9z\"}}]})(props);\n};\nexport function BsFileEarmarkSpreadsheet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V9H3V2a1 1 0 0 1 1-1h5.5v2zM3 12v-2h2v2H3zm0 1h2v2H4a1 1 0 0 1-1-1v-1zm3 2v-2h3v2H6zm4 0v-2h3v1a1 1 0 0 1-1 1h-2zm3-3h-3v-2h3v2zm-7 0v-2h3v2H6z\"}}]})(props);\n};\nexport function BsFileEarmarkTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM4.5 9a.5.5 0 0 1 0-1h7a.5.5 0 0 1 0 1h-7zM4 10.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm.5 2.5a.5.5 0 0 1 0-1h4a.5.5 0 0 1 0 1h-4z\"}}]})(props);\n};\nexport function BsFileEarmarkText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 7a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zM5 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.5L9.5 0zm0 1v2A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5z\"}}]})(props);\n};\nexport function BsFileEarmarkWordFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5.485 6.879l1.036 4.144.997-3.655a.5.5 0 0 1 .964 0l.997 3.655 1.036-4.144a.5.5 0 0 1 .97.242l-1.5 6a.5.5 0 0 1-.967.01L8 9.402l-1.018 3.73a.5.5 0 0 1-.967-.01l-1.5-6a.5.5 0 1 1 .97-.242z\"}}]})(props);\n};\nexport function BsFileEarmarkWord (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.485 6.879a.5.5 0 1 0-.97.242l1.5 6a.5.5 0 0 0 .967.01L8 9.402l1.018 3.73a.5.5 0 0 0 .967-.01l1.5-6a.5.5 0 0 0-.97-.242l-1.036 4.144-.997-3.655a.5.5 0 0 0-.964 0l-.997 3.655L5.485 6.88z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6.854 7.146 8 8.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 9l1.147 1.146a.5.5 0 0 1-.708.708L8 9.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 9 6.146 7.854a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFileEarmarkX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.854 7.146a.5.5 0 1 0-.708.708L7.293 9l-1.147 1.146a.5.5 0 0 0 .708.708L8 9.707l1.146 1.147a.5.5 0 0 0 .708-.708L8.707 9l1.147-1.146a.5.5 0 0 0-.708-.708L8 8.293 6.854 7.146z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkZipFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 9.438V8.5h1v.938a1 1 0 0 0 .03.243l.4 1.598-.93.62-.93-.62.4-1.598a1 1 0 0 0 .03-.243z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-4-.5V2h-1V1H6v1h1v1H6v1h1v1H6v1h1v1H5.5V6h-1V5h1V4h-1V3h1zm0 4.5h1a1 1 0 0 1 1 1v.938l.4 1.599a1 1 0 0 1-.416 1.074l-.93.62a1 1 0 0 1-1.109 0l-.93-.62a1 1 0 0 1-.415-1.074l.4-1.599V8.5a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileEarmarkZip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 7.5a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v.938l.4 1.599a1 1 0 0 1-.416 1.074l-.93.62a1 1 0 0 1-1.11 0l-.929-.62a1 1 0 0 1-.415-1.074L5 8.438V7.5zm2 0H6v.938a1 1 0 0 1-.03.243l-.4 1.598.93.62.929-.62-.4-1.598A1 1 0 0 1 7 8.438V7.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1h-2v1h-1v1h1v1h-1v1h1v1H6V5H5V4h1V3H5V2h1V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}}]})(props);\n};\nexport function BsFileEarmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}}]})(props);\n};\nexport function BsFileEaselFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8.5 5h2A1.5 1.5 0 0 1 12 6.5v2a1.5 1.5 0 0 1-1.5 1.5h-.473l.447 1.342a.5.5 0 0 1-.948.316L8.973 10H8.5v1a.5.5 0 0 1-1 0v-1h-.473l-.553 1.658a.5.5 0 1 1-.948-.316L5.973 10H5.5A1.5 1.5 0 0 1 4 8.5v-2A1.5 1.5 0 0 1 5.5 5h2a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFileEasel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5a.5.5 0 1 0-1 0h-2A1.5 1.5 0 0 0 4 6.5v2A1.5 1.5 0 0 0 5.5 10h.473l-.447 1.342a.5.5 0 1 0 .948.316L7.027 10H7.5v1a.5.5 0 0 0 1 0v-1h.473l.553 1.658a.5.5 0 1 0 .948-.316L10.027 10h.473A1.5 1.5 0 0 0 12 8.5v-2A1.5 1.5 0 0 0 10.5 5h-2zM5 6.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFileExcelFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5.884 4.68 8 7.219l2.116-2.54a.5.5 0 1 1 .768.641L8.651 8l2.233 2.68a.5.5 0 0 1-.768.64L8 8.781l-2.116 2.54a.5.5 0 0 1-.768-.641L7.349 8 5.116 5.32a.5.5 0 1 1 .768-.64z\"}}]})(props);\n};\nexport function BsFileExcel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.18 4.616a.5.5 0 0 1 .704.064L8 7.219l2.116-2.54a.5.5 0 1 1 .768.641L8.651 8l2.233 2.68a.5.5 0 0 1-.768.64L8 8.781l-2.116 2.54a.5.5 0 0 1-.768-.641L7.349 8 5.116 5.32a.5.5 0 0 1 .064-.704z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2z\"}}]})(props);\n};\nexport function BsFileFontFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5.057 4h5.886L11 6h-.5c-.18-1.096-.356-1.192-1.694-1.235l-.298-.01v6.09c0 .47.1.582.903.655v.5H6.59v-.5c.799-.073.898-.184.898-.654V4.755l-.293.01C5.856 4.808 5.68 4.905 5.5 6H5l.057-2z\"}}]})(props);\n};\nexport function BsFileFont (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.943 4H5.057L5 6h.5c.18-1.096.356-1.192 1.694-1.235l.293-.01v6.09c0 .47-.1.582-.898.655v.5H9.41v-.5c-.803-.073-.903-.184-.903-.654V4.755l.298.01c1.338.043 1.514.14 1.694 1.235h.5l-.057-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileImageFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h8a2 2 0 0 1 2 2v8.293l-2.73-2.73a1 1 0 0 0-1.52.127l-1.889 2.644-1.769-1.062a1 1 0 0 0-1.222.15L2 12.292V2a2 2 0 0 1 2-2zm4.002 5.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.564 8.27 14 11.708V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-.293l3.578-3.577 2.56 1.536 2.426-3.395z\"}}]})(props);\n};\nexport function BsFileImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.002 5.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM3 2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v8l-2.083-2.083a.5.5 0 0 0-.76.063L8 11 5.835 9.7a.5.5 0 0 0-.611.076L3 12V2z\"}}]})(props);\n};\nexport function BsFileLockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6a1 1 0 0 1 2 0v1H7V6zM6 8.3c0-.042.02-.107.105-.175A.637.637 0 0 1 6.5 8h3a.64.64 0 0 1 .395.125c.085.068.105.133.105.175v2.4c0 .042-.02.107-.105.175A.637.637 0 0 1 9.5 11h-3a.637.637 0 0 1-.395-.125C6.02 10.807 6 10.742 6 10.7V8.3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-2 6v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V8.3c0-.627.46-1.058 1-1.224V6a2 2 0 1 1 4 0z\"}}]})(props);\n};\nexport function BsFileLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5a1 1 0 0 1 1 1v1H7V6a1 1 0 0 1 1-1zm2 2.076V6a2 2 0 1 0-4 0v1.076c-.54.166-1 .597-1 1.224v2.4c0 .816.781 1.3 1.5 1.3h3c.719 0 1.5-.484 1.5-1.3V8.3c0-.627-.46-1.058-1-1.224zM6.105 8.125A.637.637 0 0 1 6.5 8h3a.64.64 0 0 1 .395.125c.085.068.105.133.105.175v2.4c0 .042-.02.107-.105.175A.637.637 0 0 1 9.5 11h-3a.637.637 0 0 1-.395-.125C6.02 10.807 6 10.742 6 10.7V8.3c0-.042.02-.107.105-.175z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileLock2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6a1 1 0 0 1 2 0v1H7V6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-2 6v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V8.3c0-.627.46-1.058 1-1.224V6a2 2 0 1 1 4 0z\"}}]})(props);\n};\nexport function BsFileLock2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5a1 1 0 0 1 1 1v1H7V6a1 1 0 0 1 1-1zm2 2.076V6a2 2 0 1 0-4 0v1.076c-.54.166-1 .597-1 1.224v2.4c0 .816.781 1.3 1.5 1.3h3c.719 0 1.5-.484 1.5-1.3V8.3c0-.627-.46-1.058-1-1.224z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileMedicalFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8.5 4.5v.634l.549-.317a.5.5 0 1 1 .5.866L9 6l.549.317a.5.5 0 1 1-.5.866L8.5 6.866V7.5a.5.5 0 0 1-1 0v-.634l-.549.317a.5.5 0 1 1-.5-.866L7 6l-.549-.317a.5.5 0 0 1 .5-.866l.549.317V4.5a.5.5 0 1 1 1 0zM5.5 9h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zm0 2h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFileMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 4.5a.5.5 0 0 0-1 0v.634l-.549-.317a.5.5 0 1 0-.5.866L7 6l-.549.317a.5.5 0 1 0 .5.866l.549-.317V7.5a.5.5 0 1 0 1 0v-.634l.549.317a.5.5 0 1 0 .5-.866L9 6l.549-.317a.5.5 0 1 0-.5-.866l-.549.317V4.5zM5.5 9a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 2a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFileMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM6 7.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFileMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 8a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileMusicFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-.5 4.11v1.8l-2.5.5v5.09c0 .495-.301.883-.662 1.123C7.974 12.866 7.499 13 7 13c-.5 0-.974-.134-1.338-.377-.36-.24-.662-.628-.662-1.123s.301-.883.662-1.123C6.026 10.134 6.501 10 7 10c.356 0 .7.068 1 .196V4.41a1 1 0 0 1 .804-.98l1.5-.3a1 1 0 0 1 1.196.98z\"}}]})(props);\n};\nexport function BsFileMusic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.304 3.13a1 1 0 0 1 1.196.98v1.8l-2.5.5v5.09c0 .495-.301.883-.662 1.123C7.974 12.866 7.499 13 7 13c-.5 0-.974-.134-1.338-.377-.36-.24-.662-.628-.662-1.123s.301-.883.662-1.123C6.026 10.134 6.501 10 7 10c.356 0 .7.068 1 .196V4.41a1 1 0 0 1 .804-.98l1.5-.3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFilePdfFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.523 10.424c.14-.082.293-.162.459-.238a7.878 7.878 0 0 1-.45.606c-.28.337-.498.516-.635.572a.266.266 0 0 1-.035.012.282.282 0 0 1-.026-.044c-.056-.11-.054-.216.04-.36.106-.165.319-.354.647-.548zm2.455-1.647c-.119.025-.237.05-.356.078a21.035 21.035 0 0 0 .5-1.05 11.96 11.96 0 0 0 .51.858c-.217.032-.436.07-.654.114zm2.525.939a3.888 3.888 0 0 1-.435-.41c.228.005.434.022.612.054.317.057.466.147.518.209a.095.095 0 0 1 .026.064.436.436 0 0 1-.06.2.307.307 0 0 1-.094.124.107.107 0 0 1-.069.015c-.09-.003-.258-.066-.498-.256zM8.278 4.97c-.04.244-.108.524-.2.829a4.86 4.86 0 0 1-.089-.346c-.076-.353-.087-.63-.046-.822.038-.177.11-.248.196-.283a.517.517 0 0 1 .145-.04c.013.03.028.092.032.198.005.122-.007.277-.038.465z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm.165 11.668c.09.18.23.343.438.419.207.075.412.04.58-.03.318-.13.635-.436.926-.786.333-.401.683-.927 1.021-1.51a11.64 11.64 0 0 1 1.997-.406c.3.383.61.713.91.95.28.22.603.403.934.417a.856.856 0 0 0 .51-.138c.155-.101.27-.247.354-.416.09-.181.145-.37.138-.563a.844.844 0 0 0-.2-.518c-.226-.27-.596-.4-.96-.465a5.76 5.76 0 0 0-1.335-.05 10.954 10.954 0 0 1-.98-1.686c.25-.66.437-1.284.52-1.794.036-.218.055-.426.048-.614a1.238 1.238 0 0 0-.127-.538.7.7 0 0 0-.477-.365c-.202-.043-.41 0-.601.077-.377.15-.576.47-.651.823-.073.34-.04.736.046 1.136.088.406.238.848.43 1.295a19.707 19.707 0 0 1-1.062 2.227 7.662 7.662 0 0 0-1.482.645c-.37.22-.699.48-.897.787-.21.326-.275.714-.08 1.103z\"}}]})(props);\n};\nexport function BsFilePdf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.603 12.087a.81.81 0 0 1-.438-.42c-.195-.388-.13-.776.08-1.102.198-.307.526-.568.897-.787a7.68 7.68 0 0 1 1.482-.645 19.701 19.701 0 0 0 1.062-2.227 7.269 7.269 0 0 1-.43-1.295c-.086-.4-.119-.796-.046-1.136.075-.354.274-.672.65-.823.192-.077.4-.12.602-.077a.7.7 0 0 1 .477.365c.088.164.12.356.127.538.007.187-.012.395-.047.614-.084.51-.27 1.134-.52 1.794a10.954 10.954 0 0 0 .98 1.686 5.753 5.753 0 0 1 1.334.05c.364.065.734.195.96.465.12.144.193.32.2.518.007.192-.047.382-.138.563a1.04 1.04 0 0 1-.354.416.856.856 0 0 1-.51.138c-.331-.014-.654-.196-.933-.417a5.716 5.716 0 0 1-.911-.95 11.642 11.642 0 0 0-1.997.406 11.311 11.311 0 0 1-1.021 1.51c-.29.35-.608.655-.926.787a.793.793 0 0 1-.58.029zm1.379-1.901c-.166.076-.32.156-.459.238-.328.194-.541.383-.647.547-.094.145-.096.25-.04.361.01.022.02.036.026.044a.27.27 0 0 0 .035-.012c.137-.056.355-.235.635-.572a8.18 8.18 0 0 0 .45-.606zm1.64-1.33a12.647 12.647 0 0 1 1.01-.193 11.666 11.666 0 0 1-.51-.858 20.741 20.741 0 0 1-.5 1.05zm2.446.45c.15.162.296.3.435.41.24.19.407.253.498.256a.107.107 0 0 0 .07-.015.307.307 0 0 0 .094-.125.436.436 0 0 0 .059-.2.095.095 0 0 0-.026-.063c-.052-.062-.2-.152-.518-.209a3.881 3.881 0 0 0-.612-.053zM8.078 5.8a6.7 6.7 0 0 0 .2-.828c.031-.188.043-.343.038-.465a.613.613 0 0 0-.032-.198.517.517 0 0 0-.145.04c-.087.035-.158.106-.196.283-.04.192-.03.469.046.822.024.111.054.227.09.346z\"}}]})(props);\n};\nexport function BsFilePersonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-1 7a3 3 0 1 1-6 0 3 3 0 0 1 6 0zm-3 4c2.623 0 4.146.826 5 1.755V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-1.245C3.854 11.825 5.377 11 8 11z\"}}]})(props);\n};\nexport function BsFilePerson (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a1 1 0 0 1 1 1v10.755S12 11 8 11s-5 1.755-5 1.755V2a1 1 0 0 1 1-1h8zM4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 10a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsFilePlayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM6 5.883a.5.5 0 0 1 .757-.429l3.528 2.117a.5.5 0 0 1 0 .858l-3.528 2.117a.5.5 0 0 1-.757-.43V5.884z\"}}]})(props);\n};\nexport function BsFilePlay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 10.117V5.883a.5.5 0 0 1 .757-.429l3.528 2.117a.5.5 0 0 1 0 .858l-3.528 2.117a.5.5 0 0 1-.757-.43z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFilePlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8.5 6v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFilePlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 6a.5.5 0 0 0-1 0v1.5H6a.5.5 0 0 0 0 1h1.5V10a.5.5 0 0 0 1 0V8.5H10a.5.5 0 0 0 0-1H8.5V6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFilePostFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM4.5 3h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zm0 2h7a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFilePost (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFilePptFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.188 8.5H7V5h1.188a1.75 1.75 0 1 1 0 3.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm3 4a1 1 0 0 0-1 1v6.5a.5.5 0 0 0 1 0v-2h1.188a2.75 2.75 0 0 0 0-5.5H7z\"}}]})(props);\n};\nexport function BsFilePpt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 5a1 1 0 0 1 1-1h1.188a2.75 2.75 0 0 1 0 5.5H7v2a.5.5 0 0 1-1 0V5zm1 3.5h1.188a1.75 1.75 0 1 0 0-3.5H7v3.5z\"}}]})(props);\n};\nexport function BsFileRichtextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM7 4.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.861 1.542 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047l1.888.974V7.5a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V7s1.54-1.274 1.639-1.208zM5 9h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1zm0 2h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFileRichtext (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 4.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.861 1.542 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047l1.888.974V7.5a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V7s1.54-1.274 1.639-1.208zM5 9a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1H5zm0 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1H5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFileRuledFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v4h12V2a2 2 0 0 0-2-2zm2 7H6v2h8V7zm0 3H6v2h8v-2zm0 3H6v3h6a2 2 0 0 0 2-2v-1zm-9 3v-3H2v1a2 2 0 0 0 2 2h1zm-3-4h3v-2H2v2zm0-3h3V7H2v2z\"}}]})(props);\n};\nexport function BsFileRuled (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm2-1a1 1 0 0 0-1 1v4h10V2a1 1 0 0 0-1-1H4zm9 6H6v2h7V7zm0 3H6v2h7v-2zm0 3H6v2h6a1 1 0 0 0 1-1v-1zm-8 2v-2H3v1a1 1 0 0 0 1 1h1zm-2-3h2v-2H3v2zm0-3h2V7H3v2z\"}}]})(props);\n};\nexport function BsFileSlidesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7.78V5.22c0-.096.106-.156.19-.106l2.13 1.279a.125.125 0 0 1 0 .214l-2.13 1.28A.125.125 0 0 1 7 7.778z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5 4h6a.5.5 0 0 1 .496.438l.5 4A.5.5 0 0 1 11.5 9h-3v2.016c.863.055 1.5.251 1.5.484 0 .276-.895.5-2 .5s-2-.224-2-.5c0-.233.637-.429 1.5-.484V9h-3a.5.5 0 0 1-.496-.562l.5-4A.5.5 0 0 1 5 4z\"}}]})(props);\n};\nexport function BsFileSlides (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 4a.5.5 0 0 0-.496.438l-.5 4A.5.5 0 0 0 4.5 9h3v2.016c-.863.055-1.5.251-1.5.484 0 .276.895.5 2 .5s2-.224 2-.5c0-.233-.637-.429-1.5-.484V9h3a.5.5 0 0 0 .496-.562l-.5-4A.5.5 0 0 0 11 4H5zm2 3.78V5.22c0-.096.106-.156.19-.106l2.13 1.279a.125.125 0 0 1 0 .214l-2.13 1.28A.125.125 0 0 1 7 7.778z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFileSpreadsheetFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v4h12V2a2 2 0 0 0-2-2zm2 7h-4v2h4V7zm0 3h-4v2h4v-2zm0 3h-4v3h2a2 2 0 0 0 2-2v-1zm-5 3v-3H6v3h3zm-4 0v-3H2v1a2 2 0 0 0 2 2h1zm-3-4h3v-2H2v2zm0-3h3V7H2v2zm4 0V7h3v2H6zm0 1h3v2H6v-2z\"}}]})(props);\n};\nexport function BsFileSpreadsheet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm2-1a1 1 0 0 0-1 1v4h10V2a1 1 0 0 0-1-1H4zm9 6h-3v2h3V7zm0 3h-3v2h3v-2zm0 3h-3v2h2a1 1 0 0 0 1-1v-1zm-4 2v-2H6v2h3zm-4 0v-2H3v1a1 1 0 0 0 1 1h1zm-2-3h2v-2H3v2zm0-3h2V7H3v2zm3-2v2h3V7H6zm3 3H6v2h3v-2z\"}}]})(props);\n};\nexport function BsFileTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5 4h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1zm-.5 2.5A.5.5 0 0 1 5 6h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zM5 8h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1zm0 2h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFileText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 4a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1H5zm-.5 2.5A.5.5 0 0 1 5 6h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zM5 8a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1H5zm0 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1H5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFileWordFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5.485 4.879l1.036 4.144.997-3.655a.5.5 0 0 1 .964 0l.997 3.655 1.036-4.144a.5.5 0 0 1 .97.242l-1.5 6a.5.5 0 0 1-.967.01L8 7.402l-1.018 3.73a.5.5 0 0 1-.967-.01l-1.5-6a.5.5 0 1 1 .97-.242z\"}}]})(props);\n};\nexport function BsFileWord (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.879 4.515a.5.5 0 0 1 .606.364l1.036 4.144.997-3.655a.5.5 0 0 1 .964 0l.997 3.655 1.036-4.144a.5.5 0 0 1 .97.242l-1.5 6a.5.5 0 0 1-.967.01L8 7.402l-1.018 3.73a.5.5 0 0 1-.967-.01l-1.5-6a.5.5 0 0 1 .364-.606z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM6.854 6.146 8 7.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 8l1.147 1.146a.5.5 0 0 1-.708.708L8 8.707 6.854 9.854a.5.5 0 0 1-.708-.708L7.293 8 6.146 6.854a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFileX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.146 6.146a.5.5 0 0 1 .708 0L8 7.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 8l1.147 1.146a.5.5 0 0 1-.708.708L8 8.707 6.854 9.854a.5.5 0 0 1-.708-.708L7.293 8 6.146 6.854a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileZipFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 9.438V8.5h-1v.938a1 1 0 0 1-.03.243l-.4 1.598.93.62.93-.62-.4-1.598a1 1 0 0 1-.03-.243z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm2.5 8.5v.938l-.4 1.599a1 1 0 0 0 .416 1.074l.93.62a1 1 0 0 0 1.109 0l.93-.62a1 1 0 0 0 .415-1.074l-.4-1.599V8.5a1 1 0 0 0-1-1h-1a1 1 0 0 0-1 1zm1-5.5h-1v1h1v1h-1v1h1v1H9V6H8V5h1V4H8V3h1V2H8V1H6.5v1h1v1z\"}}]})(props);\n};\nexport function BsFileZip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 7.5a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v.938l.4 1.599a1 1 0 0 1-.416 1.074l-.93.62a1 1 0 0 1-1.109 0l-.93-.62a1 1 0 0 1-.415-1.074l.4-1.599V7.5zm2 0h-1v.938a1 1 0 0 1-.03.243l-.4 1.598.93.62.93-.62-.4-1.598a1 1 0 0 1-.03-.243V7.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm5.5-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H9v1H8v1h1v1H8v1h1v1H7.5V5h-1V4h1V3h-1V2h1V1z\"}}]})(props);\n};\nexport function BsFile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFilesAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 0H3a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2 2 2 0 0 0 2-2V4a2 2 0 0 0-2-2 2 2 0 0 0-2-2zm2 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1V3zM2 2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V2z\"}}]})(props);\n};\nexport function BsFiles (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 0H6a2 2 0 0 0-2 2 2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h7a2 2 0 0 0 2-2 2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm0 13V4a2 2 0 0 0-2-2H5a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1zM3 4a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4z\"}}]})(props);\n};\nexport function BsFilm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1zm4 0v6h8V1H4zm8 8H4v6h8V9zM1 1v2h2V1H1zm2 3H1v2h2V4zM1 7v2h2V7H1zm2 3H1v2h2v-2zm-2 3v2h2v-2H1zM15 1h-2v2h2V1zm-2 3v2h2V4h-2zm2 3h-2v2h2V7zm-2 3v2h2v-2h-2zm2 3h-2v2h2v-2z\"}}]})(props);\n};\nexport function BsFilterCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM3.5 5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1zM5 8.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm2 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFilterCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 11.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFilterLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 10.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFilterRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 .5-.5zm0-3a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0 0 1h7a.5.5 0 0 0 .5-.5zm0-3a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0 0 1h11a.5.5 0 0 0 .5-.5z\"}}]})(props);\n};\nexport function BsFilterSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm.5 5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1 0-1zM4 8.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm2 3a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFilterSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 11.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFilter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 10.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFlagFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.778.085A.5.5 0 0 1 15 .5V8a.5.5 0 0 1-.314.464L14.5 8l.186.464-.003.001-.006.003-.023.009a12.435 12.435 0 0 1-.397.15c-.264.095-.631.223-1.047.35-.816.252-1.879.523-2.71.523-.847 0-1.548-.28-2.158-.525l-.028-.01C7.68 8.71 7.14 8.5 6.5 8.5c-.7 0-1.638.23-2.437.477A19.626 19.626 0 0 0 3 9.342V15.5a.5.5 0 0 1-1 0V.5a.5.5 0 0 1 1 0v.282c.226-.079.496-.17.79-.26C4.606.272 5.67 0 6.5 0c.84 0 1.524.277 2.121.519l.043.018C9.286.788 9.828 1 10.5 1c.7 0 1.638-.23 2.437-.477a19.587 19.587 0 0 0 1.349-.476l.019-.007.004-.002h.001\"}}]})(props);\n};\nexport function BsFlag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.778.085A.5.5 0 0 1 15 .5V8a.5.5 0 0 1-.314.464L14.5 8l.186.464-.003.001-.006.003-.023.009a12.435 12.435 0 0 1-.397.15c-.264.095-.631.223-1.047.35-.816.252-1.879.523-2.71.523-.847 0-1.548-.28-2.158-.525l-.028-.01C7.68 8.71 7.14 8.5 6.5 8.5c-.7 0-1.638.23-2.437.477A19.626 19.626 0 0 0 3 9.342V15.5a.5.5 0 0 1-1 0V.5a.5.5 0 0 1 1 0v.282c.226-.079.496-.17.79-.26C4.606.272 5.67 0 6.5 0c.84 0 1.524.277 2.121.519l.043.018C9.286.788 9.828 1 10.5 1c.7 0 1.638-.23 2.437-.477a19.587 19.587 0 0 0 1.349-.476l.019-.007.004-.002h.001M14 1.221c-.22.078-.48.167-.766.255-.81.252-1.872.523-2.734.523-.886 0-1.592-.286-2.203-.534l-.008-.003C7.662 1.21 7.139 1 6.5 1c-.669 0-1.606.229-2.415.478A21.294 21.294 0 0 0 3 1.845v6.433c.22-.078.48-.167.766-.255C4.576 7.77 5.638 7.5 6.5 7.5c.847 0 1.548.28 2.158.525l.028.01C9.32 8.29 9.86 8.5 10.5 8.5c.668 0 1.606-.229 2.415-.478A21.317 21.317 0 0 0 14 7.655V1.222z\"}}]})(props);\n};\nexport function BsFlower1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.174 1.184a2 2 0 0 1 3.652 0A2 2 0 0 1 12.99 3.01a2 2 0 0 1 1.826 3.164 2 2 0 0 1 0 3.652 2 2 0 0 1-1.826 3.164 2 2 0 0 1-3.164 1.826 2 2 0 0 1-3.652 0A2 2 0 0 1 3.01 12.99a2 2 0 0 1-1.826-3.164 2 2 0 0 1 0-3.652A2 2 0 0 1 3.01 3.01a2 2 0 0 1 3.164-1.826zM8 1a1 1 0 0 0-.998 1.03l.01.091c.012.077.029.176.054.296.049.241.122.542.213.887.182.688.428 1.513.676 2.314L8 5.762l.045-.144c.248-.8.494-1.626.676-2.314.091-.345.164-.646.213-.887a4.997 4.997 0 0 0 .064-.386L9 2a1 1 0 0 0-1-1zM2 9l.03-.002.091-.01a4.99 4.99 0 0 0 .296-.054c.241-.049.542-.122.887-.213a60.59 60.59 0 0 0 2.314-.676L5.762 8l-.144-.045a60.59 60.59 0 0 0-2.314-.676 16.705 16.705 0 0 0-.887-.213 4.99 4.99 0 0 0-.386-.064L2 7a1 1 0 1 0 0 2zm7 5-.002-.03a5.005 5.005 0 0 0-.064-.386 16.398 16.398 0 0 0-.213-.888 60.582 60.582 0 0 0-.676-2.314L8 10.238l-.045.144c-.248.8-.494 1.626-.676 2.314-.091.345-.164.646-.213.887a4.996 4.996 0 0 0-.064.386L7 14a1 1 0 1 0 2 0zm-5.696-2.134.025-.017a5.001 5.001 0 0 0 .303-.248c.184-.164.408-.377.661-.629A60.614 60.614 0 0 0 5.96 9.23l.103-.111-.147.033a60.88 60.88 0 0 0-2.343.572c-.344.093-.64.18-.874.258a5.063 5.063 0 0 0-.367.138l-.027.014a1 1 0 1 0 1 1.732zM4.5 14.062a1 1 0 0 0 1.366-.366l.014-.027c.01-.02.021-.048.036-.084a5.09 5.09 0 0 0 .102-.283c.078-.233.165-.53.258-.874a60.6 60.6 0 0 0 .572-2.343l.033-.147-.11.102a60.848 60.848 0 0 0-1.743 1.667 17.07 17.07 0 0 0-.629.66 5.06 5.06 0 0 0-.248.304l-.017.025a1 1 0 0 0 .366 1.366zm9.196-8.196a1 1 0 0 0-1-1.732l-.025.017a4.951 4.951 0 0 0-.303.248 16.69 16.69 0 0 0-.661.629A60.72 60.72 0 0 0 10.04 6.77l-.102.111.147-.033a60.6 60.6 0 0 0 2.342-.572c.345-.093.642-.18.875-.258a4.993 4.993 0 0 0 .367-.138.53.53 0 0 0 .027-.014zM11.5 1.938a1 1 0 0 0-1.366.366l-.014.027c-.01.02-.021.048-.036.084a5.09 5.09 0 0 0-.102.283c-.078.233-.165.53-.258.875a60.62 60.62 0 0 0-.572 2.342l-.033.147.11-.102a60.848 60.848 0 0 0 1.743-1.667c.252-.253.465-.477.629-.66a5.001 5.001 0 0 0 .248-.304l.017-.025a1 1 0 0 0-.366-1.366zM14 9a1 1 0 0 0 0-2l-.03.002a4.996 4.996 0 0 0-.386.064c-.242.049-.543.122-.888.213-.688.182-1.513.428-2.314.676L10.238 8l.144.045c.8.248 1.626.494 2.314.676.345.091.646.164.887.213a4.996 4.996 0 0 0 .386.064L14 9zM1.938 4.5a1 1 0 0 0 .393 1.38l.084.035c.072.03.166.064.283.103.233.078.53.165.874.258a60.88 60.88 0 0 0 2.343.572l.147.033-.103-.111a60.584 60.584 0 0 0-1.666-1.742 16.705 16.705 0 0 0-.66-.629 4.996 4.996 0 0 0-.304-.248l-.025-.017a1 1 0 0 0-1.366.366zm2.196-1.196.017.025a4.996 4.996 0 0 0 .248.303c.164.184.377.408.629.661A60.597 60.597 0 0 0 6.77 5.96l.111.102-.033-.147a60.602 60.602 0 0 0-.572-2.342c-.093-.345-.18-.642-.258-.875a5.006 5.006 0 0 0-.138-.367l-.014-.027a1 1 0 1 0-1.732 1zm9.928 8.196a1 1 0 0 0-.366-1.366l-.027-.014a5 5 0 0 0-.367-.138c-.233-.078-.53-.165-.875-.258a60.619 60.619 0 0 0-2.342-.572l-.147-.033.102.111a60.73 60.73 0 0 0 1.667 1.742c.253.252.477.465.66.629a4.946 4.946 0 0 0 .304.248l.025.017a1 1 0 0 0 1.366-.366zm-3.928 2.196a1 1 0 0 0 1.732-1l-.017-.025a5.065 5.065 0 0 0-.248-.303 16.705 16.705 0 0 0-.629-.661A60.462 60.462 0 0 0 9.23 10.04l-.111-.102.033.147a60.6 60.6 0 0 0 .572 2.342c.093.345.18.642.258.875a4.985 4.985 0 0 0 .138.367.575.575 0 0 0 .014.027zM8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]})(props);\n};\nexport function BsFlower2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16a4 4 0 0 0 4-4 4 4 0 0 0 0-8 4 4 0 0 0-8 0 4 4 0 1 0 0 8 4 4 0 0 0 4 4zm3-12c0 .073-.01.155-.03.247-.544.241-1.091.638-1.598 1.084A2.987 2.987 0 0 0 8 5c-.494 0-.96.12-1.372.331-.507-.446-1.054-.843-1.597-1.084A1.117 1.117 0 0 1 5 4a3 3 0 0 1 6 0zm-.812 6.052A2.99 2.99 0 0 0 11 8a2.99 2.99 0 0 0-.812-2.052c.215-.18.432-.346.647-.487C11.34 5.131 11.732 5 12 5a3 3 0 1 1 0 6c-.268 0-.66-.13-1.165-.461a6.833 6.833 0 0 1-.647-.487zm-3.56.617a3.001 3.001 0 0 0 2.744 0c.507.446 1.054.842 1.598 1.084.02.091.03.174.03.247a3 3 0 1 1-6 0c0-.073.01-.155.03-.247.544-.242 1.091-.638 1.598-1.084zm-.816-4.721A2.99 2.99 0 0 0 5 8c0 .794.308 1.516.812 2.052a6.83 6.83 0 0 1-.647.487C4.66 10.869 4.268 11 4 11a3 3 0 0 1 0-6c.268 0 .66.13 1.165.461.215.141.432.306.647.487zM8 9a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BsFlower3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.424 8c.437-.052.811-.136 1.04-.268a2 2 0 0 0-2-3.464c-.229.132-.489.414-.752.767C9.886 4.63 10 4.264 10 4a2 2 0 1 0-4 0c0 .264.114.63.288 1.035-.263-.353-.523-.635-.752-.767a2 2 0 0 0-2 3.464c.229.132.603.216 1.04.268-.437.052-.811.136-1.04.268a2 2 0 1 0 2 3.464c.229-.132.489-.414.752-.767C6.114 11.37 6 11.736 6 12a2 2 0 1 0 4 0c0-.264-.114-.63-.288-1.035.263.353.523.635.752.767a2 2 0 1 0 2-3.464c-.229-.132-.603-.216-1.04-.268zM9 4a1.468 1.468 0 0 1-.045.205c-.039.132-.1.295-.183.484a12.88 12.88 0 0 1-.637 1.223L8 6.142a21.73 21.73 0 0 1-.135-.23 12.88 12.88 0 0 1-.637-1.223 4.216 4.216 0 0 1-.183-.484A1.473 1.473 0 0 1 7 4a1 1 0 1 1 2 0zM3.67 5.5a1 1 0 0 1 1.366-.366 1.472 1.472 0 0 1 .156.142c.094.1.204.233.326.4.245.333.502.747.742 1.163l.13.232a21.86 21.86 0 0 1-.265.002 12.88 12.88 0 0 1-1.379-.06 4.214 4.214 0 0 1-.51-.083 1.47 1.47 0 0 1-.2-.064A1 1 0 0 1 3.67 5.5zm1.366 5.366a1 1 0 0 1-1-1.732c.001 0 .016-.008.047-.02.037-.013.087-.028.153-.044.134-.032.305-.06.51-.083a12.88 12.88 0 0 1 1.379-.06c.09 0 .178 0 .266.002a21.82 21.82 0 0 1-.131.232c-.24.416-.497.83-.742 1.163a4.1 4.1 0 0 1-.327.4 1.483 1.483 0 0 1-.155.142zM9 12a1 1 0 0 1-2 0 1.476 1.476 0 0 1 .045-.206c.039-.131.1-.294.183-.483.166-.378.396-.808.637-1.223L8 9.858l.135.23c.241.415.47.845.637 1.223.083.19.144.352.183.484A1.338 1.338 0 0 1 9 12zm3.33-6.5a1 1 0 0 1-.366 1.366 1.478 1.478 0 0 1-.2.064c-.134.032-.305.06-.51.083-.412.045-.898.061-1.379.06-.09 0-.178 0-.266-.002l.131-.232c.24-.416.497-.83.742-1.163a4.1 4.1 0 0 1 .327-.4c.046-.05.085-.086.114-.11.026-.022.04-.03.041-.032a1 1 0 0 1 1.366.366zm-1.366 5.366a1.494 1.494 0 0 1-.155-.141 4.225 4.225 0 0 1-.327-.4A12.88 12.88 0 0 1 9.74 9.16a22 22 0 0 1-.13-.232l.265-.002c.48-.001.967.015 1.379.06.205.023.376.051.51.083.066.016.116.031.153.044l.048.02a1 1 0 1 1-1 1.732zM8 9a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BsFolderCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m.5 3 .04.87a1.99 1.99 0 0 0-.342 1.311l.637 7A2 2 0 0 0 2.826 14H9v-1H2.826a1 1 0 0 1-.995-.91l-.637-7A1 1 0 0 1 2.19 4h11.62a1 1 0 0 1 .996 1.09L14.54 8h1.005l.256-2.819A2 2 0 0 0 13.81 3H9.828a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 6.172 1H2.5a2 2 0 0 0-2 2zm5.672-1a1 1 0 0 1 .707.293L7.586 3H2.19c-.24 0-.47.042-.683.12L1.5 2.98a1 1 0 0 1 1-.98h3.672z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.854 10.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.707 0l-1.5-1.5a.5.5 0 0 1 .707-.708l1.146 1.147 2.646-2.647a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsFolderFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.828 3h3.982a2 2 0 0 1 1.992 2.181l-.637 7A2 2 0 0 1 13.174 14H2.825a2 2 0 0 1-1.991-1.819l-.637-7a1.99 1.99 0 0 1 .342-1.31L.5 3a2 2 0 0 1 2-2h3.672a2 2 0 0 1 1.414.586l.828.828A2 2 0 0 0 9.828 3zm-8.322.12C1.72 3.042 1.95 3 2.19 3h5.396l-.707-.707A1 1 0 0 0 6.172 2H2.5a1 1 0 0 0-1 .981l.006.139z\"}}]})(props);\n};\nexport function BsFolderMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m.5 3 .04.87a1.99 1.99 0 0 0-.342 1.311l.637 7A2 2 0 0 0 2.826 14H9v-1H2.826a1 1 0 0 1-.995-.91l-.637-7A1 1 0 0 1 2.19 4h11.62a1 1 0 0 1 .996 1.09L14.54 8h1.005l.256-2.819A2 2 0 0 0 13.81 3H9.828a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 6.172 1H2.5a2 2 0 0 0-2 2zm5.672-1a1 1 0 0 1 .707.293L7.586 3H2.19c-.24 0-.47.042-.683.12L1.5 2.98a1 1 0 0 1 1-.98h3.672z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 11.5a.5.5 0 0 1 .5-.5h4a.5.5 0 1 1 0 1h-4a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFolderPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m.5 3 .04.87a1.99 1.99 0 0 0-.342 1.311l.637 7A2 2 0 0 0 2.826 14H9v-1H2.826a1 1 0 0 1-.995-.91l-.637-7A1 1 0 0 1 2.19 4h11.62a1 1 0 0 1 .996 1.09L14.54 8h1.005l.256-2.819A2 2 0 0 0 13.81 3H9.828a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 6.172 1H2.5a2 2 0 0 0-2 2zm5.672-1a1 1 0 0 1 .707.293L7.586 3H2.19c-.24 0-.47.042-.683.12L1.5 2.98a1 1 0 0 1 1-.98h3.672z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 10a.5.5 0 0 1 .5.5V12h1.5a.5.5 0 1 1 0 1H14v1.5a.5.5 0 1 1-1 0V13h-1.5a.5.5 0 0 1 0-1H13v-1.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFolderSymlinkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.81 3H9.828a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 6.172 1H2.5a2 2 0 0 0-2 2l.04.87a1.99 1.99 0 0 0-.342 1.311l.637 7A2 2 0 0 0 2.826 14h10.348a2 2 0 0 0 1.991-1.819l.637-7A2 2 0 0 0 13.81 3zM2.19 3c-.24 0-.47.042-.683.12L1.5 2.98a1 1 0 0 1 1-.98h3.672a1 1 0 0 1 .707.293L7.586 3H2.19zm9.608 5.271-3.182 1.97c-.27.166-.616-.036-.616-.372V9.1s-2.571-.3-4 2.4c.571-4.8 3.143-4.8 4-4.8v-.769c0-.336.346-.538.616-.371l3.182 1.969c.27.166.27.576 0 .742z\"}}]})(props);\n};\nexport function BsFolderSymlink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11.798 8.271-3.182 1.97c-.27.166-.616-.036-.616-.372V9.1s-2.571-.3-4 2.4c.571-4.8 3.143-4.8 4-4.8v-.769c0-.336.346-.538.616-.371l3.182 1.969c.27.166.27.576 0 .742z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m.5 3 .04.87a1.99 1.99 0 0 0-.342 1.311l.637 7A2 2 0 0 0 2.826 14h10.348a2 2 0 0 0 1.991-1.819l.637-7A2 2 0 0 0 13.81 3H9.828a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 6.172 1H2.5a2 2 0 0 0-2 2zm.694 2.09A1 1 0 0 1 2.19 4h11.62a1 1 0 0 1 .996 1.09l-.636 7a1 1 0 0 1-.996.91H2.826a1 1 0 0 1-.995-.91l-.637-7zM6.172 2a1 1 0 0 1 .707.293L7.586 3H2.19c-.24 0-.47.042-.683.12L1.5 2.98a1 1 0 0 1 1-.98h3.672z\"}}]})(props);\n};\nexport function BsFolderX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.54 3.87.5 3a2 2 0 0 1 2-2h3.672a2 2 0 0 1 1.414.586l.828.828A2 2 0 0 0 9.828 3h3.982a2 2 0 0 1 1.992 2.181L15.546 8H14.54l.265-2.91A1 1 0 0 0 13.81 4H2.19a1 1 0 0 0-.996 1.09l.637 7a1 1 0 0 0 .995.91H9v1H2.826a2 2 0 0 1-1.991-1.819l-.637-7a1.99 1.99 0 0 1 .342-1.31zm6.339-1.577A1 1 0 0 0 6.172 2H2.5a1 1 0 0 0-1 .981l.006.139C1.72 3.042 1.95 3 2.19 3h5.396l-.707-.707z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.854 10.146a.5.5 0 0 0-.707.708L12.293 12l-1.146 1.146a.5.5 0 0 0 .707.708L13 12.707l1.146 1.147a.5.5 0 0 0 .708-.708L13.707 12l1.147-1.146a.5.5 0 0 0-.707-.708L13 11.293l-1.146-1.147z\"}}]})(props);\n};\nexport function BsFolder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.54 3.87.5 3a2 2 0 0 1 2-2h3.672a2 2 0 0 1 1.414.586l.828.828A2 2 0 0 0 9.828 3h3.982a2 2 0 0 1 1.992 2.181l-.637 7A2 2 0 0 1 13.174 14H2.826a2 2 0 0 1-1.991-1.819l-.637-7a1.99 1.99 0 0 1 .342-1.31zM2.19 4a1 1 0 0 0-.996 1.09l.637 7a1 1 0 0 0 .995.91h10.348a1 1 0 0 0 .995-.91l.637-7A1 1 0 0 0 13.81 4H2.19zm4.69-1.707A1 1 0 0 0 6.172 2H2.5a1 1 0 0 0-1 .981l.006.139C1.72 3.042 1.95 3 2.19 3h5.396l-.707-.707z\"}}]})(props);\n};\nexport function BsFolder2Open (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 3.5A1.5 1.5 0 0 1 2.5 2h2.764c.958 0 1.76.56 2.311 1.184C7.985 3.648 8.48 4 9 4h4.5A1.5 1.5 0 0 1 15 5.5v.64c.57.265.94.876.856 1.546l-.64 5.124A2.5 2.5 0 0 1 12.733 15H3.266a2.5 2.5 0 0 1-2.481-2.19l-.64-5.124A1.5 1.5 0 0 1 1 6.14V3.5zM2 6h12v-.5a.5.5 0 0 0-.5-.5H9c-.964 0-1.71-.629-2.174-1.154C6.374 3.334 5.82 3 5.264 3H2.5a.5.5 0 0 0-.5.5V6zm-.367 1a.5.5 0 0 0-.496.562l.64 5.124A1.5 1.5 0 0 0 3.266 14h9.468a1.5 1.5 0 0 0 1.489-1.314l.64-5.124A.5.5 0 0 0 14.367 7H1.633z\"}}]})(props);\n};\nexport function BsFolder2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 3.5A1.5 1.5 0 0 1 2.5 2h2.764c.958 0 1.76.56 2.311 1.184C7.985 3.648 8.48 4 9 4h4.5A1.5 1.5 0 0 1 15 5.5v7a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 12.5v-9zM2.5 3a.5.5 0 0 0-.5.5V6h12v-.5a.5.5 0 0 0-.5-.5H9c-.964 0-1.71-.629-2.174-1.154C6.374 3.334 5.82 3 5.264 3H2.5zM14 7H2v5.5a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V7z\"}}]})(props);\n};\nexport function BsFonts (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.258 3h-8.51l-.083 2.46h.479c.26-1.544.758-1.783 2.693-1.845l.424-.013v7.827c0 .663-.144.82-1.3.923v.52h4.082v-.52c-1.162-.103-1.306-.26-1.306-.923V3.602l.431.013c1.934.062 2.434.301 2.693 1.846h.479L12.258 3z\"}}]})(props);\n};\nexport function BsForwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9.77 12.11 4.012-2.953a.647.647 0 0 0 0-1.114L9.771 5.09a.644.644 0 0 0-.971.557V6.65H2v3.9h6.8v1.003c0 .505.545.808.97.557z\"}}]})(props);\n};\nexport function BsForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.502 5.513a.144.144 0 0 0-.202.134V6.65a.5.5 0 0 1-.5.5H2.5v2.9h6.3a.5.5 0 0 1 .5.5v1.003c0 .108.11.176.202.134l3.984-2.933a.51.51 0 0 1 .042-.028.147.147 0 0 0 0-.252.51.51 0 0 1-.042-.028L9.502 5.513zM8.3 5.647a1.144 1.144 0 0 1 1.767-.96l3.994 2.94a1.147 1.147 0 0 1 0 1.946l-3.994 2.94a1.144 1.144 0 0 1-1.767-.96v-.503H2a.5.5 0 0 1-.5-.5v-3.9a.5.5 0 0 1 .5-.5h6.3v-.503z\"}}]})(props);\n};\nexport function BsFront (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2H2a2 2 0 0 1-2-2V2zm5 10v2a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2v5a2 2 0 0 1-2 2H5z\"}}]})(props);\n};\nexport function BsFullscreenExit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 0a.5.5 0 0 1 .5.5v4A1.5 1.5 0 0 1 4.5 6h-4a.5.5 0 0 1 0-1h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 1 .5-.5zm5 0a.5.5 0 0 1 .5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 1 10 4.5v-4a.5.5 0 0 1 .5-.5zM0 10.5a.5.5 0 0 1 .5-.5h4A1.5 1.5 0 0 1 6 11.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 1-.5-.5zm10 1a1.5 1.5 0 0 1 1.5-1.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 0-.5.5v4a.5.5 0 0 1-1 0v-4z\"}}]})(props);\n};\nexport function BsFullscreen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 1a.5.5 0 0 0-.5.5v4a.5.5 0 0 1-1 0v-4A1.5 1.5 0 0 1 1.5 0h4a.5.5 0 0 1 0 1h-4zM10 .5a.5.5 0 0 1 .5-.5h4A1.5 1.5 0 0 1 16 1.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 1-.5-.5zM.5 10a.5.5 0 0 1 .5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 1 0 14.5v-4a.5.5 0 0 1 .5-.5zm15 0a.5.5 0 0 1 .5.5v4a1.5 1.5 0 0 1-1.5 1.5h-4a.5.5 0 0 1 0-1h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFunnelFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 1.5A.5.5 0 0 1 2 1h12a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.128.334L10 8.692V13.5a.5.5 0 0 1-.342.474l-3 1A.5.5 0 0 1 6 14.5V8.692L1.628 3.834A.5.5 0 0 1 1.5 3.5v-2z\"}}]})(props);\n};\nexport function BsFunnel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 1.5A.5.5 0 0 1 2 1h12a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.128.334L10 8.692V13.5a.5.5 0 0 1-.342.474l-3 1A.5.5 0 0 1 6 14.5V8.692L1.628 3.834A.5.5 0 0 1 1.5 3.5v-2zm1 .5v1.308l4.372 4.858A.5.5 0 0 1 7 8.5v5.306l2-.666V8.5a.5.5 0 0 1 .128-.334L13.5 3.308V2h-11z\"}}]})(props);\n};\nexport function BsGearFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.405 1.05c-.413-1.4-2.397-1.4-2.81 0l-.1.34a1.464 1.464 0 0 1-2.105.872l-.31-.17c-1.283-.698-2.686.705-1.987 1.987l.169.311c.446.82.023 1.841-.872 2.105l-.34.1c-1.4.413-1.4 2.397 0 2.81l.34.1a1.464 1.464 0 0 1 .872 2.105l-.17.31c-.698 1.283.705 2.686 1.987 1.987l.311-.169a1.464 1.464 0 0 1 2.105.872l.1.34c.413 1.4 2.397 1.4 2.81 0l.1-.34a1.464 1.464 0 0 1 2.105-.872l.31.17c1.283.698 2.686-.705 1.987-1.987l-.169-.311a1.464 1.464 0 0 1 .872-2.105l.34-.1c1.4-.413 1.4-2.397 0-2.81l-.34-.1a1.464 1.464 0 0 1-.872-2.105l.17-.31c.698-1.283-.705-2.686-1.987-1.987l-.311.169a1.464 1.464 0 0 1-2.105-.872l-.1-.34zM8 10.93a2.929 2.929 0 1 1 0-5.86 2.929 2.929 0 0 1 0 5.858z\"}}]})(props);\n};\nexport function BsGearWideConnected (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.068.727c.243-.97 1.62-.97 1.864 0l.071.286a.96.96 0 0 0 1.622.434l.205-.211c.695-.719 1.888-.03 1.613.931l-.08.284a.96.96 0 0 0 1.187 1.187l.283-.081c.96-.275 1.65.918.931 1.613l-.211.205a.96.96 0 0 0 .434 1.622l.286.071c.97.243.97 1.62 0 1.864l-.286.071a.96.96 0 0 0-.434 1.622l.211.205c.719.695.03 1.888-.931 1.613l-.284-.08a.96.96 0 0 0-1.187 1.187l.081.283c.275.96-.918 1.65-1.613.931l-.205-.211a.96.96 0 0 0-1.622.434l-.071.286c-.243.97-1.62.97-1.864 0l-.071-.286a.96.96 0 0 0-1.622-.434l-.205.211c-.695.719-1.888.03-1.613-.931l.08-.284a.96.96 0 0 0-1.186-1.187l-.284.081c-.96.275-1.65-.918-.931-1.613l.211-.205a.96.96 0 0 0-.434-1.622l-.286-.071c-.97-.243-.97-1.62 0-1.864l.286-.071a.96.96 0 0 0 .434-1.622l-.211-.205c-.719-.695-.03-1.888.931-1.613l.284.08a.96.96 0 0 0 1.187-1.186l-.081-.284c-.275-.96.918-1.65 1.613-.931l.205.211a.96.96 0 0 0 1.622-.434l.071-.286zM12.973 8.5H8.25l-2.834 3.779A4.998 4.998 0 0 0 12.973 8.5zm0-1a4.998 4.998 0 0 0-7.557-3.779l2.834 3.78h4.723zM5.048 3.967c-.03.021-.058.043-.087.065l.087-.065zm-.431.355A4.984 4.984 0 0 0 3.002 8c0 1.455.622 2.765 1.615 3.678L7.375 8 4.617 4.322zm.344 7.646.087.065-.087-.065z\"}}]})(props);\n};\nexport function BsGearWide (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.932.727c-.243-.97-1.62-.97-1.864 0l-.071.286a.96.96 0 0 1-1.622.434l-.205-.211c-.695-.719-1.888-.03-1.613.931l.08.284a.96.96 0 0 1-1.186 1.187l-.284-.081c-.96-.275-1.65.918-.931 1.613l.211.205a.96.96 0 0 1-.434 1.622l-.286.071c-.97.243-.97 1.62 0 1.864l.286.071a.96.96 0 0 1 .434 1.622l-.211.205c-.719.695-.03 1.888.931 1.613l.284-.08a.96.96 0 0 1 1.187 1.187l-.081.283c-.275.96.918 1.65 1.613.931l.205-.211a.96.96 0 0 1 1.622.434l.071.286c.243.97 1.62.97 1.864 0l.071-.286a.96.96 0 0 1 1.622-.434l.205.211c.695.719 1.888.03 1.613-.931l-.08-.284a.96.96 0 0 1 1.187-1.187l.283.081c.96.275 1.65-.918.931-1.613l-.211-.205a.96.96 0 0 1 .434-1.622l.286-.071c.97-.243.97-1.62 0-1.864l-.286-.071a.96.96 0 0 1-.434-1.622l.211-.205c.719-.695.03-1.888-.931-1.613l-.284.08a.96.96 0 0 1-1.187-1.186l.081-.284c.275-.96-.918-1.65-1.613-.931l-.205.211a.96.96 0 0 1-1.622-.434L8.932.727zM8 12.997a4.998 4.998 0 1 1 0-9.995 4.998 4.998 0 0 1 0 9.996z\"}}]})(props);\n};\nexport function BsGear (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.754a3.246 3.246 0 1 0 0 6.492 3.246 3.246 0 0 0 0-6.492zM5.754 8a2.246 2.246 0 1 1 4.492 0 2.246 2.246 0 0 1-4.492 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.796 1.343c-.527-1.79-3.065-1.79-3.592 0l-.094.319a.873.873 0 0 1-1.255.52l-.292-.16c-1.64-.892-3.433.902-2.54 2.541l.159.292a.873.873 0 0 1-.52 1.255l-.319.094c-1.79.527-1.79 3.065 0 3.592l.319.094a.873.873 0 0 1 .52 1.255l-.16.292c-.892 1.64.901 3.434 2.541 2.54l.292-.159a.873.873 0 0 1 1.255.52l.094.319c.527 1.79 3.065 1.79 3.592 0l.094-.319a.873.873 0 0 1 1.255-.52l.292.16c1.64.893 3.434-.902 2.54-2.541l-.159-.292a.873.873 0 0 1 .52-1.255l.319-.094c1.79-.527 1.79-3.065 0-3.592l-.319-.094a.873.873 0 0 1-.52-1.255l.16-.292c.893-1.64-.902-3.433-2.541-2.54l-.292.159a.873.873 0 0 1-1.255-.52l-.094-.319zm-2.633.283c.246-.835 1.428-.835 1.674 0l.094.319a1.873 1.873 0 0 0 2.693 1.115l.291-.16c.764-.415 1.6.42 1.184 1.185l-.159.292a1.873 1.873 0 0 0 1.116 2.692l.318.094c.835.246.835 1.428 0 1.674l-.319.094a1.873 1.873 0 0 0-1.115 2.693l.16.291c.415.764-.42 1.6-1.185 1.184l-.291-.159a1.873 1.873 0 0 0-2.693 1.116l-.094.318c-.246.835-1.428.835-1.674 0l-.094-.319a1.873 1.873 0 0 0-2.692-1.115l-.292.16c-.764.415-1.6-.42-1.184-1.185l.159-.291A1.873 1.873 0 0 0 1.945 8.93l-.319-.094c-.835-.246-.835-1.428 0-1.674l.319-.094A1.873 1.873 0 0 0 3.06 4.377l-.16-.292c-.415-.764.42-1.6 1.185-1.184l.292.159a1.873 1.873 0 0 0 2.692-1.115l.094-.319z\"}}]})(props);\n};\nexport function BsGem (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.1.7a.5.5 0 0 1 .4-.2h9a.5.5 0 0 1 .4.2l2.976 3.974c.149.185.156.45.01.644L8.4 15.3a.5.5 0 0 1-.8 0L.1 5.3a.5.5 0 0 1 0-.6l3-4zm11.386 3.785-1.806-2.41-.776 2.413 2.582-.003zm-3.633.004.961-2.989H4.186l.963 2.995 5.704-.006zM5.47 5.495 8 13.366l2.532-7.876-5.062.005zm-1.371-.999-.78-2.422-1.818 2.425 2.598-.003zM1.499 5.5l5.113 6.817-2.192-6.82L1.5 5.5zm7.889 6.817 5.123-6.83-2.928.002-2.195 6.828z\"}}]})(props);\n};\nexport function BsGenderAmbiguous (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.5 1a.5.5 0 0 1 0-1h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V1.707l-3.45 3.45A4 4 0 0 1 8.5 10.97V13H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V14H6a.5.5 0 0 1 0-1h1.5v-2.03a4 4 0 1 1 3.471-6.648L14.293 1H11.5zm-.997 4.346a3 3 0 1 0-5.006 3.309 3 3 0 0 0 5.006-3.31z\"}}]})(props);\n};\nexport function BsGenderFemale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 1a4 4 0 1 0 0 8 4 4 0 0 0 0-8zM3 5a5 5 0 1 1 5.5 4.975V12h2a.5.5 0 0 1 0 1h-2v2.5a.5.5 0 0 1-1 0V13h-2a.5.5 0 0 1 0-1h2V9.975A5 5 0 0 1 3 5z\"}}]})(props);\n};\nexport function BsGenderMale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.5 2a.5.5 0 0 1 0-1h5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0V2.707L9.871 6.836a5 5 0 1 1-.707-.707L13.293 2H9.5zM6 6a4 4 0 1 0 0 8 4 4 0 0 0 0-8z\"}}]})(props);\n};\nexport function BsGenderTrans (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 .5A.5.5 0 0 1 .5 0h3a.5.5 0 0 1 0 1H1.707L3.5 2.793l.646-.647a.5.5 0 1 1 .708.708l-.647.646.822.822A3.99 3.99 0 0 1 8 3c1.18 0 2.239.51 2.971 1.322L14.293 1H11.5a.5.5 0 0 1 0-1h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V1.707l-3.45 3.45A4 4 0 0 1 8.5 10.97V13H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V14H6a.5.5 0 0 1 0-1h1.5v-2.03a4 4 0 0 1-3.05-5.814l-.95-.949-.646.647a.5.5 0 1 1-.708-.708l.647-.646L1 1.707V3.5a.5.5 0 0 1-1 0v-3zm5.49 4.856a3 3 0 1 0 5.02 3.288 3 3 0 0 0-5.02-3.288z\"}}]})(props);\n};\nexport function BsGeoAltFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10zm0-7a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]})(props);\n};\nexport function BsGeoAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.166 8.94c-.524 1.062-1.234 2.12-1.96 3.07A31.493 31.493 0 0 1 8 14.58a31.481 31.481 0 0 1-2.206-2.57c-.726-.95-1.436-2.008-1.96-3.07C3.304 7.867 3 6.862 3 6a5 5 0 0 1 10 0c0 .862-.305 1.867-.834 2.94zM8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm0 1a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsGeoFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 4a4 4 0 1 1 4.5 3.969V13.5a.5.5 0 0 1-1 0V7.97A4 4 0 0 1 4 3.999zm2.493 8.574a.5.5 0 0 1-.411.575c-.712.118-1.28.295-1.655.493a1.319 1.319 0 0 0-.37.265.301.301 0 0 0-.057.09V14l.002.008a.147.147 0 0 0 .016.033.617.617 0 0 0 .145.15c.165.13.435.27.813.395.751.25 1.82.414 3.024.414s2.273-.163 3.024-.414c.378-.126.648-.265.813-.395a.619.619 0 0 0 .146-.15.148.148 0 0 0 .015-.033L12 14v-.004a.301.301 0 0 0-.057-.09 1.318 1.318 0 0 0-.37-.264c-.376-.198-.943-.375-1.655-.493a.5.5 0 1 1 .164-.986c.77.127 1.452.328 1.957.594C12.5 13 13 13.4 13 14c0 .426-.26.752-.544.977-.29.228-.68.413-1.116.558-.878.293-2.059.465-3.34.465-1.281 0-2.462-.172-3.34-.465-.436-.145-.826-.33-1.116-.558C3.26 14.752 3 14.426 3 14c0-.599.5-1 .961-1.243.505-.266 1.187-.467 1.957-.594a.5.5 0 0 1 .575.411z\"}}]})(props);\n};\nexport function BsGeo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 1a3 3 0 1 0 0 6 3 3 0 0 0 0-6zM4 4a4 4 0 1 1 4.5 3.969V13.5a.5.5 0 0 1-1 0V7.97A4 4 0 0 1 4 3.999zm2.493 8.574a.5.5 0 0 1-.411.575c-.712.118-1.28.295-1.655.493a1.319 1.319 0 0 0-.37.265.301.301 0 0 0-.057.09V14l.002.008a.147.147 0 0 0 .016.033.617.617 0 0 0 .145.15c.165.13.435.27.813.395.751.25 1.82.414 3.024.414s2.273-.163 3.024-.414c.378-.126.648-.265.813-.395a.619.619 0 0 0 .146-.15.148.148 0 0 0 .015-.033L12 14v-.004a.301.301 0 0 0-.057-.09 1.318 1.318 0 0 0-.37-.264c-.376-.198-.943-.375-1.655-.493a.5.5 0 1 1 .164-.986c.77.127 1.452.328 1.957.594C12.5 13 13 13.4 13 14c0 .426-.26.752-.544.977-.29.228-.68.413-1.116.558-.878.293-2.059.465-3.34.465-1.281 0-2.462-.172-3.34-.465-.436-.145-.826-.33-1.116-.558C3.26 14.752 3 14.426 3 14c0-.599.5-1 .961-1.243.505-.266 1.187-.467 1.957-.594a.5.5 0 0 1 .575.411z\"}}]})(props);\n};\nexport function BsGiftFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2.5a2.5 2.5 0 0 1 5 0 2.5 2.5 0 0 1 5 0v.006c0 .07 0 .27-.038.494H15a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h2.038A2.968 2.968 0 0 1 3 2.506V2.5zm1.068.5H7v-.5a1.5 1.5 0 1 0-3 0c0 .085.002.274.045.43a.522.522 0 0 0 .023.07zM9 3h2.932a.56.56 0 0 0 .023-.07c.043-.156.045-.345.045-.43a1.5 1.5 0 0 0-3 0V3zm6 4v7.5a1.5 1.5 0 0 1-1.5 1.5H9V7h6zM2.5 16A1.5 1.5 0 0 1 1 14.5V7h6v9H2.5z\"}}]})(props);\n};\nexport function BsGift (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2.5a2.5 2.5 0 0 1 5 0 2.5 2.5 0 0 1 5 0v.006c0 .07 0 .27-.038.494H15a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1v7.5a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 14.5V7a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h2.038A2.968 2.968 0 0 1 3 2.506V2.5zm1.068.5H7v-.5a1.5 1.5 0 1 0-3 0c0 .085.002.274.045.43a.522.522 0 0 0 .023.07zM9 3h2.932a.56.56 0 0 0 .023-.07c.043-.156.045-.345.045-.43a1.5 1.5 0 0 0-3 0V3zM1 4v2h6V4H1zm8 0v2h6V4H9zm5 3H9v8h4.5a.5.5 0 0 0 .5-.5V7zm-7 8V7H2v7.5a.5.5 0 0 0 .5.5H7z\"}}]})(props);\n};\nexport function BsGithub (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z\"}}]})(props);\n};\nexport function BsGlobe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm7.5-6.923c-.67.204-1.335.82-1.887 1.855A7.97 7.97 0 0 0 5.145 4H7.5V1.077zM4.09 4a9.267 9.267 0 0 1 .64-1.539 6.7 6.7 0 0 1 .597-.933A7.025 7.025 0 0 0 2.255 4H4.09zm-.582 3.5c.03-.877.138-1.718.312-2.5H1.674a6.958 6.958 0 0 0-.656 2.5h2.49zM4.847 5a12.5 12.5 0 0 0-.338 2.5H7.5V5H4.847zM8.5 5v2.5h2.99a12.495 12.495 0 0 0-.337-2.5H8.5zM4.51 8.5a12.5 12.5 0 0 0 .337 2.5H7.5V8.5H4.51zm3.99 0V11h2.653c.187-.765.306-1.608.338-2.5H8.5zM5.145 12c.138.386.295.744.468 1.068.552 1.035 1.218 1.65 1.887 1.855V12H5.145zm.182 2.472a6.696 6.696 0 0 1-.597-.933A9.268 9.268 0 0 1 4.09 12H2.255a7.024 7.024 0 0 0 3.072 2.472zM3.82 11a13.652 13.652 0 0 1-.312-2.5h-2.49c.062.89.291 1.733.656 2.5H3.82zm6.853 3.472A7.024 7.024 0 0 0 13.745 12H11.91a9.27 9.27 0 0 1-.64 1.539 6.688 6.688 0 0 1-.597.933zM8.5 12v2.923c.67-.204 1.335-.82 1.887-1.855.173-.324.33-.682.468-1.068H8.5zm3.68-1h2.146c.365-.767.594-1.61.656-2.5h-2.49a13.65 13.65 0 0 1-.312 2.5zm2.802-3.5a6.959 6.959 0 0 0-.656-2.5H12.18c.174.782.282 1.623.312 2.5h2.49zM11.27 2.461c.247.464.462.98.64 1.539h1.835a7.024 7.024 0 0 0-3.072-2.472c.218.284.418.598.597.933zM10.855 4a7.966 7.966 0 0 0-.468-1.068C9.835 1.897 9.17 1.282 8.5 1.077V4h2.355z\"}}]})(props);\n};\nexport function BsGlobe2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm7.5-6.923c-.67.204-1.335.82-1.887 1.855-.143.268-.276.56-.395.872.705.157 1.472.257 2.282.287V1.077zM4.249 3.539c.142-.384.304-.744.481-1.078a6.7 6.7 0 0 1 .597-.933A7.01 7.01 0 0 0 3.051 3.05c.362.184.763.349 1.198.49zM3.509 7.5c.036-1.07.188-2.087.436-3.008a9.124 9.124 0 0 1-1.565-.667A6.964 6.964 0 0 0 1.018 7.5h2.49zm1.4-2.741a12.344 12.344 0 0 0-.4 2.741H7.5V5.091c-.91-.03-1.783-.145-2.591-.332zM8.5 5.09V7.5h2.99a12.342 12.342 0 0 0-.399-2.741c-.808.187-1.681.301-2.591.332zM4.51 8.5c.035.987.176 1.914.399 2.741A13.612 13.612 0 0 1 7.5 10.91V8.5H4.51zm3.99 0v2.409c.91.03 1.783.145 2.591.332.223-.827.364-1.754.4-2.741H8.5zm-3.282 3.696c.12.312.252.604.395.872.552 1.035 1.218 1.65 1.887 1.855V11.91c-.81.03-1.577.13-2.282.287zm.11 2.276a6.696 6.696 0 0 1-.598-.933 8.853 8.853 0 0 1-.481-1.079 8.38 8.38 0 0 0-1.198.49 7.01 7.01 0 0 0 2.276 1.522zm-1.383-2.964A13.36 13.36 0 0 1 3.508 8.5h-2.49a6.963 6.963 0 0 0 1.362 3.675c.47-.258.995-.482 1.565-.667zm6.728 2.964a7.009 7.009 0 0 0 2.275-1.521 8.376 8.376 0 0 0-1.197-.49 8.853 8.853 0 0 1-.481 1.078 6.688 6.688 0 0 1-.597.933zM8.5 11.909v3.014c.67-.204 1.335-.82 1.887-1.855.143-.268.276-.56.395-.872A12.63 12.63 0 0 0 8.5 11.91zm3.555-.401c.57.185 1.095.409 1.565.667A6.963 6.963 0 0 0 14.982 8.5h-2.49a13.36 13.36 0 0 1-.437 3.008zM14.982 7.5a6.963 6.963 0 0 0-1.362-3.675c-.47.258-.995.482-1.565.667.248.92.4 1.938.437 3.008h2.49zM11.27 2.461c.177.334.339.694.482 1.078a8.368 8.368 0 0 0 1.196-.49 7.01 7.01 0 0 0-2.275-1.52c.218.283.418.597.597.932zm-.488 1.343a7.765 7.765 0 0 0-.395-.872C9.835 1.897 9.17 1.282 8.5 1.077V4.09c.81-.03 1.577-.13 2.282-.287z\"}}]})(props);\n};\nexport function BsGoogle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.545 6.558a9.42 9.42 0 0 1 .139 1.626c0 2.434-.87 4.492-2.384 5.885h.002C11.978 15.292 10.158 16 8 16A8 8 0 1 1 8 0a7.689 7.689 0 0 1 5.352 2.082l-2.284 2.284A4.347 4.347 0 0 0 8 3.166c-2.087 0-3.86 1.408-4.492 3.304a4.792 4.792 0 0 0 0 3.063h.003c.635 1.893 2.405 3.301 4.492 3.301 1.078 0 2.004-.276 2.722-.764h-.003a3.702 3.702 0 0 0 1.599-2.431H8v-3.08h7.545z\"}}]})(props);\n};\nexport function BsGraphDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 0h1v15h15v1H0V0zm10 11.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-1 0v2.6l-3.613-4.417a.5.5 0 0 0-.74-.037L7.06 8.233 3.404 3.206a.5.5 0 0 0-.808.588l4 5.5a.5.5 0 0 0 .758.06l2.609-2.61L13.445 11H10.5a.5.5 0 0 0-.5.5z\"}}]})(props);\n};\nexport function BsGraphUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 0h1v15h15v1H0V0zm10 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V4.9l-3.613 4.417a.5.5 0 0 1-.74.037L7.06 6.767l-3.656 5.027a.5.5 0 0 1-.808-.588l4-5.5a.5.5 0 0 1 .758-.06l2.609 2.61L13.445 4H10.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsGrid1X2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1zm9 0a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1V1zm0 9a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-5z\"}}]})(props);\n};\nexport function BsGrid1X2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 1H1v14h5V1zm9 0h-5v5h5V1zm0 9v5h-5v-5h5zM0 1a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1zm9 0a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1V1zm1 8a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1h-5z\"}}]})(props);\n};\nexport function BsGrid3X2GapFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V4zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V4zM1 9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V9zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V9zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V9z\"}}]})(props);\n};\nexport function BsGrid3X2Gap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4v2H2V4h2zm1 7V9a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zm0-5V4a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zm5 5V9a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zm0-5V4a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zM9 4v2H7V4h2zm5 0h-2v2h2V4zM4 9v2H2V9h2zm5 0v2H7V9h2zm5 0v2h-2V9h2zm-3-5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V4zm1 4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1h-2z\"}}]})(props);\n};\nexport function BsGrid3X2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3.5A1.5 1.5 0 0 1 1.5 2h13A1.5 1.5 0 0 1 16 3.5v8a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 11.5v-8zM1.5 3a.5.5 0 0 0-.5.5V7h4V3H1.5zM5 8H1v3.5a.5.5 0 0 0 .5.5H5V8zm1 0v4h4V8H6zm4-1V3H6v4h4zm1 1v4h3.5a.5.5 0 0 0 .5-.5V8h-4zm0-1h4V3.5a.5.5 0 0 0-.5-.5H11v4z\"}}]})(props);\n};\nexport function BsGrid3X3GapFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V2zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V2zM1 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V7zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V7zM1 12a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-2zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-2zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-2z\"}}]})(props);\n};\nexport function BsGrid3X3Gap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 2v2H2V2h2zm1 12v-2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zm0-5V7a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zm0-5V2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zm5 10v-2a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zm0-5V7a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zm0-5V2a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zM9 2v2H7V2h2zm5 0v2h-2V2h2zM4 7v2H2V7h2zm5 0v2H7V7h2zm5 0h-2v2h2V7zM4 12v2H2v-2h2zm5 0v2H7v-2h2zm5 0v2h-2v-2h2zM12 1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1h-2zm-1 6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V7zm1 4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-2z\"}}]})(props);\n};\nexport function BsGrid3X3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A1.5 1.5 0 0 1 1.5 0h13A1.5 1.5 0 0 1 16 1.5v13a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 14.5v-13zM1.5 1a.5.5 0 0 0-.5.5V5h4V1H1.5zM5 6H1v4h4V6zm1 4h4V6H6v4zm-1 1H1v3.5a.5.5 0 0 0 .5.5H5v-4zm1 0v4h4v-4H6zm5 0v4h3.5a.5.5 0 0 0 .5-.5V11h-4zm0-1h4V6h-4v4zm0-5h4V1.5a.5.5 0 0 0-.5-.5H11v4zm-1 0V1H6v4h4z\"}}]})(props);\n};\nexport function BsGridFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.5A1.5 1.5 0 0 1 2.5 1h3A1.5 1.5 0 0 1 7 2.5v3A1.5 1.5 0 0 1 5.5 7h-3A1.5 1.5 0 0 1 1 5.5v-3zm8 0A1.5 1.5 0 0 1 10.5 1h3A1.5 1.5 0 0 1 15 2.5v3A1.5 1.5 0 0 1 13.5 7h-3A1.5 1.5 0 0 1 9 5.5v-3zm-8 8A1.5 1.5 0 0 1 2.5 9h3A1.5 1.5 0 0 1 7 10.5v3A1.5 1.5 0 0 1 5.5 15h-3A1.5 1.5 0 0 1 1 13.5v-3zm8 0A1.5 1.5 0 0 1 10.5 9h3a1.5 1.5 0 0 1 1.5 1.5v3a1.5 1.5 0 0 1-1.5 1.5h-3A1.5 1.5 0 0 1 9 13.5v-3z\"}}]})(props);\n};\nexport function BsGrid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.5A1.5 1.5 0 0 1 2.5 1h3A1.5 1.5 0 0 1 7 2.5v3A1.5 1.5 0 0 1 5.5 7h-3A1.5 1.5 0 0 1 1 5.5v-3zM2.5 2a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3zm6.5.5A1.5 1.5 0 0 1 10.5 1h3A1.5 1.5 0 0 1 15 2.5v3A1.5 1.5 0 0 1 13.5 7h-3A1.5 1.5 0 0 1 9 5.5v-3zm1.5-.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3zM1 10.5A1.5 1.5 0 0 1 2.5 9h3A1.5 1.5 0 0 1 7 10.5v3A1.5 1.5 0 0 1 5.5 15h-3A1.5 1.5 0 0 1 1 13.5v-3zm1.5-.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3zm6.5.5A1.5 1.5 0 0 1 10.5 9h3a1.5 1.5 0 0 1 1.5 1.5v3a1.5 1.5 0 0 1-1.5 1.5h-3A1.5 1.5 0 0 1 9 13.5v-3zm1.5-.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3z\"}}]})(props);\n};\nexport function BsGripHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 8a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm0-3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm3 3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm0-3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm3 3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm0-3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm3 3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm0-3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm3 3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm0-3a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsGripVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-3 3a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-3 3a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsHammer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.972 2.508a.5.5 0 0 0-.16-.556l-.178-.129a5.009 5.009 0 0 0-2.076-.783C6.215.862 4.504 1.229 2.84 3.133H1.786a.5.5 0 0 0-.354.147L.146 4.567a.5.5 0 0 0 0 .706l2.571 2.579a.5.5 0 0 0 .708 0l1.286-1.29a.5.5 0 0 0 .146-.353V5.57l8.387 8.873A.5.5 0 0 0 14 14.5l1.5-1.5a.5.5 0 0 0 .017-.689l-9.129-8.63c.747-.456 1.772-.839 3.112-.839a.5.5 0 0 0 .472-.334z\"}}]})(props);\n};\nexport function BsHandIndexFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 4.466V1.75a1.75 1.75 0 1 0-3.5 0v5.34l-1.2.24a1.5 1.5 0 0 0-1.196 1.636l.345 3.106a2.5 2.5 0 0 0 .405 1.11l1.433 2.15A1.5 1.5 0 0 0 6.035 16h6.385a1.5 1.5 0 0 0 1.302-.756l1.395-2.441a3.5 3.5 0 0 0 .444-1.389l.271-2.715a2 2 0 0 0-1.99-2.199h-.581a5.114 5.114 0 0 0-.195-.248c-.191-.229-.51-.568-.88-.716-.364-.146-.846-.132-1.158-.108l-.132.012a1.26 1.26 0 0 0-.56-.642 2.632 2.632 0 0 0-.738-.288c-.31-.062-.739-.058-1.05-.046l-.048.002z\"}}]})(props);\n};\nexport function BsHandIndexThumbFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 1.75v2.716l.047-.002c.312-.012.742-.016 1.051.046.28.056.543.18.738.288.273.152.456.385.56.642l.132-.012c.312-.024.794-.038 1.158.108.37.148.689.487.88.716.075.09.141.175.195.248h.582a2 2 0 0 1 1.99 2.199l-.272 2.715a3.5 3.5 0 0 1-.444 1.389l-1.395 2.441A1.5 1.5 0 0 1 12.42 16H6.118a1.5 1.5 0 0 1-1.342-.83l-1.215-2.43L1.07 8.589a1.517 1.517 0 0 1 2.373-1.852L5 8.293V1.75a1.75 1.75 0 0 1 3.5 0z\"}}]})(props);\n};\nexport function BsHandIndexThumb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.75 1a.75.75 0 0 1 .75.75V8a.5.5 0 0 0 1 0V5.467l.086-.004c.317-.012.637-.008.816.027.134.027.294.096.448.182.077.042.15.147.15.314V8a.5.5 0 0 0 1 0V6.435l.106-.01c.316-.024.584-.01.708.04.118.046.3.207.486.43.081.096.15.19.2.259V8.5a.5.5 0 1 0 1 0v-1h.342a1 1 0 0 1 .995 1.1l-.271 2.715a2.5 2.5 0 0 1-.317.991l-1.395 2.442a.5.5 0 0 1-.434.252H6.118a.5.5 0 0 1-.447-.276l-1.232-2.465-2.512-4.185a.517.517 0 0 1 .809-.631l2.41 2.41A.5.5 0 0 0 6 9.5V1.75A.75.75 0 0 1 6.75 1zM8.5 4.466V1.75a1.75 1.75 0 1 0-3.5 0v6.543L3.443 6.736A1.517 1.517 0 0 0 1.07 8.588l2.491 4.153 1.215 2.43A1.5 1.5 0 0 0 6.118 16h6.302a1.5 1.5 0 0 0 1.302-.756l1.395-2.441a3.5 3.5 0 0 0 .444-1.389l.271-2.715a2 2 0 0 0-1.99-2.199h-.581a5.114 5.114 0 0 0-.195-.248c-.191-.229-.51-.568-.88-.716-.364-.146-.846-.132-1.158-.108l-.132.012a1.26 1.26 0 0 0-.56-.642 2.632 2.632 0 0 0-.738-.288c-.31-.062-.739-.058-1.05-.046l-.048.002zm2.094 2.025z\"}}]})(props);\n};\nexport function BsHandIndex (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.75 1a.75.75 0 0 1 .75.75V8a.5.5 0 0 0 1 0V5.467l.086-.004c.317-.012.637-.008.816.027.134.027.294.096.448.182.077.042.15.147.15.314V8a.5.5 0 1 0 1 0V6.435a4.9 4.9 0 0 1 .106-.01c.316-.024.584-.01.708.04.118.046.3.207.486.43.081.096.15.19.2.259V8.5a.5.5 0 0 0 1 0v-1h.342a1 1 0 0 1 .995 1.1l-.271 2.715a2.5 2.5 0 0 1-.317.991l-1.395 2.442a.5.5 0 0 1-.434.252H6.035a.5.5 0 0 1-.416-.223l-1.433-2.15a1.5 1.5 0 0 1-.243-.666l-.345-3.105a.5.5 0 0 1 .399-.546L5 8.11V9a.5.5 0 0 0 1 0V1.75A.75.75 0 0 1 6.75 1zM8.5 4.466V1.75a1.75 1.75 0 1 0-3.5 0v5.34l-1.2.24a1.5 1.5 0 0 0-1.196 1.636l.345 3.106a2.5 2.5 0 0 0 .405 1.11l1.433 2.15A1.5 1.5 0 0 0 6.035 16h6.385a1.5 1.5 0 0 0 1.302-.756l1.395-2.441a3.5 3.5 0 0 0 .444-1.389l.271-2.715a2 2 0 0 0-1.99-2.199h-.581a5.114 5.114 0 0 0-.195-.248c-.191-.229-.51-.568-.88-.716-.364-.146-.846-.132-1.158-.108l-.132.012a1.26 1.26 0 0 0-.56-.642 2.632 2.632 0 0 0-.738-.288c-.31-.062-.739-.058-1.05-.046l-.048.002zm2.094 2.025z\"}}]})(props);\n};\nexport function BsHandThumbsDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.956 14.534c.065.936.952 1.659 1.908 1.42l.261-.065a1.378 1.378 0 0 0 1.012-.965c.22-.816.533-2.512.062-4.51.136.02.285.037.443.051.713.065 1.669.071 2.516-.211.518-.173.994-.68 1.2-1.272a1.896 1.896 0 0 0-.234-1.734c.058-.118.103-.242.138-.362.077-.27.113-.568.113-.856 0-.29-.036-.586-.113-.857a2.094 2.094 0 0 0-.16-.403c.169-.387.107-.82-.003-1.149a3.162 3.162 0 0 0-.488-.9c.054-.153.076-.313.076-.465a1.86 1.86 0 0 0-.253-.912C13.1.757 12.437.28 11.5.28H8c-.605 0-1.07.08-1.466.217a4.823 4.823 0 0 0-.97.485l-.048.029c-.504.308-.999.61-2.068.723C2.682 1.815 2 2.434 2 3.279v4c0 .851.685 1.433 1.357 1.616.849.232 1.574.787 2.132 1.41.56.626.914 1.28 1.039 1.638.199.575.356 1.54.428 2.591z\"}}]})(props);\n};\nexport function BsHandThumbsDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.864 15.674c-.956.24-1.843-.484-1.908-1.42-.072-1.05-.23-2.015-.428-2.59-.125-.36-.479-1.012-1.04-1.638-.557-.624-1.282-1.179-2.131-1.41C2.685 8.432 2 7.85 2 7V3c0-.845.682-1.464 1.448-1.546 1.07-.113 1.564-.415 2.068-.723l.048-.029c.272-.166.578-.349.97-.484C6.931.08 7.395 0 8 0h3.5c.937 0 1.599.478 1.934 1.064.164.287.254.607.254.913 0 .152-.023.312-.077.464.201.262.38.577.488.9.11.33.172.762.004 1.15.069.13.12.268.159.403.077.27.113.567.113.856 0 .289-.036.586-.113.856-.035.12-.08.244-.138.363.394.571.418 1.2.234 1.733-.206.592-.682 1.1-1.2 1.272-.847.283-1.803.276-2.516.211a9.877 9.877 0 0 1-.443-.05 9.364 9.364 0 0 1-.062 4.51c-.138.508-.55.848-1.012.964l-.261.065zM11.5 1H8c-.51 0-.863.068-1.14.163-.281.097-.506.229-.776.393l-.04.025c-.555.338-1.198.73-2.49.868-.333.035-.554.29-.554.55V7c0 .255.226.543.62.65 1.095.3 1.977.997 2.614 1.709.635.71 1.064 1.475 1.238 1.977.243.7.407 1.768.482 2.85.025.362.36.595.667.518l.262-.065c.16-.04.258-.144.288-.255a8.34 8.34 0 0 0-.145-4.726.5.5 0 0 1 .595-.643h.003l.014.004.058.013a8.912 8.912 0 0 0 1.036.157c.663.06 1.457.054 2.11-.163.175-.059.45-.301.57-.651.107-.308.087-.67-.266-1.021L12.793 7l.353-.354c.043-.042.105-.14.154-.315.048-.167.075-.37.075-.581 0-.211-.027-.414-.075-.581-.05-.174-.111-.273-.154-.315l-.353-.354.353-.354c.047-.047.109-.176.005-.488a2.224 2.224 0 0 0-.505-.804l-.353-.354.353-.354c.006-.005.041-.05.041-.17a.866.866 0 0 0-.121-.415C12.4 1.272 12.063 1 11.5 1z\"}}]})(props);\n};\nexport function BsHandThumbsUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.956 1.745C7.021.81 7.908.087 8.864.325l.261.066c.463.116.874.456 1.012.965.22.816.533 2.511.062 4.51a9.84 9.84 0 0 1 .443-.051c.713-.065 1.669-.072 2.516.21.518.173.994.681 1.2 1.273.184.532.16 1.162-.234 1.733.058.119.103.242.138.363.077.27.113.567.113.856 0 .289-.036.586-.113.856-.039.135-.09.273-.16.404.169.387.107.819-.003 1.148a3.163 3.163 0 0 1-.488.901c.054.152.076.312.076.465 0 .305-.089.625-.253.912C13.1 15.522 12.437 16 11.5 16H8c-.605 0-1.07-.081-1.466-.218a4.82 4.82 0 0 1-.97-.484l-.048-.03c-.504-.307-.999-.609-2.068-.722C2.682 14.464 2 13.846 2 13V9c0-.85.685-1.432 1.357-1.615.849-.232 1.574-.787 2.132-1.41.56-.627.914-1.28 1.039-1.639.199-.575.356-1.539.428-2.59z\"}}]})(props);\n};\nexport function BsHandThumbsUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.864.046C7.908-.193 7.02.53 6.956 1.466c-.072 1.051-.23 2.016-.428 2.59-.125.36-.479 1.013-1.04 1.639-.557.623-1.282 1.178-2.131 1.41C2.685 7.288 2 7.87 2 8.72v4.001c0 .845.682 1.464 1.448 1.545 1.07.114 1.564.415 2.068.723l.048.03c.272.165.578.348.97.484.397.136.861.217 1.466.217h3.5c.937 0 1.599-.477 1.934-1.064a1.86 1.86 0 0 0 .254-.912c0-.152-.023-.312-.077-.464.201-.263.38-.578.488-.901.11-.33.172-.762.004-1.149.069-.13.12-.269.159-.403.077-.27.113-.568.113-.857 0-.288-.036-.585-.113-.856a2.144 2.144 0 0 0-.138-.362 1.9 1.9 0 0 0 .234-1.734c-.206-.592-.682-1.1-1.2-1.272-.847-.282-1.803-.276-2.516-.211a9.84 9.84 0 0 0-.443.05 9.365 9.365 0 0 0-.062-4.509A1.38 1.38 0 0 0 9.125.111L8.864.046zM11.5 14.721H8c-.51 0-.863-.069-1.14-.164-.281-.097-.506-.228-.776-.393l-.04-.024c-.555-.339-1.198-.731-2.49-.868-.333-.036-.554-.29-.554-.55V8.72c0-.254.226-.543.62-.65 1.095-.3 1.977-.996 2.614-1.708.635-.71 1.064-1.475 1.238-1.978.243-.7.407-1.768.482-2.85.025-.362.36-.594.667-.518l.262.066c.16.04.258.143.288.255a8.34 8.34 0 0 1-.145 4.725.5.5 0 0 0 .595.644l.003-.001.014-.003.058-.014a8.908 8.908 0 0 1 1.036-.157c.663-.06 1.457-.054 2.11.164.175.058.45.3.57.65.107.308.087.67-.266 1.022l-.353.353.353.354c.043.043.105.141.154.315.048.167.075.37.075.581 0 .212-.027.414-.075.582-.05.174-.111.272-.154.315l-.353.353.353.354c.047.047.109.177.005.488a2.224 2.224 0 0 1-.505.805l-.353.353.353.354c.006.005.041.05.041.17a.866.866 0 0 1-.121.416c-.165.288-.503.56-1.066.56z\"}}]})(props);\n};\nexport function BsHandbagFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2 2 0 0 0-2 2v2H5V3a3 3 0 1 1 6 0v2h-1V3a2 2 0 0 0-2-2zM5 5H3.36a1.5 1.5 0 0 0-1.483 1.277L.85 13.13A2.5 2.5 0 0 0 3.322 16h9.355a2.5 2.5 0 0 0 2.473-2.87l-1.028-6.853A1.5 1.5 0 0 0 12.64 5H11v1.5a.5.5 0 0 1-1 0V5H6v1.5a.5.5 0 0 1-1 0V5z\"}}]})(props);\n};\nexport function BsHandbag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2 2 0 0 1 2 2v2H6V3a2 2 0 0 1 2-2zm3 4V3a3 3 0 1 0-6 0v2H3.36a1.5 1.5 0 0 0-1.483 1.277L.85 13.13A2.5 2.5 0 0 0 3.322 16h9.355a2.5 2.5 0 0 0 2.473-2.87l-1.028-6.853A1.5 1.5 0 0 0 12.64 5H11zm-1 1v1.5a.5.5 0 0 0 1 0V6h1.639a.5.5 0 0 1 .494.426l1.028 6.851A1.5 1.5 0 0 1 12.678 15H3.322a1.5 1.5 0 0 1-1.483-1.723l1.028-6.851A.5.5 0 0 1 3.36 6H5v1.5a.5.5 0 1 0 1 0V6h4z\"}}]})(props);\n};\nexport function BsHash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.39 12.648a1.32 1.32 0 0 0-.015.18c0 .305.21.508.5.508.266 0 .492-.172.555-.477l.554-2.703h1.204c.421 0 .617-.234.617-.547 0-.312-.188-.53-.617-.53h-.985l.516-2.524h1.265c.43 0 .618-.227.618-.547 0-.313-.188-.524-.618-.524h-1.046l.476-2.304a1.06 1.06 0 0 0 .016-.164.51.51 0 0 0-.516-.516.54.54 0 0 0-.539.43l-.523 2.554H7.617l.477-2.304c.008-.04.015-.118.015-.164a.512.512 0 0 0-.523-.516.539.539 0 0 0-.531.43L6.53 5.484H5.414c-.43 0-.617.22-.617.532 0 .312.187.539.617.539h.906l-.515 2.523H4.609c-.421 0-.609.219-.609.531 0 .313.188.547.61.547h.976l-.516 2.492c-.008.04-.015.125-.015.18 0 .305.21.508.5.508.265 0 .492-.172.554-.477l.555-2.703h2.242l-.515 2.492zm-1-6.109h2.266l-.515 2.563H6.859l.532-2.563z\"}}]})(props);\n};\nexport function BsHddFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 10a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-1zm2.5 1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zm2 0a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zM.91 7.204A2.993 2.993 0 0 1 2 7h12c.384 0 .752.072 1.09.204l-1.867-3.422A1.5 1.5 0 0 0 11.906 3H4.094a1.5 1.5 0 0 0-1.317.782L.91 7.204z\"}}]})(props);\n};\nexport function BsHddNetworkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h5.5v3A1.5 1.5 0 0 0 6 11.5H.5a.5.5 0 0 0 0 1H6A1.5 1.5 0 0 0 7.5 14h1a1.5 1.5 0 0 0 1.5-1.5h5.5a.5.5 0 0 0 0-1H10A1.5 1.5 0 0 0 8.5 10V7H14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm.5 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1z\"}}]})(props);\n};\nexport function BsHddNetwork (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zM3 4.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1a2 2 0 0 1-2 2H8.5v3a1.5 1.5 0 0 1 1.5 1.5h5.5a.5.5 0 0 1 0 1H10A1.5 1.5 0 0 1 8.5 14h-1A1.5 1.5 0 0 1 6 12.5H.5a.5.5 0 0 1 0-1H6A1.5 1.5 0 0 1 7.5 10V7H2a2 2 0 0 1-2-2V4zm1 0v1a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1zm6 7.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5z\"}}]})(props);\n};\nexport function BsHddRackFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h1v2H2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2h-1V7h1a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm.5 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm-2 7a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zM12 7v2H4V7h8z\"}}]})(props);\n};\nexport function BsHddRack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zM3 4.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm2 7a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm-2.5.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h1v2H2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2h-1V7h1a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm13 2v1a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1zm0 7v1a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1zm-3-4v2H4V7h8z\"}}]})(props);\n};\nexport function BsHddStackFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 9a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2H2zm.5 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zM2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm.5 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1z\"}}]})(props);\n};\nexport function BsHddStack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h12zM2 9a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 11.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm-2 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zM14 3a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 4.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm-2 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsHdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 11a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zM3 10.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V9.51c0-.418.105-.83.305-1.197l2.472-4.531A1.5 1.5 0 0 1 4.094 3h7.812a1.5 1.5 0 0 1 1.317.782l2.472 4.53c.2.368.305.78.305 1.198V11zM3.655 4.26 1.592 8.043C1.724 8.014 1.86 8 2 8h12c.14 0 .276.014.408.042L12.345 4.26a.5.5 0 0 0-.439-.26H4.094a.5.5 0 0 0-.44.26zM1 10v1a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1z\"}}]})(props);\n};\nexport function BsHeadphones (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3a5 5 0 0 0-5 5v1h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V8a6 6 0 1 1 12 0v5a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1h1V8a5 5 0 0 0-5-5z\"}}]})(props);\n};\nexport function BsHeadsetVr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1.248c1.857 0 3.526.641 4.65 1.794a4.978 4.978 0 0 1 2.518 1.09C13.907 1.482 11.295 0 8 0 4.75 0 2.12 1.48.844 4.122a4.979 4.979 0 0 1 2.289-1.047C4.236 1.872 5.974 1.248 8 1.248z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12a3.988 3.988 0 0 1-2.786-1.13l-.002-.002a1.612 1.612 0 0 0-.276-.167A2.164 2.164 0 0 0 8 10.5c-.414 0-.729.103-.935.201a1.612 1.612 0 0 0-.277.167l-.002.002A4 4 0 1 1 4 4h8a4 4 0 0 1 0 8z\"}}]})(props);\n};\nexport function BsHeadset (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a5 5 0 0 0-5 5v1h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a6 6 0 1 1 12 0v6a2.5 2.5 0 0 1-2.5 2.5H9.366a1 1 0 0 1-.866.5h-1a1 1 0 1 1 0-2h1a1 1 0 0 1 .866.5H11.5A1.5 1.5 0 0 0 13 12h-1a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h1V6a5 5 0 0 0-5-5z\"}}]})(props);\n};\nexport function BsHeartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 1.314C12.438-3.248 23.534 4.735 8 15-7.534 4.736 3.562-3.248 8 1.314z\"}}]})(props);\n};\nexport function BsHeartHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2.748v11.047c3.452-2.368 5.365-4.542 6.286-6.357.955-1.886.838-3.362.314-4.385C13.486.878 10.4.28 8.717 2.01L8 2.748zM8 15C-7.333 4.868 3.279-3.04 7.824 1.143c.06.055.119.112.176.171a3.12 3.12 0 0 1 .176-.17C12.72-3.042 23.333 4.867 8 15z\"}}]})(props);\n};\nexport function BsHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 2.748-.717-.737C5.6.281 2.514.878 1.4 3.053c-.523 1.023-.641 2.5.314 4.385.92 1.815 2.834 3.989 6.286 6.357 3.452-2.368 5.365-4.542 6.286-6.357.955-1.886.838-3.362.314-4.385C13.486.878 10.4.28 8.717 2.01L8 2.748zM8 15C-7.333 4.868 3.279-3.04 7.824 1.143c.06.055.119.112.176.171a3.12 3.12 0 0 1 .176-.17C12.72-3.042 23.333 4.867 8 15z\"}}]})(props);\n};\nexport function BsHeptagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.779.052a.5.5 0 0 1 .442 0l6.015 2.97a.5.5 0 0 1 .267.34l1.485 6.676a.5.5 0 0 1-.093.415l-4.162 5.354a.5.5 0 0 1-.395.193H4.662a.5.5 0 0 1-.395-.193L.105 10.453a.5.5 0 0 1-.093-.415l1.485-6.676a.5.5 0 0 1 .267-.34L7.779.053z\"}}]})(props);\n};\nexport function BsHeptagonHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.779.052a.5.5 0 0 1 .442 0l6.015 2.97a.5.5 0 0 1 .267.34l1.485 6.676a.5.5 0 0 1-.093.415l-4.162 5.354a.5.5 0 0 1-.395.193H4.662a.5.5 0 0 1-.395-.193L.105 10.453a.5.5 0 0 1-.093-.415l1.485-6.676a.5.5 0 0 1 .267-.34L7.779.053zM8 15h3.093l3.868-4.975-1.383-6.212L8 1.058V15z\"}}]})(props);\n};\nexport function BsHeptagon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.779.052a.5.5 0 0 1 .442 0l6.015 2.97a.5.5 0 0 1 .267.34l1.485 6.676a.5.5 0 0 1-.093.415l-4.162 5.354a.5.5 0 0 1-.395.193H4.662a.5.5 0 0 1-.395-.193L.105 10.453a.5.5 0 0 1-.093-.415l1.485-6.676a.5.5 0 0 1 .267-.34L7.779.053zM2.422 3.813l-1.383 6.212L4.907 15h6.186l3.868-4.975-1.383-6.212L8 1.058 2.422 3.813z\"}}]})(props);\n};\nexport function BsHexagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.5.134a1 1 0 0 0-1 0l-6 3.577a1 1 0 0 0-.5.866v6.846a1 1 0 0 0 .5.866l6 3.577a1 1 0 0 0 1 0l6-3.577a1 1 0 0 0 .5-.866V4.577a1 1 0 0 0-.5-.866L8.5.134z\"}}]})(props);\n};\nexport function BsHexagonHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.577v6.846L8 15V1l6 3.577zM8.5.134a1 1 0 0 0-1 0l-6 3.577a1 1 0 0 0-.5.866v6.846a1 1 0 0 0 .5.866l6 3.577a1 1 0 0 0 1 0l6-3.577a1 1 0 0 0 .5-.866V4.577a1 1 0 0 0-.5-.866L8.5.134z\"}}]})(props);\n};\nexport function BsHexagon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.577v6.846L8 15l-6-3.577V4.577L8 1l6 3.577zM8.5.134a1 1 0 0 0-1 0l-6 3.577a1 1 0 0 0-.5.866v6.846a1 1 0 0 0 .5.866l6 3.577a1 1 0 0 0 1 0l6-3.577a1 1 0 0 0 .5-.866V4.577a1 1 0 0 0-.5-.866L8.5.134z\"}}]})(props);\n};\nexport function BsHourglassBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-1v1a4.5 4.5 0 0 1-2.557 4.06c-.29.139-.443.377-.443.59v.7c0 .213.154.451.443.59A4.5 4.5 0 0 1 12.5 13v1h1a.5.5 0 0 1 0 1h-11a.5.5 0 1 1 0-1h1v-1a4.5 4.5 0 0 1 2.557-4.06c.29-.139.443-.377.443-.59v-.7c0-.213-.154-.451-.443-.59A4.5 4.5 0 0 1 3.5 3V2h-1a.5.5 0 0 1-.5-.5zm2.5.5v1a3.5 3.5 0 0 0 1.989 3.158c.533.256 1.011.791 1.011 1.491v.702s.18.149.5.149.5-.15.5-.15v-.7c0-.701.478-1.236 1.011-1.492A3.5 3.5 0 0 0 11.5 3V2h-7z\"}}]})(props);\n};\nexport function BsHourglassSplit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 15a.5.5 0 1 1 0-1h1v-1a4.5 4.5 0 0 1 2.557-4.06c.29-.139.443-.377.443-.59v-.7c0-.213-.154-.451-.443-.59A4.5 4.5 0 0 1 3.5 3V2h-1a.5.5 0 0 1 0-1h11a.5.5 0 0 1 0 1h-1v1a4.5 4.5 0 0 1-2.557 4.06c-.29.139-.443.377-.443.59v.7c0 .213.154.451.443.59A4.5 4.5 0 0 1 12.5 13v1h1a.5.5 0 0 1 0 1h-11zm2-13v1c0 .537.12 1.045.337 1.5h6.326c.216-.455.337-.963.337-1.5V2h-7zm3 6.35c0 .701-.478 1.236-1.011 1.492A3.5 3.5 0 0 0 4.5 13s.866-1.299 3-1.48V8.35zm1 0v3.17c2.134.181 3 1.48 3 1.48a3.5 3.5 0 0 0-1.989-3.158C8.978 9.586 8.5 9.052 8.5 8.351z\"}}]})(props);\n};\nexport function BsHourglassTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 14.5a.5.5 0 0 0 .5.5h11a.5.5 0 1 0 0-1h-1v-1a4.5 4.5 0 0 0-2.557-4.06c-.29-.139-.443-.377-.443-.59v-.7c0-.213.154-.451.443-.59A4.5 4.5 0 0 0 12.5 3V2h1a.5.5 0 0 0 0-1h-11a.5.5 0 0 0 0 1h1v1a4.5 4.5 0 0 0 2.557 4.06c.29.139.443.377.443.59v.7c0 .213-.154.451-.443.59A4.5 4.5 0 0 0 3.5 13v1h-1a.5.5 0 0 0-.5.5zm2.5-.5v-1a3.5 3.5 0 0 1 1.989-3.158c.533-.256 1.011-.79 1.011-1.491v-.702s.18.101.5.101.5-.1.5-.1v.7c0 .701.478 1.236 1.011 1.492A3.5 3.5 0 0 1 11.5 13v1h-7z\"}}]})(props);\n};\nexport function BsHourglass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-1v1a4.5 4.5 0 0 1-2.557 4.06c-.29.139-.443.377-.443.59v.7c0 .213.154.451.443.59A4.5 4.5 0 0 1 12.5 13v1h1a.5.5 0 0 1 0 1h-11a.5.5 0 1 1 0-1h1v-1a4.5 4.5 0 0 1 2.557-4.06c.29-.139.443-.377.443-.59v-.7c0-.213-.154-.451-.443-.59A4.5 4.5 0 0 1 3.5 3V2h-1a.5.5 0 0 1-.5-.5zm2.5.5v1a3.5 3.5 0 0 0 1.989 3.158c.533.256 1.011.791 1.011 1.491v.702c0 .7-.478 1.235-1.011 1.491A3.5 3.5 0 0 0 4.5 13v1h7v-1a3.5 3.5 0 0 0-1.989-3.158C8.978 9.586 8.5 9.052 8.5 8.351v-.702c0-.7.478-1.235 1.011-1.491A3.5 3.5 0 0 0 11.5 3V2h-7z\"}}]})(props);\n};\nexport function BsHouseDoorFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5z\"}}]})(props);\n};\nexport function BsHouseDoor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4.5a.5.5 0 0 0 .5-.5v-4h2v4a.5.5 0 0 0 .5.5H14a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146zM2.5 14V7.707l5.5-5.5 5.5 5.5V14H10v-4a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v4H2.5z\"}}]})(props);\n};\nexport function BsHouseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"m8 3.293 6 6V13.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5V9.293l6-6zm5-.793V6l-2-2V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.293 1.5a1 1 0 0 1 1.414 0l6.647 6.646a.5.5 0 0 1-.708.708L8 2.207 1.354 8.854a.5.5 0 1 1-.708-.708L7.293 1.5z\"}}]})(props);\n};\nexport function BsHouse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 13.5V7h1v6.5a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5V7h1v6.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5zm11-11V6l-2-2V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.293 1.5a1 1 0 0 1 1.414 0l6.647 6.646a.5.5 0 0 1-.708.708L8 2.207 1.354 8.854a.5.5 0 1 1-.708-.708L7.293 1.5z\"}}]})(props);\n};\nexport function BsHr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3H4a1 1 0 0 0-1 1v2.5H2V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2.5h-1V4a1 1 0 0 0-1-1zM2 9.5h1V12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V9.5h1V12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9.5zm-1.5-2a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1H.5z\"}}]})(props);\n};\nexport function BsHurricane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.999 2.6A5.5 5.5 0 0 1 15 7.5a.5.5 0 0 0 1 0 6.5 6.5 0 1 0-13 0 5 5 0 0 0 6.001 4.9A5.5 5.5 0 0 1 1 7.5a.5.5 0 0 0-1 0 6.5 6.5 0 1 0 13 0 5 5 0 0 0-6.001-4.9zM10 7.5a2 2 0 1 1-4 0 2 2 0 0 1 4 0z\"}}]})(props);\n};\nexport function BsImageAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0zm4.225 4.053a.5.5 0 0 0-.577.093l-3.71 4.71-2.66-2.772a.5.5 0 0 0-.63.062L.002 13v2a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-4.5l-4.777-3.947z\"}}]})(props);\n};\nexport function BsImageFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.002 3a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-12a2 2 0 0 1-2-2V3zm1 9v1a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9.5l-3.777-1.947a.5.5 0 0 0-.577.093l-3.71 3.71-2.66-1.772a.5.5 0 0 0-.63.062L1.002 12zm5-6.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0z\"}}]})(props);\n};\nexport function BsImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.002 5.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.002 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2h-12zm12 1a1 1 0 0 1 1 1v6.5l-3.777-1.947a.5.5 0 0 0-.577.093l-3.71 3.71-2.66-1.772a.5.5 0 0 0-.63.062L1.002 12V3a1 1 0 0 1 1-1h12z\"}}]})(props);\n};\nexport function BsImages (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.502 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.002 13a2 2 0 0 1-2 2h-10a2 2 0 0 1-2-2V5A2 2 0 0 1 2 3a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v8a2 2 0 0 1-1.998 2zM14 2H4a1 1 0 0 0-1 1h9.002a2 2 0 0 1 2 2v7A1 1 0 0 0 15 11V3a1 1 0 0 0-1-1zM2.002 4a1 1 0 0 0-1 1v8l2.646-2.354a.5.5 0 0 1 .63-.062l2.66 1.773 3.71-3.71a.5.5 0 0 1 .577-.094l1.777 1.947V5a1 1 0 0 0-1-1h-10z\"}}]})(props);\n};\nexport function BsInboxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.98 4a.5.5 0 0 0-.39.188L1.54 8H6a.5.5 0 0 1 .5.5 1.5 1.5 0 1 0 3 0A.5.5 0 0 1 10 8h4.46l-3.05-3.812A.5.5 0 0 0 11.02 4H4.98zm-1.17-.437A1.5 1.5 0 0 1 4.98 3h6.04a1.5 1.5 0 0 1 1.17.563l3.7 4.625a.5.5 0 0 1 .106.374l-.39 3.124A1.5 1.5 0 0 1 14.117 13H1.883a1.5 1.5 0 0 1-1.489-1.314l-.39-3.124a.5.5 0 0 1 .106-.374l3.7-4.625z\"}}]})(props);\n};\nexport function BsInbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.98 4a.5.5 0 0 0-.39.188L1.54 8H6a.5.5 0 0 1 .5.5 1.5 1.5 0 1 0 3 0A.5.5 0 0 1 10 8h4.46l-3.05-3.812A.5.5 0 0 0 11.02 4H4.98zm9.954 5H10.45a2.5 2.5 0 0 1-4.9 0H1.066l.32 2.562a.5.5 0 0 0 .497.438h12.234a.5.5 0 0 0 .496-.438L14.933 9zM3.809 3.563A1.5 1.5 0 0 1 4.981 3h6.038a1.5 1.5 0 0 1 1.172.563l3.7 4.625a.5.5 0 0 1 .105.374l-.39 3.124A1.5 1.5 0 0 1 14.117 13H1.883a1.5 1.5 0 0 1-1.489-1.314l-.39-3.124a.5.5 0 0 1 .106-.374l3.7-4.625z\"}}]})(props);\n};\nexport function BsInboxesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.98 1a.5.5 0 0 0-.39.188L1.54 5H6a.5.5 0 0 1 .5.5 1.5 1.5 0 0 0 3 0A.5.5 0 0 1 10 5h4.46l-3.05-3.812A.5.5 0 0 0 11.02 1H4.98zM3.81.563A1.5 1.5 0 0 1 4.98 0h6.04a1.5 1.5 0 0 1 1.17.563l3.7 4.625a.5.5 0 0 1 .106.374l-.39 3.124A1.5 1.5 0 0 1 14.117 10H1.883A1.5 1.5 0 0 1 .394 8.686l-.39-3.124a.5.5 0 0 1 .106-.374L3.81.563zM.125 11.17A.5.5 0 0 1 .5 11H6a.5.5 0 0 1 .5.5 1.5 1.5 0 0 0 3 0 .5.5 0 0 1 .5-.5h5.5a.5.5 0 0 1 .496.562l-.39 3.124A1.5 1.5 0 0 1 14.117 16H1.883a1.5 1.5 0 0 1-1.489-1.314l-.39-3.124a.5.5 0 0 1 .121-.393z\"}}]})(props);\n};\nexport function BsInboxes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.98 1a.5.5 0 0 0-.39.188L1.54 5H6a.5.5 0 0 1 .5.5 1.5 1.5 0 0 0 3 0A.5.5 0 0 1 10 5h4.46l-3.05-3.812A.5.5 0 0 0 11.02 1H4.98zm9.954 5H10.45a2.5 2.5 0 0 1-4.9 0H1.066l.32 2.562A.5.5 0 0 0 1.884 9h12.234a.5.5 0 0 0 .496-.438L14.933 6zM3.809.563A1.5 1.5 0 0 1 4.981 0h6.038a1.5 1.5 0 0 1 1.172.563l3.7 4.625a.5.5 0 0 1 .105.374l-.39 3.124A1.5 1.5 0 0 1 14.117 10H1.883A1.5 1.5 0 0 1 .394 8.686l-.39-3.124a.5.5 0 0 1 .106-.374L3.81.563zM.125 11.17A.5.5 0 0 1 .5 11H6a.5.5 0 0 1 .5.5 1.5 1.5 0 0 0 3 0 .5.5 0 0 1 .5-.5h5.5a.5.5 0 0 1 .496.562l-.39 3.124A1.5 1.5 0 0 1 14.117 16H1.883a1.5 1.5 0 0 1-1.489-1.314l-.39-3.124a.5.5 0 0 1 .121-.393zm.941.83.32 2.562a.5.5 0 0 0 .497.438h12.234a.5.5 0 0 0 .496-.438l.32-2.562H10.45a2.5 2.5 0 0 1-4.9 0H1.066z\"}}]})(props);\n};\nexport function BsInfoCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BsInfoCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsInfoLg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m10.277 5.433-4.031.505-.145.67.794.145c.516.123.619.309.505.824L6.101 13.68c-.34 1.578.186 2.32 1.423 2.32.959 0 2.072-.443 2.577-1.052l.155-.732c-.35.31-.866.434-1.206.434-.485 0-.66-.34-.536-.939l1.763-8.278zm.122-3.673a1.76 1.76 0 1 1-3.52 0 1.76 1.76 0 0 1 3.52 0z\"}}]})(props);\n};\nexport function BsInfoSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm8.93 4.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM8 5.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsInfoSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsInfo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsInputCursorText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 2a.5.5 0 0 1 .5-.5c.862 0 1.573.287 2.06.566.174.099.321.198.44.286.119-.088.266-.187.44-.286A4.165 4.165 0 0 1 10.5 1.5a.5.5 0 0 1 0 1c-.638 0-1.177.213-1.564.434a3.49 3.49 0 0 0-.436.294V7.5H9a.5.5 0 0 1 0 1h-.5v4.272c.1.08.248.187.436.294.387.221.926.434 1.564.434a.5.5 0 0 1 0 1 4.165 4.165 0 0 1-2.06-.566A4.561 4.561 0 0 1 8 13.65a4.561 4.561 0 0 1-.44.285 4.165 4.165 0 0 1-2.06.566.5.5 0 0 1 0-1c.638 0 1.177-.213 1.564-.434.188-.107.335-.214.436-.294V8.5H7a.5.5 0 0 1 0-1h.5V3.228a3.49 3.49 0 0 0-.436-.294A3.166 3.166 0 0 0 5.5 2.5.5.5 0 0 1 5 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 5h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4v1h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4v1zM6 5V4H2a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4v-1H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4z\"}}]})(props);\n};\nexport function BsInputCursor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 5h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4v1h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4v1zM6 5V4H2a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4v-1H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-1 0v-13A.5.5 0 0 1 8 1z\"}}]})(props);\n};\nexport function BsInstagram (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0C5.829 0 5.556.01 4.703.048 3.85.088 3.269.222 2.76.42a3.917 3.917 0 0 0-1.417.923A3.927 3.927 0 0 0 .42 2.76C.222 3.268.087 3.85.048 4.7.01 5.555 0 5.827 0 8.001c0 2.172.01 2.444.048 3.297.04.852.174 1.433.372 1.942.205.526.478.972.923 1.417.444.445.89.719 1.416.923.51.198 1.09.333 1.942.372C5.555 15.99 5.827 16 8 16s2.444-.01 3.298-.048c.851-.04 1.434-.174 1.943-.372a3.916 3.916 0 0 0 1.416-.923c.445-.445.718-.891.923-1.417.197-.509.332-1.09.372-1.942C15.99 10.445 16 10.173 16 8s-.01-2.445-.048-3.299c-.04-.851-.175-1.433-.372-1.941a3.926 3.926 0 0 0-.923-1.417A3.911 3.911 0 0 0 13.24.42c-.51-.198-1.092-.333-1.943-.372C10.443.01 10.172 0 7.998 0h.003zm-.717 1.442h.718c2.136 0 2.389.007 3.232.046.78.035 1.204.166 1.486.275.373.145.64.319.92.599.28.28.453.546.598.92.11.281.24.705.275 1.485.039.843.047 1.096.047 3.231s-.008 2.389-.047 3.232c-.035.78-.166 1.203-.275 1.485a2.47 2.47 0 0 1-.599.919c-.28.28-.546.453-.92.598-.28.11-.704.24-1.485.276-.843.038-1.096.047-3.232.047s-2.39-.009-3.233-.047c-.78-.036-1.203-.166-1.485-.276a2.478 2.478 0 0 1-.92-.598 2.48 2.48 0 0 1-.6-.92c-.109-.281-.24-.705-.275-1.485-.038-.843-.046-1.096-.046-3.233 0-2.136.008-2.388.046-3.231.036-.78.166-1.204.276-1.486.145-.373.319-.64.599-.92.28-.28.546-.453.92-.598.282-.11.705-.24 1.485-.276.738-.034 1.024-.044 2.515-.045v.002zm4.988 1.328a.96.96 0 1 0 0 1.92.96.96 0 0 0 0-1.92zm-4.27 1.122a4.109 4.109 0 1 0 0 8.217 4.109 4.109 0 0 0 0-8.217zm0 1.441a2.667 2.667 0 1 1 0 5.334 2.667 2.667 0 0 1 0-5.334z\"}}]})(props);\n};\nexport function BsIntersect (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2H2a2 2 0 0 1-2-2V2zm5 10v2a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2v5a2 2 0 0 1-2 2H5zm6-8V2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h2V6a2 2 0 0 1 2-2h5z\"}}]})(props);\n};\nexport function BsJournalAlbum (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 4a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5zm1 7a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 5a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 9.293V5.5A.5.5 0 0 1 8 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalArrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 11a.5.5 0 0 0 .5-.5V6.707l1.146 1.147a.5.5 0 0 0 .708-.708l-2-2a.5.5 0 0 0-.708 0l-2 2a.5.5 0 1 0 .708.708L7.5 6.707V10.5a.5.5 0 0 0 .5.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalBookmarkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 1h6v7a.5.5 0 0 1-.757.429L9 7.083 6.757 8.43A.5.5 0 0 1 6 8V1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalBookmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 8V1h1v6.117L8.743 6.07a.5.5 0 0 1 .514 0L11 7.117V1h1v7a.5.5 0 0 1-.757.429L9 7.083 6.757 8.43A.5.5 0 0 1 6 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.854 6.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 8.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.646 5.646a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 8 8.646 6.354a.5.5 0 0 1 0-.708zm-1.292 0a.5.5 0 0 0-.708 0l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708-.708L5.707 8l1.647-1.646a.5.5 0 0 0 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 4a.5.5 0 0 1 .5.5v.634l.549-.317a.5.5 0 1 1 .5.866L9 6l.549.317a.5.5 0 1 1-.5.866L8.5 6.866V7.5a.5.5 0 0 1-1 0v-.634l-.549.317a.5.5 0 1 1-.5-.866L7 6l-.549-.317a.5.5 0 0 1 .5-.866l.549.317V4.5A.5.5 0 0 1 8 4zM5 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.5 8a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 5.5a.5.5 0 0 1 .5.5v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalRichtext (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 3.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.861 1.542 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047L11 4.75V7a.5.5 0 0 1-.5.5h-5A.5.5 0 0 1 5 7v-.5s1.54-1.274 1.639-1.208zM5 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 10.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm0-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.146 6.146a.5.5 0 0 1 .708 0L8 7.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 8l1.147 1.146a.5.5 0 0 1-.708.708L8 8.707 6.854 9.854a.5.5 0 0 1-.708-.708L7.293 8 6.146 6.854a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournals (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 0h8a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2 2 2 0 0 1-2 2H3a2 2 0 0 1-2-2h1a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1H1a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v9a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1H3a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 6v-.5a.5.5 0 0 1 1 0V6h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V9h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 2.5v.5H.5a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1H2v-.5a.5.5 0 0 0-1 0z\"}}]})(props);\n};\nexport function BsJoystick (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 2a2 2 0 0 1-1.5 1.937v5.087c.863.083 1.5.377 1.5.726 0 .414-.895.75-2 .75s-2-.336-2-.75c0-.35.637-.643 1.5-.726V3.937A2 2 0 1 1 10 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 9.665v1.717a1 1 0 0 0 .553.894l6.553 3.277a2 2 0 0 0 1.788 0l6.553-3.277a1 1 0 0 0 .553-.894V9.665c0-.1-.06-.19-.152-.23L9.5 6.715v.993l5.227 2.178a.125.125 0 0 1 .001.23l-5.94 2.546a2 2 0 0 1-1.576 0l-5.94-2.546a.125.125 0 0 1 .001-.23L6.5 7.708l-.013-.988L.152 9.435a.25.25 0 0 0-.152.23z\"}}]})(props);\n};\nexport function BsJustifyLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 12.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsJustifyRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 12.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-4-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsJustify (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 12.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsKanbanFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2h-11zm5 2h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm-5 1a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3zm9-1h1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsKanban (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-11a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h11zm-11-1a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2h-11z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 3a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3zm-4 0a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3zm8 0a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3z\"}}]})(props);\n};\nexport function BsKeyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 11.5a3.5 3.5 0 1 1 3.163-5H14L15.5 8 14 9.5l-1-1-1 1-1-1-1 1-1-1-1 1H6.663a3.5 3.5 0 0 1-3.163 2zM2.5 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsKey (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a4 4 0 0 1 7.465-2H14a.5.5 0 0 1 .354.146l1.5 1.5a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0L13 9.207l-.646.647a.5.5 0 0 1-.708 0L11 9.207l-.646.647a.5.5 0 0 1-.708 0L9 9.207l-.646.647A.5.5 0 0 1 8 10h-.535A4 4 0 0 1 0 8zm4-3a3 3 0 1 0 2.712 4.285A.5.5 0 0 1 7.163 9h.63l.853-.854a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.793-.793-1-1h-6.63a.5.5 0 0 1-.451-.285A3 3 0 0 0 4 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsKeyboardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6zm13 .25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM2.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 8.75v-.5A.25.25 0 0 0 2.75 8h-.5zM4 8.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 8.75v-.5A.25.25 0 0 0 4.75 8h-.5a.25.25 0 0 0-.25.25zM6.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 7 8.75v-.5A.25.25 0 0 0 6.75 8h-.5zM8 8.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 9 8.75v-.5A.25.25 0 0 0 8.75 8h-.5a.25.25 0 0 0-.25.25zM13.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zm0 2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zm-3-2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-1.5zm.75 2.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM11.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zM9 6.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5A.25.25 0 0 0 9.75 6h-.5a.25.25 0 0 0-.25.25zM7.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 8 6.75v-.5A.25.25 0 0 0 7.75 6h-.5zM5 6.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 6.75v-.5A.25.25 0 0 0 5.75 6h-.5a.25.25 0 0 0-.25.25zM2.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5A.25.25 0 0 0 4 6.75v-.5A.25.25 0 0 0 3.75 6h-1.5zM2 10.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM4.25 10a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h5.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-5.5z\"}}]})(props);\n};\nexport function BsKeyboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h12zM2 4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 10.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5zm0-2a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5zm-5 0A.25.25 0 0 1 8.25 8h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 8 8.75v-.5zm2 0a.25.25 0 0 1 .25-.25h1.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25v-.5zm1 2a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5zm-5-2A.25.25 0 0 1 6.25 8h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 6 8.75v-.5zm-2 0A.25.25 0 0 1 4.25 8h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 8.75v-.5zm-2 0A.25.25 0 0 1 2.25 8h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 2 8.75v-.5zm11-2a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5zm-2 0a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5zm-2 0A.25.25 0 0 1 9.25 6h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 9 6.75v-.5zm-2 0A.25.25 0 0 1 7.25 6h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 7 6.75v-.5zm-2 0A.25.25 0 0 1 5.25 6h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 6.75v-.5zm-3 0A.25.25 0 0 1 2.25 6h1.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-1.5A.25.25 0 0 1 2 6.75v-.5zm0 4a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5zm2 0a.25.25 0 0 1 .25-.25h5.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-5.5a.25.25 0 0 1-.25-.25v-.5z\"}}]})(props);\n};\nexport function BsLadder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 1a.5.5 0 0 1 .5.5V2h6v-.5a.5.5 0 0 1 1 0v14a.5.5 0 0 1-1 0V15H5v.5a.5.5 0 0 1-1 0v-14a.5.5 0 0 1 .5-.5zM5 14h6v-2H5v2zm0-3h6V9H5v2zm0-3h6V6H5v2zm0-3h6V3H5v2z\"}}]})(props);\n};\nexport function BsLampFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3zm5.5-2 .276-.553a.25.25 0 0 1 .448 0L8.5 1h-1zm-.615 8h2.23C9.968 10.595 11 12.69 11 13.5c0 1.38-1.343 2.5-3 2.5s-3-1.12-3-2.5c0-.81 1.032-2.905 1.885-4.5z\"}}]})(props);\n};\nexport function BsLamp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 3v4H3V3h10zM3 2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H3zm4.5-1 .276-.553a.25.25 0 0 1 .448 0L8.5 1h-1zm-.012 9h1.024c.337.646.677 1.33.95 1.949.176.396.318.75.413 1.042.048.146.081.266.102.36A1.347 1.347 0 0 1 10 13.5c0 .665-.717 1.5-2 1.5s-2-.835-2-1.5c0 0 0-.013.004-.039.003-.027.01-.063.02-.11.02-.094.053-.214.1-.36.096-.291.238-.646.413-1.042.274-.62.614-1.303.95-1.949zm1.627-1h-2.23C6.032 10.595 5 12.69 5 13.5 5 14.88 6.343 16 8 16s3-1.12 3-2.5c0-.81-1.032-2.905-1.885-4.5z\"}}]})(props);\n};\nexport function BsLaptopFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 2A1.5 1.5 0 0 0 1 3.5V12h14V3.5A1.5 1.5 0 0 0 13.5 2h-11zM0 12.5h16a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5z\"}}]})(props);\n};\nexport function BsLaptop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 3a.5.5 0 0 1 .5.5V11H2V3.5a.5.5 0 0 1 .5-.5h11zm-11-1A1.5 1.5 0 0 0 1 3.5V12h14V3.5A1.5 1.5 0 0 0 13.5 2h-11zM0 12.5h16a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5z\"}}]})(props);\n};\nexport function BsLayerBackward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.354 15.854a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 0-.708l1-1a.5.5 0 0 1 .708 0l.646.647V4H1a1 1 0 0 1-1-1V1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H9v7.793l.646-.647a.5.5 0 0 1 .708 0l1 1a.5.5 0 0 1 0 .708l-3 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 9a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4.5a.5.5 0 0 1 0 1H1v2h4.5a.5.5 0 0 1 0 1H1zm9.5 0a.5.5 0 0 1 0-1H15V6h-4.5a.5.5 0 0 1 0-1H15a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-4.5z\"}}]})(props);\n};\nexport function BsLayerForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.354.146a.5.5 0 0 0-.708 0l-3 3a.5.5 0 0 0 0 .708l1 1a.5.5 0 0 0 .708 0L7 4.207V12H1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H9V4.207l.646.647a.5.5 0 0 0 .708 0l1-1a.5.5 0 0 0 0-.708l-3-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h4.5a.5.5 0 0 0 0-1H1V8h4.5a.5.5 0 0 0 0-1H1zm9.5 0a.5.5 0 0 0 0 1H15v2h-4.5a.5.5 0 0 0 0 1H15a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-4.5z\"}}]})(props);\n};\nexport function BsLayersFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.765 1.559a.5.5 0 0 1 .47 0l7.5 4a.5.5 0 0 1 0 .882l-7.5 4a.5.5 0 0 1-.47 0l-7.5-4a.5.5 0 0 1 0-.882l7.5-4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2.125 8.567-1.86.992a.5.5 0 0 0 0 .882l7.5 4a.5.5 0 0 0 .47 0l7.5-4a.5.5 0 0 0 0-.882l-1.86-.992-5.17 2.756a1.5 1.5 0 0 1-1.41 0l-5.17-2.756z\"}}]})(props);\n};\nexport function BsLayersHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.235 1.559a.5.5 0 0 0-.47 0l-7.5 4a.5.5 0 0 0 0 .882L3.188 8 .264 9.559a.5.5 0 0 0 0 .882l7.5 4a.5.5 0 0 0 .47 0l7.5-4a.5.5 0 0 0 0-.882L12.813 8l2.922-1.559a.5.5 0 0 0 0-.882l-7.5-4zM8 9.433 1.562 6 8 2.567 14.438 6 8 9.433z\"}}]})(props);\n};\nexport function BsLayers (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.235 1.559a.5.5 0 0 0-.47 0l-7.5 4a.5.5 0 0 0 0 .882L3.188 8 .264 9.559a.5.5 0 0 0 0 .882l7.5 4a.5.5 0 0 0 .47 0l7.5-4a.5.5 0 0 0 0-.882L12.813 8l2.922-1.559a.5.5 0 0 0 0-.882l-7.5-4zm3.515 7.008L14.438 10 8 13.433 1.562 10 4.25 8.567l3.515 1.874a.5.5 0 0 0 .47 0l3.515-1.874zM8 9.433 1.562 6 8 2.567 14.438 6 8 9.433z\"}}]})(props);\n};\nexport function BsLayoutSidebarInsetReverse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2zm12-1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsLayoutSidebarInset (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h12zM2 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4z\"}}]})(props);\n};\nexport function BsLayoutSidebarReverse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 3a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3zm-5-1v12H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h9zm1 0h2a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-2V2z\"}}]})(props);\n};\nexport function BsLayoutSidebar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3zm5-1v12h9a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H5zM4 2H2a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h2V2z\"}}]})(props);\n};\nexport function BsLayoutSplit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3zm8.5-1v12H14a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H8.5zm-1 0H2a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h5.5V2z\"}}]})(props);\n};\nexport function BsLayoutTextSidebarReverse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 3a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5zm0 3a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5zm.5 3.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 .5-.5zm-.5 2.5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2zM4 1v14H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h2zm1 0h9a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H5V1z\"}}]})(props);\n};\nexport function BsLayoutTextSidebar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 3a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zM3 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm.5 2.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm12-1v14h2a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1h-2zm-1 0H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h9V1z\"}}]})(props);\n};\nexport function BsLayoutTextWindowReverse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 .5-.5zm0 3a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 .5-.5zm-.5 2.5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12zM2 1a1 1 0 0 0-1 1v1h14V2a1 1 0 0 0-1-1H2zM1 4v10a1 1 0 0 0 1 1h2V4H1zm4 0v11h9a1 1 0 0 0 1-1V4H5z\"}}]})(props);\n};\nexport function BsLayoutTextWindow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 6.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 3a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm.5 2.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm12 1a1 1 0 0 1 1 1v1H1V2a1 1 0 0 1 1-1h12zm1 3v10a1 1 0 0 1-1 1h-2V4h3zm-4 0v11H2a1 1 0 0 1-1-1V4h10z\"}}]})(props);\n};\nexport function BsLayoutThreeColumns (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A1.5 1.5 0 0 1 1.5 0h13A1.5 1.5 0 0 1 16 1.5v13a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 14.5v-13zM1.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 .5.5H5V1H1.5zM10 15V1H6v14h4zm1 0h3.5a.5.5 0 0 0 .5-.5v-13a.5.5 0 0 0-.5-.5H11v14z\"}}]})(props);\n};\nexport function BsLayoutWtf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 1v8H1V1h4zM1 0a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1H1zm13 2v5H9V2h5zM9 1a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H9zM5 13v2H3v-2h2zm-2-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H3zm12-1v2H9v-2h6zm-6-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H9z\"}}]})(props);\n};\nexport function BsLifePreserver (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm6.43-5.228a7.025 7.025 0 0 1-3.658 3.658l-1.115-2.788a4.015 4.015 0 0 0 1.985-1.985l2.788 1.115zM5.228 14.43a7.025 7.025 0 0 1-3.658-3.658l2.788-1.115a4.015 4.015 0 0 0 1.985 1.985L5.228 14.43zm9.202-9.202-2.788 1.115a4.015 4.015 0 0 0-1.985-1.985l1.115-2.788a7.025 7.025 0 0 1 3.658 3.658zm-8.087-.87a4.015 4.015 0 0 0-1.985 1.985L1.57 5.228A7.025 7.025 0 0 1 5.228 1.57l1.115 2.788zM8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]})(props);\n};\nexport function BsLightbulbFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6a6 6 0 1 1 10.174 4.31c-.203.196-.359.4-.453.619l-.762 1.769A.5.5 0 0 1 10.5 13h-5a.5.5 0 0 1-.46-.302l-.761-1.77a1.964 1.964 0 0 0-.453-.618A5.984 5.984 0 0 1 2 6zm3 8.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1l-.224.447a1 1 0 0 1-.894.553H6.618a1 1 0 0 1-.894-.553L5.5 15a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsLightbulbOffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6c0-.572.08-1.125.23-1.65l8.558 8.559A.5.5 0 0 1 10.5 13h-5a.5.5 0 0 1-.46-.302l-.761-1.77a1.964 1.964 0 0 0-.453-.618A5.984 5.984 0 0 1 2 6zm10.303 4.181L3.818 1.697a6 6 0 0 1 8.484 8.484zM5 14.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1l-.224.447a1 1 0 0 1-.894.553H6.618a1 1 0 0 1-.894-.553L5.5 15a.5.5 0 0 1-.5-.5zM2.354 1.646a.5.5 0 1 0-.708.708l12 12a.5.5 0 0 0 .708-.708l-12-12z\"}}]})(props);\n};\nexport function BsLightbulbOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2.23 4.35A6.004 6.004 0 0 0 2 6c0 1.691.7 3.22 1.826 4.31.203.196.359.4.453.619l.762 1.769A.5.5 0 0 0 5.5 13a.5.5 0 0 0 0 1 .5.5 0 0 0 0 1l.224.447a1 1 0 0 0 .894.553h2.764a1 1 0 0 0 .894-.553L10.5 15a.5.5 0 0 0 0-1 .5.5 0 0 0 0-1 .5.5 0 0 0 .288-.091L9.878 12H5.83l-.632-1.467a2.954 2.954 0 0 0-.676-.941 4.984 4.984 0 0 1-1.455-4.405l-.837-.836zm1.588-2.653.708.707a5 5 0 0 1 7.07 7.07l.707.707a6 6 0 0 0-8.484-8.484zm-2.172-.051a.5.5 0 0 1 .708 0l12 12a.5.5 0 0 1-.708.708l-12-12a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsLightbulb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6a6 6 0 1 1 10.174 4.31c-.203.196-.359.4-.453.619l-.762 1.769A.5.5 0 0 1 10.5 13a.5.5 0 0 1 0 1 .5.5 0 0 1 0 1l-.224.447a1 1 0 0 1-.894.553H6.618a1 1 0 0 1-.894-.553L5.5 15a.5.5 0 0 1 0-1 .5.5 0 0 1 0-1 .5.5 0 0 1-.46-.302l-.761-1.77a1.964 1.964 0 0 0-.453-.618A5.984 5.984 0 0 1 2 6zm6-5a5 5 0 0 0-3.479 8.592c.263.254.514.564.676.941L5.83 12h4.342l.632-1.467c.162-.377.413-.687.676-.941A5 5 0 0 0 8 1z\"}}]})(props);\n};\nexport function BsLightningChargeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.251.068a.5.5 0 0 1 .227.58L9.677 6.5H13a.5.5 0 0 1 .364.843l-8 8.5a.5.5 0 0 1-.842-.49L6.323 9.5H3a.5.5 0 0 1-.364-.843l8-8.5a.5.5 0 0 1 .615-.09z\"}}]})(props);\n};\nexport function BsLightningCharge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.251.068a.5.5 0 0 1 .227.58L9.677 6.5H13a.5.5 0 0 1 .364.843l-8 8.5a.5.5 0 0 1-.842-.49L6.323 9.5H3a.5.5 0 0 1-.364-.843l8-8.5a.5.5 0 0 1 .615-.09zM4.157 8.5H7a.5.5 0 0 1 .478.647L6.11 13.59l5.732-6.09H9a.5.5 0 0 1-.478-.647L9.89 2.41 4.157 8.5z\"}}]})(props);\n};\nexport function BsLightningFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.52.359A.5.5 0 0 1 6 0h4a.5.5 0 0 1 .474.658L8.694 6H12.5a.5.5 0 0 1 .395.807l-7 9a.5.5 0 0 1-.873-.454L6.823 9.5H3.5a.5.5 0 0 1-.48-.641l2.5-8.5z\"}}]})(props);\n};\nexport function BsLightning (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.52.359A.5.5 0 0 1 6 0h4a.5.5 0 0 1 .474.658L8.694 6H12.5a.5.5 0 0 1 .395.807l-7 9a.5.5 0 0 1-.873-.454L6.823 9.5H3.5a.5.5 0 0 1-.48-.641l2.5-8.5zM6.374 1 4.168 8.5H7.5a.5.5 0 0 1 .478.647L6.78 13.04 11.478 7H8a.5.5 0 0 1-.474-.658L9.306 1H6.374z\"}}]})(props);\n};\nexport function BsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0c4.411 0 8 2.912 8 6.492 0 1.433-.555 2.723-1.715 3.994-1.678 1.932-5.431 4.285-6.285 4.645-.83.35-.734-.197-.696-.413l.003-.018.114-.685c.027-.204.055-.521-.026-.723-.09-.223-.444-.339-.704-.395C2.846 12.39 0 9.701 0 6.492 0 2.912 3.59 0 8 0zM5.022 7.686H3.497V4.918a.156.156 0 0 0-.155-.156H2.78a.156.156 0 0 0-.156.156v3.486c0 .041.017.08.044.107v.001l.002.002.002.002a.154.154 0 0 0 .108.043h2.242c.086 0 .155-.07.155-.156v-.56a.156.156 0 0 0-.155-.157zm.791-2.924h.562c.086 0 .155.07.155.156v3.486c0 .086-.07.155-.155.155h-.562a.156.156 0 0 1-.156-.155V4.918c0-.086.07-.156.156-.156zm3.863 0h.56c.087 0 .157.07.157.156v3.486c0 .086-.07.155-.156.155h-.561a.155.155 0 0 1-.04-.005h-.002a.168.168 0 0 1-.011-.004l-.005-.002-.007-.003a.066.066 0 0 1-.008-.004L9.6 8.54l-.01-.006-.001-.001a.154.154 0 0 1-.04-.039l-1.6-2.16v2.07a.155.155 0 0 1-.155.156h-.561a.156.156 0 0 1-.156-.155V4.918c0-.086.07-.156.156-.156H7.8l.005.001h.006l.003.001h.006l.01.003h.002l.002.001.01.003.005.002a.09.09 0 0 1 .009.004l.003.001.002.001a.113.113 0 0 1 .013.008l.003.002.005.003v.001c.002 0 .003.002.004.003a.092.092 0 0 1 .008.006l.003.003a.17.17 0 0 1 .023.026L9.52 6.99V4.918c0-.086.07-.156.156-.156zm3.815.717c0 .086-.07.156-.155.156H11.81v.59h1.525c.086 0 .155.07.155.155v.561c0 .086-.07.156-.155.156H11.81v.59h1.525c.086 0 .155.07.155.155v.561c0 .086-.07.156-.155.156h-2.242a.155.155 0 0 1-.11-.045l-.002-.003a.155.155 0 0 1-.044-.107V4.918c0-.042.017-.08.043-.107l.003-.003.001-.001a.155.155 0 0 1 .109-.045h2.242c.086 0 .155.07.155.156v.561z\"}}]})(props);\n};\nexport function BsLink45Deg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.715 6.542 3.343 7.914a3 3 0 1 0 4.243 4.243l1.828-1.829A3 3 0 0 0 8.586 5.5L8 6.086a1.002 1.002 0 0 0-.154.199 2 2 0 0 1 .861 3.337L6.88 11.45a2 2 0 1 1-2.83-2.83l.793-.792a4.018 4.018 0 0 1-.128-1.287z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.586 4.672A3 3 0 0 0 7.414 9.5l.775-.776a2 2 0 0 1-.896-3.346L9.12 3.55a2 2 0 1 1 2.83 2.83l-.793.792c.112.42.155.855.128 1.287l1.372-1.372a3 3 0 1 0-4.243-4.243L6.586 4.672z\"}}]})(props);\n};\nexport function BsLink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.354 5.5H4a3 3 0 0 0 0 6h3a3 3 0 0 0 2.83-4H9c-.086 0-.17.01-.25.031A2 2 0 0 1 7 10.5H4a2 2 0 1 1 0-4h1.535c.218-.376.495-.714.82-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 5.5a3 3 0 0 0-2.83 4h1.098A2 2 0 0 1 9 6.5h3a2 2 0 1 1 0 4h-1.535a4.02 4.02 0 0 1-.82 1H12a3 3 0 1 0 0-6H9z\"}}]})(props);\n};\nexport function BsLinkedin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854V1.146zm4.943 12.248V6.169H2.542v7.225h2.401zm-1.2-8.212c.837 0 1.358-.554 1.358-1.248-.015-.709-.52-1.248-1.342-1.248-.822 0-1.359.54-1.359 1.248 0 .694.521 1.248 1.327 1.248h.016zm4.908 8.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878 1.232-.878.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274 0-1.845.7-2.165 1.193v.025h-.016a5.54 5.54 0 0 1 .016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225h2.4z\"}}]})(props);\n};\nexport function BsListCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM3.854 2.146a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0l-.5-.5a.5.5 0 1 1 .708-.708L2 3.293l1.146-1.147a.5.5 0 0 1 .708 0zm0 4a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0l-.5-.5a.5.5 0 1 1 .708-.708L2 7.293l1.146-1.147a.5.5 0 0 1 .708 0zm0 4a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0l-.5-.5a.5.5 0 0 1 .708-.708l.146.147 1.146-1.147a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsListNested (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsListOl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.713 11.865v-.474H2c.217 0 .363-.137.363-.317 0-.185-.158-.31-.361-.31-.223 0-.367.152-.373.31h-.59c.016-.467.373-.787.986-.787.588-.002.954.291.957.703a.595.595 0 0 1-.492.594v.033a.615.615 0 0 1 .569.631c.003.533-.502.8-1.051.8-.656 0-1-.37-1.008-.794h.582c.008.178.186.306.422.309.254 0 .424-.145.422-.35-.002-.195-.155-.348-.414-.348h-.3zm-.004-4.699h-.604v-.035c0-.408.295-.844.958-.844.583 0 .96.326.96.756 0 .389-.257.617-.476.848l-.537.572v.03h1.054V9H1.143v-.395l.957-.99c.138-.142.293-.304.293-.508 0-.18-.147-.32-.342-.32a.33.33 0 0 0-.342.338v.041zM2.564 5h-.635V2.924h-.031l-.598.42v-.567l.629-.443h.635V5z\"}}]})(props);\n};\nexport function BsListStars (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.242 2.194a.27.27 0 0 1 .516 0l.162.53c.035.115.14.194.258.194h.551c.259 0 .37.333.164.493l-.468.363a.277.277 0 0 0-.094.3l.173.569c.078.256-.213.462-.423.3l-.417-.324a.267.267 0 0 0-.328 0l-.417.323c-.21.163-.5-.043-.423-.299l.173-.57a.277.277 0 0 0-.094-.299l-.468-.363c-.206-.16-.095-.493.164-.493h.55a.271.271 0 0 0 .259-.194l.162-.53zm0 4a.27.27 0 0 1 .516 0l.162.53c.035.115.14.194.258.194h.551c.259 0 .37.333.164.493l-.468.363a.277.277 0 0 0-.094.3l.173.569c.078.255-.213.462-.423.3l-.417-.324a.267.267 0 0 0-.328 0l-.417.323c-.21.163-.5-.043-.423-.299l.173-.57a.277.277 0 0 0-.094-.299l-.468-.363c-.206-.16-.095-.493.164-.493h.55a.271.271 0 0 0 .259-.194l.162-.53zm0 4a.27.27 0 0 1 .516 0l.162.53c.035.115.14.194.258.194h.551c.259 0 .37.333.164.493l-.468.363a.277.277 0 0 0-.094.3l.173.569c.078.255-.213.462-.423.3l-.417-.324a.267.267 0 0 0-.328 0l-.417.323c-.21.163-.5-.043-.423-.299l.173-.57a.277.277 0 0 0-.094-.299l-.468-.363c-.206-.16-.095-.493.164-.493h.55a.271.271 0 0 0 .259-.194l.162-.53z\"}}]})(props);\n};\nexport function BsListTask (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 2.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5H2zM3 3H2v1h1V3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM5.5 7a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 4a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.5 7a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H2a.5.5 0 0 1-.5-.5V7zM2 7h1v1H2V7zm0 3.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5H2zm1 .5H2v1h1v-1z\"}}]})(props);\n};\nexport function BsListUl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm-3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm0 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm0 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsLockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2z\"}}]})(props);\n};\nexport function BsLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zM5 8h6a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsMailbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a3 3 0 0 0-3 3v6h6V7a3 3 0 0 0-3-3zm0-1h8a4 4 0 0 1 4 4v6a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V7a4 4 0 0 1 4-4zm2.646 1A3.99 3.99 0 0 1 8 7v6h7V7a3 3 0 0 0-3-3H6.646z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.793 8.5H9v-1h5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.354-.146l-.853-.854zM5 7c0 .552-.448 0-1 0s-1 .552-1 0a1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsMailbox2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 8.5h2.793l.853.854A.5.5 0 0 0 13 9.5h1a.5.5 0 0 0 .5-.5V8a.5.5 0 0 0-.5-.5H9v1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3H4a4 4 0 0 0-4 4v6a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V7a4 4 0 0 0-4-4zM8 7a3.99 3.99 0 0 0-1.354-3H12a3 3 0 0 1 3 3v6H8V7zm-3.415.157C4.42 7.087 4.218 7 4 7c-.218 0-.42.086-.585.157C3.164 7.264 3 7.334 3 7a1 1 0 0 1 2 0c0 .334-.164.264-.415.157z\"}}]})(props);\n};\nexport function BsMapFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16 .5a.5.5 0 0 0-.598-.49L10.5.99 5.598.01a.5.5 0 0 0-.196 0l-5 1A.5.5 0 0 0 0 1.5v14a.5.5 0 0 0 .598.49l4.902-.98 4.902.98a.502.502 0 0 0 .196 0l5-1A.5.5 0 0 0 16 14.5V.5zM5 14.09V1.11l.5-.1.5.1v12.98l-.402-.08a.498.498 0 0 0-.196 0L5 14.09zm5 .8V1.91l.402.08a.5.5 0 0 0 .196 0L11 1.91v12.98l-.5.1-.5-.1z\"}}]})(props);\n};\nexport function BsMap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.817.113A.5.5 0 0 1 16 .5v14a.5.5 0 0 1-.402.49l-5 1a.502.502 0 0 1-.196 0L5.5 15.01l-4.902.98A.5.5 0 0 1 0 15.5v-14a.5.5 0 0 1 .402-.49l5-1a.5.5 0 0 1 .196 0L10.5.99l4.902-.98a.5.5 0 0 1 .415.103zM10 1.91l-4-.8v12.98l4 .8V1.91zm1 12.98 4-.8V1.11l-4 .8v12.98zm-6-.8V1.11l-4 .8v12.98l4-.8z\"}}]})(props);\n};\nexport function BsMarkdownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm11.5 1a.5.5 0 0 0-.5.5v3.793L9.854 8.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0-.708-.708L12 9.293V5.5a.5.5 0 0 0-.5-.5zM3.56 7.01h.056l1.428 3.239h.774l1.42-3.24h.056V11h1.073V5.001h-1.2l-1.71 3.894h-.039l-1.71-3.894H2.5V11h1.06V7.01z\"}}]})(props);\n};\nexport function BsMarkdown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.146 8.146a.5.5 0 0 1 .708 0L11.5 9.793l1.646-1.647a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.5 5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.56 11V7.01h.056l1.428 3.239h.774l1.42-3.24h.056V11h1.073V5.001h-1.2l-1.71 3.894h-.039l-1.71-3.894H2.5V11h1.06z\"}}]})(props);\n};\nexport function BsMask (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.225 1.227A7.5 7.5 0 0 1 10.5 8a7.5 7.5 0 0 1-4.275 6.773 7 7 0 1 0 0-13.546zM4.187.966a8 8 0 1 1 7.627 14.069A8 8 0 0 1 4.186.964z\"}}]})(props);\n};\nexport function BsMastodon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.19 12.195c2.016-.24 3.77-1.475 3.99-2.603.348-1.778.32-4.339.32-4.339 0-3.47-2.286-4.488-2.286-4.488C12.062.238 10.083.017 8.027 0h-.05C5.92.017 3.942.238 2.79.765c0 0-2.285 1.017-2.285 4.488l-.002.662c-.004.64-.007 1.35.011 2.091.083 3.394.626 6.74 3.78 7.57 1.454.383 2.703.463 3.709.408 1.823-.1 2.847-.647 2.847-.647l-.06-1.317s-1.303.41-2.767.36c-1.45-.05-2.98-.156-3.215-1.928a3.614 3.614 0 0 1-.033-.496s1.424.346 3.228.428c1.103.05 2.137-.064 3.188-.189zm1.613-2.47H11.13v-4.08c0-.859-.364-1.295-1.091-1.295-.804 0-1.207.517-1.207 1.541v2.233H7.168V5.89c0-1.024-.403-1.541-1.207-1.541-.727 0-1.091.436-1.091 1.296v4.079H3.197V5.522c0-.859.22-1.541.66-2.046.456-.505 1.052-.764 1.793-.764.856 0 1.504.328 1.933.983L8 4.39l.417-.695c.429-.655 1.077-.983 1.934-.983.74 0 1.336.259 1.791.764.442.505.661 1.187.661 2.046v4.203z\"}}]})(props);\n};\nexport function BsMedium (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.025 8c0 2.485-2.02 4.5-4.513 4.5A4.506 4.506 0 0 1 0 8c0-2.486 2.02-4.5 4.512-4.5A4.506 4.506 0 0 1 9.025 8zm4.95 0c0 2.34-1.01 4.236-2.256 4.236-1.246 0-2.256-1.897-2.256-4.236 0-2.34 1.01-4.236 2.256-4.236 1.246 0 2.256 1.897 2.256 4.236zM16 8c0 2.096-.355 3.795-.794 3.795-.438 0-.793-1.7-.793-3.795 0-2.096.355-3.795.794-3.795.438 0 .793 1.699.793 3.795z\"}}]})(props);\n};\nexport function BsMegaphoneFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 2.5a1.5 1.5 0 0 1 3 0v11a1.5 1.5 0 0 1-3 0v-11zm-1 .724c-2.067.95-4.539 1.481-7 1.656v6.237a25.222 25.222 0 0 1 1.088.085c2.053.204 4.038.668 5.912 1.56V3.224zm-8 7.841V4.934c-.68.027-1.399.043-2.008.053A2.02 2.02 0 0 0 0 7v2c0 1.106.896 1.996 1.994 2.009a68.14 68.14 0 0 1 .496.008 64 64 0 0 1 1.51.048zm1.39 1.081c.285.021.569.047.85.078l.253 1.69a1 1 0 0 1-.983 1.187h-.548a1 1 0 0 1-.916-.599l-1.314-2.48a65.81 65.81 0 0 1 1.692.064c.327.017.65.037.966.06z\"}}]})(props);\n};\nexport function BsMegaphone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 2.5a1.5 1.5 0 0 1 3 0v11a1.5 1.5 0 0 1-3 0v-.214c-2.162-1.241-4.49-1.843-6.912-2.083l.405 2.712A1 1 0 0 1 5.51 15.1h-.548a1 1 0 0 1-.916-.599l-1.85-3.49a68.14 68.14 0 0 0-.202-.003A2.014 2.014 0 0 1 0 9V7a2.02 2.02 0 0 1 1.992-2.013 74.663 74.663 0 0 0 2.483-.075c3.043-.154 6.148-.849 8.525-2.199V2.5zm1 0v11a.5.5 0 0 0 1 0v-11a.5.5 0 0 0-1 0zm-1 1.35c-2.344 1.205-5.209 1.842-8 2.033v4.233c.18.01.359.022.537.036 2.568.189 5.093.744 7.463 1.993V3.85zm-9 6.215v-4.13a95.09 95.09 0 0 1-1.992.052A1.02 1.02 0 0 0 1 7v2c0 .55.448 1.002 1.006 1.009A60.49 60.49 0 0 1 4 10.065zm-.657.975 1.609 3.037.01.024h.548l-.002-.014-.443-2.966a68.019 68.019 0 0 0-1.722-.082z\"}}]})(props);\n};\nexport function BsMenuAppFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A1.5 1.5 0 0 1 1.5 0h2A1.5 1.5 0 0 1 5 1.5v2A1.5 1.5 0 0 1 3.5 5h-2A1.5 1.5 0 0 1 0 3.5v-2zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsMenuApp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A1.5 1.5 0 0 1 1.5 0h2A1.5 1.5 0 0 1 5 1.5v2A1.5 1.5 0 0 1 3.5 5h-2A1.5 1.5 0 0 1 0 3.5v-2zM1.5 1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsMenuButtonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 0A1.5 1.5 0 0 0 0 1.5v2A1.5 1.5 0 0 0 1.5 5h8A1.5 1.5 0 0 0 11 3.5v-2A1.5 1.5 0 0 0 9.5 0h-8zm5.927 2.427A.25.25 0 0 1 7.604 2h.792a.25.25 0 0 1 .177.427l-.396.396a.25.25 0 0 1-.354 0l-.396-.396zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsMenuButtonWideFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 0A1.5 1.5 0 0 0 0 1.5v2A1.5 1.5 0 0 0 1.5 5h13A1.5 1.5 0 0 0 16 3.5v-2A1.5 1.5 0 0 0 14.5 0h-13zm1 2h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1zm9.927.427A.25.25 0 0 1 12.604 2h.792a.25.25 0 0 1 .177.427l-.396.396a.25.25 0 0 1-.354 0l-.396-.396zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsMenuButtonWide (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A1.5 1.5 0 0 1 1.5 0h13A1.5 1.5 0 0 1 16 1.5v2A1.5 1.5 0 0 1 14.5 5h-13A1.5 1.5 0 0 1 0 3.5v-2zM1.5 1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5zm10.823.323-.396-.396A.25.25 0 0 1 12.604 2h.792a.25.25 0 0 1 .177.427l-.396.396a.25.25 0 0 1-.354 0zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsMenuButton (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v2A1.5 1.5 0 0 1 9.5 5h-8A1.5 1.5 0 0 1 0 3.5v-2zM1.5 1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7.823 2.823-.396-.396A.25.25 0 0 1 7.604 2h.792a.25.25 0 0 1 .177.427l-.396.396a.25.25 0 0 1-.354 0zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsMenuDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646.146a.5.5 0 0 1 .708 0L10.207 2H14a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h3.793L7.646.146zM1 7v3h14V7H1zm14-1V4a1 1 0 0 0-1-1h-3.793a1 1 0 0 1-.707-.293L8 1.207l-1.5 1.5A1 1 0 0 1 5.793 3H2a1 1 0 0 0-1 1v2h14zm0 5H1v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2zM2 4.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsMenuUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 15.854a.5.5 0 0 0 .708 0L10.207 14H14a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h3.793l1.853 1.854zM1 9V6h14v3H1zm14 1v2a1 1 0 0 1-1 1h-3.793a1 1 0 0 0-.707.293l-1.5 1.5-1.5-1.5A1 1 0 0 0 5.793 13H2a1 1 0 0 1-1-1v-2h14zm0-5H1V3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v2zM2 11.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 0-1h-8a.5.5 0 0 0-.5.5zm0-4a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 0-1h-11a.5.5 0 0 0-.5.5zm0-4a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 0-1h-6a.5.5 0 0 0-.5.5z\"}}]})(props);\n};\nexport function BsMessenger (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 7.76C0 3.301 3.493 0 8 0s8 3.301 8 7.76-3.493 7.76-8 7.76c-.81 0-1.586-.107-2.316-.307a.639.639 0 0 0-.427.03l-1.588.702a.64.64 0 0 1-.898-.566l-.044-1.423a.639.639 0 0 0-.215-.456C.956 12.108 0 10.092 0 7.76zm5.546-1.459-2.35 3.728c-.225.358.214.761.551.506l2.525-1.916a.48.48 0 0 1 .578-.002l1.869 1.402a1.2 1.2 0 0 0 1.735-.32l2.35-3.728c.226-.358-.214-.761-.551-.506L9.728 7.381a.48.48 0 0 1-.578.002L7.281 5.98a1.2 1.2 0 0 0-1.735.32z\"}}]})(props);\n};\nexport function BsMicFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3a3 3 0 0 1 6 0v5a3 3 0 0 1-6 0V3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 6.5A.5.5 0 0 1 4 7v1a4 4 0 0 0 8 0V7a.5.5 0 0 1 1 0v1a5 5 0 0 1-4.5 4.975V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsMicMuteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 8c0 .564-.094 1.107-.266 1.613l-.814-.814A4.02 4.02 0 0 0 12 8V7a.5.5 0 0 1 1 0v1zm-5 4c.818 0 1.578-.245 2.212-.667l.718.719a4.973 4.973 0 0 1-2.43.923V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 1 0v1a4 4 0 0 0 4 4zm3-9v4.879L5.158 2.037A3.001 3.001 0 0 1 11 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.486 10.607 5 6.12V8a3 3 0 0 0 4.486 2.607zm-7.84-9.253 12 12 .708-.708-12-12-.708.708z\"}}]})(props);\n};\nexport function BsMicMute (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 8c0 .564-.094 1.107-.266 1.613l-.814-.814A4.02 4.02 0 0 0 12 8V7a.5.5 0 0 1 1 0v1zm-5 4c.818 0 1.578-.245 2.212-.667l.718.719a4.973 4.973 0 0 1-2.43.923V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 1 0v1a4 4 0 0 0 4 4zm3-9v4.879l-1-1V3a2 2 0 0 0-3.997-.118l-.845-.845A3.001 3.001 0 0 1 11 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9.486 10.607-.748-.748A2 2 0 0 1 6 8v-.878l-1-1V8a3 3 0 0 0 4.486 2.607zm-7.84-9.253 12 12 .708-.708-12-12-.708.708z\"}}]})(props);\n};\nexport function BsMic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 6.5A.5.5 0 0 1 4 7v1a4 4 0 0 0 8 0V7a.5.5 0 0 1 1 0v1a5 5 0 0 1-4.5 4.975V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 8a2 2 0 1 1-4 0V3a2 2 0 1 1 4 0v5zM8 0a3 3 0 0 0-3 3v5a3 3 0 0 0 6 0V3a3 3 0 0 0-3-3z\"}}]})(props);\n};\nexport function BsMicrosoft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.462 0H0v7.19h7.462V0zM16 0H8.538v7.19H16V0zM7.462 8.211H0V16h7.462V8.211zm8.538 0H8.538V16H16V8.211z\"}}]})(props);\n};\nexport function BsMinecartLoaded (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 15a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0 1a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm8-1a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0 1a2 2 0 1 0 0-4 2 2 0 0 0 0 4zM.115 3.18A.5.5 0 0 1 .5 3h15a.5.5 0 0 1 .491.592l-1.5 8A.5.5 0 0 1 14 12H2a.5.5 0 0 1-.491-.408l-1.5-8a.5.5 0 0 1 .106-.411zm.987.82 1.313 7h11.17l1.313-7H1.102z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 1a2.498 2.498 0 0 1 4 0c.818 0 1.545.394 2 1 .67 0 1.552.57 2 1h-2c-.314 0-.611-.15-.8-.4-.274-.365-.71-.6-1.2-.6-.314 0-.611-.15-.8-.4a1.497 1.497 0 0 0-2.4 0c-.189.25-.486.4-.8.4-.507 0-.955.251-1.228.638-.09.13-.194.25-.308.362H3c.13-.147.401-.432.562-.545a1.63 1.63 0 0 0 .393-.393A2.498 2.498 0 0 1 6 1z\"}}]})(props);\n};\nexport function BsMinecart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 15a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0 1a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm8-1a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0 1a2 2 0 1 0 0-4 2 2 0 0 0 0 4zM.115 3.18A.5.5 0 0 1 .5 3h15a.5.5 0 0 1 .491.592l-1.5 8A.5.5 0 0 1 14 12H2a.5.5 0 0 1-.491-.408l-1.5-8a.5.5 0 0 1 .106-.411zm.987.82 1.313 7h11.17l1.313-7H1.102z\"}}]})(props);\n};\nexport function BsMoisture (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 0a.5.5 0 0 0 0 1H15v2.75h-.5a.5.5 0 0 0 0 1h.5V7.5h-1.5a.5.5 0 0 0 0 1H15v2.75h-.5a.5.5 0 0 0 0 1h.5V15h-1.5a.5.5 0 0 0 0 1h2a.5.5 0 0 0 .5-.5V.5a.5.5 0 0 0-.5-.5h-2zM7 1.5l.364-.343a.5.5 0 0 0-.728 0l-.002.002-.006.007-.022.023-.08.088a28.458 28.458 0 0 0-1.274 1.517c-.769.983-1.714 2.325-2.385 3.727C2.368 7.564 2 8.682 2 9.733 2 12.614 4.212 15 7 15s5-2.386 5-5.267c0-1.05-.368-2.169-.867-3.212-.671-1.402-1.616-2.744-2.385-3.727a28.458 28.458 0 0 0-1.354-1.605l-.022-.023-.006-.007-.002-.001L7 1.5zm0 0-.364-.343L7 1.5zm-.016.766L7 2.247l.016.019c.24.274.572.667.944 1.144.611.781 1.32 1.776 1.901 2.827H4.14c.58-1.051 1.29-2.046 1.9-2.827.373-.477.706-.87.945-1.144zM3 9.733c0-.755.244-1.612.638-2.496h6.724c.395.884.638 1.741.638 2.496C11 12.117 9.182 14 7 14s-4-1.883-4-4.267z\"}}]})(props);\n};\nexport function BsMoonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278z\"}}]})(props);\n};\nexport function BsMoonStarsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.794 3.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387a1.734 1.734 0 0 0-1.097 1.097l-.387 1.162a.217.217 0 0 1-.412 0l-.387-1.162A1.734 1.734 0 0 0 9.31 6.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387a1.734 1.734 0 0 0 1.097-1.097l.387-1.162zM13.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.156 1.156 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.156 1.156 0 0 0-.732-.732l-.774-.258a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732L13.863.1z\"}}]})(props);\n};\nexport function BsMoonStars (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278zM4.858 1.311A7.269 7.269 0 0 0 1.025 7.71c0 4.02 3.279 7.276 7.319 7.276a7.316 7.316 0 0 0 5.205-2.162c-.337.042-.68.063-1.029.063-4.61 0-8.343-3.714-8.343-8.29 0-1.167.242-2.278.681-3.286z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.794 3.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387a1.734 1.734 0 0 0-1.097 1.097l-.387 1.162a.217.217 0 0 1-.412 0l-.387-1.162A1.734 1.734 0 0 0 9.31 6.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387a1.734 1.734 0 0 0 1.097-1.097l.387-1.162zM13.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.156 1.156 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.156 1.156 0 0 0-.732-.732l-.774-.258a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732L13.863.1z\"}}]})(props);\n};\nexport function BsMoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278zM4.858 1.311A7.269 7.269 0 0 0 1.025 7.71c0 4.02 3.279 7.276 7.319 7.276a7.316 7.316 0 0 0 5.205-2.162c-.337.042-.68.063-1.029.063-4.61 0-8.343-3.714-8.343-8.29 0-1.167.242-2.278.681-3.286z\"}}]})(props);\n};\nexport function BsMouseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5a5 5 0 0 1 10 0v6a5 5 0 0 1-10 0V5zm5.5-1.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 1 0v-2z\"}}]})(props);\n};\nexport function BsMouse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 3zm4 8a4 4 0 0 1-8 0V5a4 4 0 1 1 8 0v6zM8 0a5 5 0 0 0-5 5v6a5 5 0 0 0 10 0V5a5 5 0 0 0-5-5z\"}}]})(props);\n};\nexport function BsMouse2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5.026C4.958.286 3 2.515 3 5.188V5.5h4.5V.026zm1 0V5.5H13v-.312C13 2.515 11.042.286 8.5.026zM13 6.5H3v4.313C3 13.658 5.22 16 8 16s5-2.342 5-5.188V6.5z\"}}]})(props);\n};\nexport function BsMouse2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5.188C3 2.341 5.22 0 8 0s5 2.342 5 5.188v5.625C13 13.658 10.78 16 8 16s-5-2.342-5-5.188V5.189zm4.5-4.155C5.541 1.289 4 3.035 4 5.188V5.5h3.5V1.033zm1 0V5.5H12v-.313c0-2.152-1.541-3.898-3.5-4.154zM12 6.5H4v4.313C4 13.145 5.81 15 8 15s4-1.855 4-4.188V6.5z\"}}]})(props);\n};\nexport function BsMouse3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5.069A15.328 15.328 0 0 0 7 0c-.593 0-1.104.157-1.527.463-.418.302-.717.726-.93 1.208-.386.873-.522 2.01-.54 3.206l4.497 1V.069zM3.71 5.836 3.381 6A2.5 2.5 0 0 0 2 8.236v2.576C2 13.659 4.22 16 7 16h2c2.78 0 5-2.342 5-5.188V8.123l-9-2v.003l.008.353c.007.3.023.715.053 1.175.063.937.186 2.005.413 2.688a.5.5 0 1 1-.948.316c-.273-.817-.4-2-.462-2.937A30.16 30.16 0 0 1 4 6.003c0-.034.003-.067.01-.1l-.3-.067zM14 7.1V5.187c0-1.13-.272-2.044-.748-2.772-.474-.726-1.13-1.235-1.849-1.59A7.495 7.495 0 0 0 9.5.212v5.887l4.5 1z\"}}]})(props);\n};\nexport function BsMouse3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 0c-.593 0-1.104.157-1.527.463-.418.302-.717.726-.93 1.208C4.123 2.619 4 3.879 4 5.187v.504L3.382 6A2.5 2.5 0 0 0 2 8.236v2.576C2 13.659 4.22 16 7 16h2c2.78 0 5-2.342 5-5.188V7.51a.71.71 0 0 0 0-.02V5.186c0-1.13-.272-2.044-.748-2.772-.474-.726-1.13-1.235-1.849-1.59C9.981.123 8.26 0 7 0zm2.5 6.099V1.232c.51.11 1.008.267 1.46.49.596.293 1.099.694 1.455 1.24.355.543.585 1.262.585 2.225v1.69l-3.5-.778zm-1-5.025v4.803L5 5.099c.006-1.242.134-2.293.457-3.024.162-.366.363-.63.602-.801C6.292 1.105 6.593 1 7 1c.468 0 .98.018 1.5.074zM5 6.124 13 7.9v2.912C13 13.145 11.19 15 9 15H7c-2.19 0-4-1.855-4-4.188V8.236a1.5 1.5 0 0 1 .83-1.342l.187-.093c.01.265.024.58.047.92.062.938.19 2.12.462 2.937a.5.5 0 1 0 .948-.316c-.227-.683-.35-1.75-.413-2.688a29.17 29.17 0 0 1-.06-1.528v-.002z\"}}]})(props);\n};\nexport function BsMusicNoteBeamed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 13c0 1.105-1.12 2-2.5 2S1 14.105 1 13c0-1.104 1.12-2 2.5-2s2.5.896 2.5 2zm9-2c0 1.105-1.12 2-2.5 2s-2.5-.895-2.5-2 1.12-2 2.5-2 2.5.895 2.5 2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 11V2h1v9h-1zM6 3v10H5V3h1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2.905a1 1 0 0 1 .9-.995l8-.8a1 1 0 0 1 1.1.995V3L5 4V2.905z\"}}]})(props);\n};\nexport function BsMusicNoteList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13c0 1.105-1.12 2-2.5 2S7 14.105 7 13s1.12-2 2.5-2 2.5.895 2.5 2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12 3v10h-1V3h1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2.82a1 1 0 0 1 .804-.98l3-.6A1 1 0 0 1 16 2.22V4l-5 1V2.82z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 11.5a.5.5 0 0 1 .5-.5H4a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5zm0-4A.5.5 0 0 1 .5 7H8a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5zm0-4A.5.5 0 0 1 .5 3H8a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsMusicNote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 13c0 1.105-1.12 2-2.5 2S4 14.105 4 13s1.12-2 2.5-2 2.5.895 2.5 2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9 3v10H8V3h1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2.82a1 1 0 0 1 .804-.98l3-.6A1 1 0 0 1 13 2.22V4L8 5V2.82z\"}}]})(props);\n};\nexport function BsMusicPlayerFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm1 2h6a1 1 0 0 1 1 1v2.5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm3 12a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]})(props);\n};\nexport function BsMusicPlayer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3zm1 0v3h6V3H5zm3 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 11a3 3 0 1 1-6 0 3 3 0 0 1 6 0zm-3 2a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm2-1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H4z\"}}]})(props);\n};\nexport function BsNewspaper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2.5A1.5 1.5 0 0 1 1.5 1h11A1.5 1.5 0 0 1 14 2.5v10.528c0 .3-.05.654-.238.972h.738a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 1 1 0v9a1.5 1.5 0 0 1-1.5 1.5H1.497A1.497 1.497 0 0 1 0 13.5v-11zM12 14c.37 0 .654-.211.853-.441.092-.106.147-.279.147-.531V2.5a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0-.5.5v11c0 .278.223.5.497.5H12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3h10v2H2V3zm0 3h4v3H2V6zm0 4h4v1H2v-1zm0 2h4v1H2v-1zm5-6h2v1H7V6zm3 0h2v1h-2V6zM7 8h2v1H7V8zm3 0h2v1h-2V8zm-3 2h2v1H7v-1zm3 0h2v1h-2v-1zm-3 2h2v1H7v-1zm3 0h2v1h-2v-1z\"}}]})(props);\n};\nexport function BsNodeMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16 8a5 5 0 0 1-9.975.5H4A1.5 1.5 0 0 1 2.5 10h-1A1.5 1.5 0 0 1 0 8.5v-1A1.5 1.5 0 0 1 1.5 6h1A1.5 1.5 0 0 1 4 7.5h2.025A5 5 0 0 1 16 8zm-2 0a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5A.5.5 0 0 0 14 8z\"}}]})(props);\n};\nexport function BsNodeMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11 4a4 4 0 1 0 0 8 4 4 0 0 0 0-8zM6.025 7.5a5 5 0 1 1 0 1H4A1.5 1.5 0 0 1 2.5 10h-1A1.5 1.5 0 0 1 0 8.5v-1A1.5 1.5 0 0 1 1.5 6h1A1.5 1.5 0 0 1 4 7.5h2.025zM1.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM8 8a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5A.5.5 0 0 1 8 8z\"}}]})(props);\n};\nexport function BsNodePlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 13a5 5 0 1 0-4.975-5.5H4A1.5 1.5 0 0 0 2.5 6h-1A1.5 1.5 0 0 0 0 7.5v1A1.5 1.5 0 0 0 1.5 10h1A1.5 1.5 0 0 0 4 8.5h2.025A5 5 0 0 0 11 13zm.5-7.5v2h2a.5.5 0 0 1 0 1h-2v2a.5.5 0 0 1-1 0v-2h-2a.5.5 0 0 1 0-1h2v-2a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsNodePlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11 4a4 4 0 1 0 0 8 4 4 0 0 0 0-8zM6.025 7.5a5 5 0 1 1 0 1H4A1.5 1.5 0 0 1 2.5 10h-1A1.5 1.5 0 0 1 0 8.5v-1A1.5 1.5 0 0 1 1.5 6h1A1.5 1.5 0 0 1 4 7.5h2.025zM11 5a.5.5 0 0 1 .5.5v2h2a.5.5 0 0 1 0 1h-2v2a.5.5 0 0 1-1 0v-2h-2a.5.5 0 0 1 0-1h2v-2A.5.5 0 0 1 11 5zM1.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsNutFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.58 1a1 1 0 0 0-.868.504l-3.428 6a1 1 0 0 0 0 .992l3.428 6A1 1 0 0 0 4.58 15h6.84a1 1 0 0 0 .868-.504l3.429-6a1 1 0 0 0 0-.992l-3.429-6A1 1 0 0 0 11.42 1H4.58zm5.018 9.696a3 3 0 1 1-3-5.196 3 3 0 0 1 3 5.196z\"}}]})(props);\n};\nexport function BsNut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11.42 2 3.428 6-3.428 6H4.58L1.152 8 4.58 2h6.84zM4.58 1a1 1 0 0 0-.868.504l-3.428 6a1 1 0 0 0 0 .992l3.428 6A1 1 0 0 0 4.58 15h6.84a1 1 0 0 0 .868-.504l3.429-6a1 1 0 0 0 0-.992l-3.429-6A1 1 0 0 0 11.42 1H4.58z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.848 5.933a2.5 2.5 0 1 0 2.5 4.33 2.5 2.5 0 0 0-2.5-4.33zm-1.78 3.915a3.5 3.5 0 1 1 6.061-3.5 3.5 3.5 0 0 1-6.062 3.5z\"}}]})(props);\n};\nexport function BsOctagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.107 0a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146A.5.5 0 0 1 4.893 0h6.214z\"}}]})(props);\n};\nexport function BsOctagonHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM8 15h2.9l4.1-4.1V5.1L10.9 1H8v14z\"}}]})(props);\n};\nexport function BsOctagon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z\"}}]})(props);\n};\nexport function BsOption (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.5a.5.5 0 0 1 .5-.5h3.797a.5.5 0 0 1 .439.26L11 13h3.5a.5.5 0 0 1 0 1h-3.797a.5.5 0 0 1-.439-.26L5 3H1.5a.5.5 0 0 1-.5-.5zm10 0a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsOutlet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.34 2.994c.275-.338.68-.494 1.074-.494h7.172c.393 0 .798.156 1.074.494.578.708 1.84 2.534 1.84 5.006 0 2.472-1.262 4.297-1.84 5.006-.276.338-.68.494-1.074.494H4.414c-.394 0-.799-.156-1.074-.494C2.762 12.297 1.5 10.472 1.5 8c0-2.472 1.262-4.297 1.84-5.006zm1.074.506a.376.376 0 0 0-.299.126C3.599 4.259 2.5 5.863 2.5 8c0 2.137 1.099 3.74 1.615 4.374.06.073.163.126.3.126h7.17c.137 0 .24-.053.3-.126.516-.633 1.615-2.237 1.615-4.374 0-2.137-1.099-3.74-1.615-4.374a.376.376 0 0 0-.3-.126h-7.17z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 5.5a.5.5 0 0 1 .5.5v1.5a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm4 0a.5.5 0 0 1 .5.5v1.5a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zM7 10v1h2v-1a1 1 0 0 0-2 0z\"}}]})(props);\n};\nexport function BsPaintBucket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.192 2.78c-.458-.677-.927-1.248-1.35-1.643a2.972 2.972 0 0 0-.71-.515c-.217-.104-.56-.205-.882-.02-.367.213-.427.63-.43.896-.003.304.064.664.173 1.044.196.687.556 1.528 1.035 2.402L.752 8.22c-.277.277-.269.656-.218.918.055.283.187.593.36.903.348.627.92 1.361 1.626 2.068.707.707 1.441 1.278 2.068 1.626.31.173.62.305.903.36.262.05.64.059.918-.218l5.615-5.615c.118.257.092.512.05.939-.03.292-.068.665-.073 1.176v.123h.003a1 1 0 0 0 1.993 0H14v-.057a1.01 1.01 0 0 0-.004-.117c-.055-1.25-.7-2.738-1.86-3.494a4.322 4.322 0 0 0-.211-.434c-.349-.626-.92-1.36-1.627-2.067-.707-.707-1.441-1.279-2.068-1.627-.31-.172-.62-.304-.903-.36-.262-.05-.64-.058-.918.219l-.217.216zM4.16 1.867c.381.356.844.922 1.311 1.632l-.704.705c-.382-.727-.66-1.402-.813-1.938a3.283 3.283 0 0 1-.131-.673c.091.061.204.15.337.274zm.394 3.965c.54.852 1.107 1.567 1.607 2.033a.5.5 0 1 0 .682-.732c-.453-.422-1.017-1.136-1.564-2.027l1.088-1.088c.054.12.115.243.183.365.349.627.92 1.361 1.627 2.068.706.707 1.44 1.278 2.068 1.626.122.068.244.13.365.183l-4.861 4.862a.571.571 0 0 1-.068-.01c-.137-.027-.342-.104-.608-.252-.524-.292-1.186-.8-1.846-1.46-.66-.66-1.168-1.32-1.46-1.846-.147-.265-.225-.47-.251-.607a.573.573 0 0 1-.01-.068l3.048-3.047zm2.87-1.935a2.44 2.44 0 0 1-.241-.561c.135.033.324.11.562.241.524.292 1.186.8 1.846 1.46.45.45.83.901 1.118 1.31a3.497 3.497 0 0 0-1.066.091 11.27 11.27 0 0 1-.76-.694c-.66-.66-1.167-1.322-1.458-1.847z\"}}]})(props);\n};\nexport function BsPaletteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.433 10.07C14.133 10.585 16 11.15 16 8a8 8 0 1 0-8 8c1.996 0 1.826-1.504 1.649-3.08-.124-1.101-.252-2.237.351-2.92.465-.527 1.42-.237 2.433.07zM8 5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm4.5 3a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM5 6.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm.5 6.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsPalette (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm4 3a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM5.5 7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm.5 6a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8c0 3.15-1.866 2.585-3.567 2.07C11.42 9.763 10.465 9.473 10 10c-.603.683-.475 1.819-.351 2.92C9.826 14.495 9.996 16 8 16a8 8 0 1 1 8-8zm-8 7c.611 0 .654-.171.655-.176.078-.146.124-.464.07-1.119-.014-.168-.037-.37-.061-.591-.052-.464-.112-1.005-.118-1.462-.01-.707.083-1.61.704-2.314.369-.417.845-.578 1.272-.618.404-.038.812.026 1.16.104.343.077.702.186 1.025.284l.028.008c.346.105.658.199.953.266.653.148.904.083.991.024C14.717 9.38 15 9.161 15 8a7 7 0 1 0-7 7z\"}}]})(props);\n};\nexport function BsPalette2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 .5A.5.5 0 0 1 .5 0h5a.5.5 0 0 1 .5.5v5.277l4.147-4.131a.5.5 0 0 1 .707 0l3.535 3.536a.5.5 0 0 1 0 .708L10.261 10H15.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5H3a2.99 2.99 0 0 1-2.121-.879A2.99 2.99 0 0 1 0 13.044m6-.21 7.328-7.3-2.829-2.828L6 7.188v5.647zM4.5 13a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0zM15 15v-4H9.258l-4.015 4H15zM0 .5v12.495V.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12.995V13a3.07 3.07 0 0 0 0-.005z\"}}]})(props);\n};\nexport function BsPaperclip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 3a2.5 2.5 0 0 1 5 0v9a1.5 1.5 0 0 1-3 0V5a.5.5 0 0 1 1 0v7a.5.5 0 0 0 1 0V3a1.5 1.5 0 1 0-3 0v9a2.5 2.5 0 0 0 5 0V5a.5.5 0 0 1 1 0v7a3.5 3.5 0 1 1-7 0V3z\"}}]})(props);\n};\nexport function BsParagraph (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 15a.5.5 0 0 1-.5-.5V2H9v12.5a.5.5 0 0 1-1 0V9H7a4 4 0 1 1 0-8h5.5a.5.5 0 0 1 0 1H11v12.5a.5.5 0 0 1-.5.5z\"}}]})(props);\n};\nexport function BsPatchCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zm.287 5.984-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsPatchCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.354 6.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10.273 2.513-.921-.944.715-.698.622.637.89-.011a2.89 2.89 0 0 1 2.924 2.924l-.01.89.636.622a2.89 2.89 0 0 1 0 4.134l-.637.622.011.89a2.89 2.89 0 0 1-2.924 2.924l-.89-.01-.622.636a2.89 2.89 0 0 1-4.134 0l-.622-.637-.89.011a2.89 2.89 0 0 1-2.924-2.924l.01-.89-.636-.622a2.89 2.89 0 0 1 0-4.134l.637-.622-.011-.89a2.89 2.89 0 0 1 2.924-2.924l.89.01.622-.636a2.89 2.89 0 0 1 4.134 0l-.715.698a1.89 1.89 0 0 0-2.704 0l-.92.944-1.32-.016a1.89 1.89 0 0 0-1.911 1.912l.016 1.318-.944.921a1.89 1.89 0 0 0 0 2.704l.944.92-.016 1.32a1.89 1.89 0 0 0 1.912 1.911l1.318-.016.921.944a1.89 1.89 0 0 0 2.704 0l.92-.944 1.32.016a1.89 1.89 0 0 0 1.911-1.912l-.016-1.318.944-.921a1.89 1.89 0 0 0 0-2.704l-.944-.92.016-1.32a1.89 1.89 0 0 0-1.912-1.911l-1.318.016z\"}}]})(props);\n};\nexport function BsPatchExclamationFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zM8 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsPatchExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.001 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10.273 2.513-.921-.944.715-.698.622.637.89-.011a2.89 2.89 0 0 1 2.924 2.924l-.01.89.636.622a2.89 2.89 0 0 1 0 4.134l-.637.622.011.89a2.89 2.89 0 0 1-2.924 2.924l-.89-.01-.622.636a2.89 2.89 0 0 1-4.134 0l-.622-.637-.89.011a2.89 2.89 0 0 1-2.924-2.924l.01-.89-.636-.622a2.89 2.89 0 0 1 0-4.134l.637-.622-.011-.89a2.89 2.89 0 0 1 2.924-2.924l.89.01.622-.636a2.89 2.89 0 0 1 4.134 0l-.715.698a1.89 1.89 0 0 0-2.704 0l-.92.944-1.32-.016a1.89 1.89 0 0 0-1.911 1.912l.016 1.318-.944.921a1.89 1.89 0 0 0 0 2.704l.944.92-.016 1.32a1.89 1.89 0 0 0 1.912 1.911l1.318-.016.921.944a1.89 1.89 0 0 0 2.704 0l.92-.944 1.32.016a1.89 1.89 0 0 0 1.911-1.912l-.016-1.318.944-.921a1.89 1.89 0 0 0 0-2.704l-.944-.92.016-1.32a1.89 1.89 0 0 0-1.912-1.911l-1.318.016z\"}}]})(props);\n};\nexport function BsPatchMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zM6 7.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsPatchMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.5 8a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10.273 2.513-.921-.944.715-.698.622.637.89-.011a2.89 2.89 0 0 1 2.924 2.924l-.01.89.636.622a2.89 2.89 0 0 1 0 4.134l-.637.622.011.89a2.89 2.89 0 0 1-2.924 2.924l-.89-.01-.622.636a2.89 2.89 0 0 1-4.134 0l-.622-.637-.89.011a2.89 2.89 0 0 1-2.924-2.924l.01-.89-.636-.622a2.89 2.89 0 0 1 0-4.134l.637-.622-.011-.89a2.89 2.89 0 0 1 2.924-2.924l.89.01.622-.636a2.89 2.89 0 0 1 4.134 0l-.715.698a1.89 1.89 0 0 0-2.704 0l-.92.944-1.32-.016a1.89 1.89 0 0 0-1.911 1.912l.016 1.318-.944.921a1.89 1.89 0 0 0 0 2.704l.944.92-.016 1.32a1.89 1.89 0 0 0 1.912 1.911l1.318-.016.921.944a1.89 1.89 0 0 0 2.704 0l.92-.944 1.32.016a1.89 1.89 0 0 0 1.911-1.912l-.016-1.318.944-.921a1.89 1.89 0 0 0 0-2.704l-.944-.92.016-1.32a1.89 1.89 0 0 0-1.912-1.911l-1.318.016z\"}}]})(props);\n};\nexport function BsPatchPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zM8.5 6v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsPatchPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 5.5a.5.5 0 0 1 .5.5v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10.273 2.513-.921-.944.715-.698.622.637.89-.011a2.89 2.89 0 0 1 2.924 2.924l-.01.89.636.622a2.89 2.89 0 0 1 0 4.134l-.637.622.011.89a2.89 2.89 0 0 1-2.924 2.924l-.89-.01-.622.636a2.89 2.89 0 0 1-4.134 0l-.622-.637-.89.011a2.89 2.89 0 0 1-2.924-2.924l.01-.89-.636-.622a2.89 2.89 0 0 1 0-4.134l.637-.622-.011-.89a2.89 2.89 0 0 1 2.924-2.924l.89.01.622-.636a2.89 2.89 0 0 1 4.134 0l-.715.698a1.89 1.89 0 0 0-2.704 0l-.92.944-1.32-.016a1.89 1.89 0 0 0-1.911 1.912l.016 1.318-.944.921a1.89 1.89 0 0 0 0 2.704l.944.92-.016 1.32a1.89 1.89 0 0 0 1.912 1.911l1.318-.016.921.944a1.89 1.89 0 0 0 2.704 0l.92-.944 1.32.016a1.89 1.89 0 0 0 1.911-1.912l-.016-1.318.944-.921a1.89 1.89 0 0 0 0-2.704l-.944-.92.016-1.32a1.89 1.89 0 0 0-1.912-1.911l-1.318.016z\"}}]})(props);\n};\nexport function BsPatchQuestionFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.933.87a2.89 2.89 0 0 1 4.134 0l.622.638.89-.011a2.89 2.89 0 0 1 2.924 2.924l-.01.89.636.622a2.89 2.89 0 0 1 0 4.134l-.637.622.011.89a2.89 2.89 0 0 1-2.924 2.924l-.89-.01-.622.636a2.89 2.89 0 0 1-4.134 0l-.622-.637-.89.011a2.89 2.89 0 0 1-2.924-2.924l.01-.89-.636-.622a2.89 2.89 0 0 1 0-4.134l.637-.622-.011-.89a2.89 2.89 0 0 1 2.924-2.924l.89.01.622-.636zM7.002 11a1 1 0 1 0 2 0 1 1 0 0 0-2 0zm1.602-2.027c.04-.534.198-.815.846-1.26.674-.475 1.05-1.09 1.05-1.986 0-1.325-.92-2.227-2.262-2.227-1.02 0-1.792.492-2.1 1.29A1.71 1.71 0 0 0 6 5.48c0 .393.203.64.545.64.272 0 .455-.147.564-.51.158-.592.525-.915 1.074-.915.61 0 1.03.446 1.03 1.084 0 .563-.208.885-.822 1.325-.619.433-.926.914-.926 1.64v.111c0 .428.208.745.585.745.336 0 .504-.24.554-.627z\"}}]})(props);\n};\nexport function BsPatchQuestion (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.05 9.6c.336 0 .504-.24.554-.627.04-.534.198-.815.847-1.26.673-.475 1.049-1.09 1.049-1.986 0-1.325-.92-2.227-2.262-2.227-1.02 0-1.792.492-2.1 1.29A1.71 1.71 0 0 0 6 5.48c0 .393.203.64.545.64.272 0 .455-.147.564-.51.158-.592.525-.915 1.074-.915.61 0 1.03.446 1.03 1.084 0 .563-.208.885-.822 1.325-.619.433-.926.914-.926 1.64v.111c0 .428.208.745.585.745z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10.273 2.513-.921-.944.715-.698.622.637.89-.011a2.89 2.89 0 0 1 2.924 2.924l-.01.89.636.622a2.89 2.89 0 0 1 0 4.134l-.637.622.011.89a2.89 2.89 0 0 1-2.924 2.924l-.89-.01-.622.636a2.89 2.89 0 0 1-4.134 0l-.622-.637-.89.011a2.89 2.89 0 0 1-2.924-2.924l.01-.89-.636-.622a2.89 2.89 0 0 1 0-4.134l.637-.622-.011-.89a2.89 2.89 0 0 1 2.924-2.924l.89.01.622-.636a2.89 2.89 0 0 1 4.134 0l-.715.698a1.89 1.89 0 0 0-2.704 0l-.92.944-1.32-.016a1.89 1.89 0 0 0-1.911 1.912l.016 1.318-.944.921a1.89 1.89 0 0 0 0 2.704l.944.92-.016 1.32a1.89 1.89 0 0 0 1.912 1.911l1.318-.016.921.944a1.89 1.89 0 0 0 2.704 0l.92-.944 1.32.016a1.89 1.89 0 0 0 1.911-1.912l-.016-1.318.944-.921a1.89 1.89 0 0 0 0-2.704l-.944-.92.016-1.32a1.89 1.89 0 0 0-1.912-1.911l-1.318.016z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.001 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0z\"}}]})(props);\n};\nexport function BsPauseBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm6.25-7C5.56 5 5 5.56 5 6.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C7.5 5.56 6.94 5 6.25 5zm3.5 0c-.69 0-1.25.56-1.25 1.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C11 5.56 10.44 5 9.75 5z\"}}]})(props);\n};\nexport function BsPauseBtn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.25 5C5.56 5 5 5.56 5 6.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C7.5 5.56 6.94 5 6.25 5zm3.5 0c-.69 0-1.25.56-1.25 1.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C11 5.56 10.44 5 9.75 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsPauseCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.25 5C5.56 5 5 5.56 5 6.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C7.5 5.56 6.94 5 6.25 5zm3.5 0c-.69 0-1.25.56-1.25 1.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C11 5.56 10.44 5 9.75 5z\"}}]})(props);\n};\nexport function BsPauseCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6.25a1.25 1.25 0 1 1 2.5 0v3.5a1.25 1.25 0 1 1-2.5 0v-3.5zm3.5 0a1.25 1.25 0 1 1 2.5 0v3.5a1.25 1.25 0 1 1-2.5 0v-3.5z\"}}]})(props);\n};\nexport function BsPauseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 3.5A1.5 1.5 0 0 1 7 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5zm5 0A1.5 1.5 0 0 1 12 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5z\"}}]})(props);\n};\nexport function BsPause (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 3.5a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-1 0V4a.5.5 0 0 1 .5-.5zm4 0a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-1 0V4a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsPaypal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.06 3.713c.12-1.071-.093-1.832-.702-2.526C12.628.356 11.312 0 9.626 0H4.734a.7.7 0 0 0-.691.59L2.005 13.509a.42.42 0 0 0 .415.486h2.756l-.202 1.28a.628.628 0 0 0 .62.726H8.14c.429 0 .793-.31.862-.731l.025-.13.48-3.043.03-.164.001-.007a.351.351 0 0 1 .348-.297h.38c1.266 0 2.425-.256 3.345-.91.379-.27.712-.603.993-1.005a4.942 4.942 0 0 0 .88-2.195c.242-1.246.13-2.356-.57-3.154a2.687 2.687 0 0 0-.76-.59l-.094-.061zM6.543 8.82l-.845 5.213v.001l-.208 1.32c-.01.066.04.123.105.123H8.14c.173 0 .32-.125.348-.296v-.005l.026-.129.48-3.043.03-.164a.873.873 0 0 1 .862-.734h.38c1.201 0 2.24-.244 3.043-.815.797-.567 1.39-1.477 1.663-2.874.229-1.175.096-2.087-.45-2.71a2.126 2.126 0 0 0-.548-.438l-.003.016c-.645 3.312-2.853 4.456-5.672 4.456H6.864a.695.695 0 0 0-.321.079z\"}}]})(props);\n};\nexport function BsPeaceFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 13.292A8 8 0 0 0 8.5.015v7.778l5.5 5.5zm-.708.708L8.5 9.206v6.778a7.967 7.967 0 0 0 4.792-1.986zM7.5 15.985V9.207L2.708 14A7.967 7.967 0 0 0 7.5 15.985zM2 13.292A8 8 0 0 1 7.5.015v7.778l-5.5 5.5z\"}}]})(props);\n};\nexport function BsPeace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 1.018a7 7 0 0 0-4.79 11.566L7.5 7.793V1.018zm1 0v6.775l4.79 4.79A7 7 0 0 0 8.5 1.018zm4.084 12.273L8.5 9.207v5.775a6.97 6.97 0 0 0 4.084-1.691zM7.5 14.982V9.207l-4.084 4.084A6.97 6.97 0 0 0 7.5 14.982zM0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8z\"}}]})(props);\n};\nexport function BsPenFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m13.498.795.149-.149a1.207 1.207 0 1 1 1.707 1.708l-.149.148a1.5 1.5 0 0 1-.059 2.059L4.854 14.854a.5.5 0 0 1-.233.131l-4 1a.5.5 0 0 1-.606-.606l1-4a.5.5 0 0 1 .131-.232l9.642-9.642a.5.5 0 0 0-.642.056L6.854 4.854a.5.5 0 1 1-.708-.708L9.44.854A1.5 1.5 0 0 1 11.5.796a1.5 1.5 0 0 1 1.998-.001z\"}}]})(props);\n};\nexport function BsPen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m13.498.795.149-.149a1.207 1.207 0 1 1 1.707 1.708l-.149.148a1.5 1.5 0 0 1-.059 2.059L4.854 14.854a.5.5 0 0 1-.233.131l-4 1a.5.5 0 0 1-.606-.606l1-4a.5.5 0 0 1 .131-.232l9.642-9.642a.5.5 0 0 0-.642.056L6.854 4.854a.5.5 0 1 1-.708-.708L9.44.854A1.5 1.5 0 0 1 11.5.796a1.5 1.5 0 0 1 1.998-.001zm-.644.766a.5.5 0 0 0-.707 0L1.95 11.756l-.764 3.057 3.057-.764L14.44 3.854a.5.5 0 0 0 0-.708l-1.585-1.585z\"}}]})(props);\n};\nexport function BsPencilFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.854.146a.5.5 0 0 0-.707 0L10.5 1.793 14.207 5.5l1.647-1.646a.5.5 0 0 0 0-.708l-3-3zm.646 6.061L9.793 2.5 3.293 9H3.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.207l6.5-6.5zm-7.468 7.468A.5.5 0 0 1 6 13.5V13h-.5a.5.5 0 0 1-.5-.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.5-.5V10h-.5a.499.499 0 0 1-.175-.032l-.179.178a.5.5 0 0 0-.11.168l-2 5a.5.5 0 0 0 .65.65l5-2a.5.5 0 0 0 .168-.11l.178-.178z\"}}]})(props);\n};\nexport function BsPencilSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.502 1.94a.5.5 0 0 1 0 .706L14.459 3.69l-2-2L13.502.646a.5.5 0 0 1 .707 0l1.293 1.293zm-1.75 2.456-2-2L4.939 9.21a.5.5 0 0 0-.121.196l-.805 2.414a.25.25 0 0 0 .316.316l2.414-.805a.5.5 0 0 0 .196-.12l6.813-6.814z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 13.5A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-6a.5.5 0 0 0-1 0v6a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11a.5.5 0 0 1 .5-.5H9a.5.5 0 0 0 0-1H2.5A1.5 1.5 0 0 0 1 2.5v11z\"}}]})(props);\n};\nexport function BsPencil (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.146.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-10 10a.5.5 0 0 1-.168.11l-5 2a.5.5 0 0 1-.65-.65l2-5a.5.5 0 0 1 .11-.168l10-10zM11.207 2.5 13.5 4.793 14.793 3.5 12.5 1.207 11.207 2.5zm1.586 3L10.5 3.207 4 9.707V10h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.293l6.5-6.5zm-9.761 5.175-.106.106-1.528 3.821 3.821-1.528.106-.106A.5.5 0 0 1 5 12.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.468-.325z\"}}]})(props);\n};\nexport function BsPentagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 0 8 6.5-3 9.5H3L0 6.5 8 0z\"}}]})(props);\n};\nexport function BsPentagonHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 1.288 6.842 5.56L12.267 15H8V1.288zM16 6.5 8 0 0 6.5 3 16h10l3-9.5z\"}}]})(props);\n};\nexport function BsPentagon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 1.288 6.842 5.56L12.267 15H3.733L1.158 6.847 8 1.288zM16 6.5 8 0 0 6.5 3 16h10l3-9.5z\"}}]})(props);\n};\nexport function BsPeopleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 14s-1 0-1-1 1-4 5-4 5 3 5 4-1 1-1 1H7zm4-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.216 14A2.238 2.238 0 0 1 5 13c0-1.355.68-2.75 1.936-3.72A6.325 6.325 0 0 0 5 9c-4 0-5 3-5 4s1 1 1 1h4.216z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 8a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5z\"}}]})(props);\n};\nexport function BsPeople (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 14s1 0 1-1-1-4-5-4-5 3-5 4 1 1 1 1h8zm-7.978-1A.261.261 0 0 1 7 12.996c.001-.264.167-1.03.76-1.72C8.312 10.629 9.282 10 11 10c1.717 0 2.687.63 3.24 1.276.593.69.758 1.457.76 1.72l-.008.002a.274.274 0 0 1-.014.002H7.022zM11 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm3-2a3 3 0 1 1-6 0 3 3 0 0 1 6 0zM6.936 9.28a5.88 5.88 0 0 0-1.23-.247A7.35 7.35 0 0 0 5 9c-4 0-5 3-5 4 0 .667.333 1 1 1h4.216A2.238 2.238 0 0 1 5 13c0-1.01.377-2.042 1.09-2.904.243-.294.526-.569.846-.816zM4.92 10A5.493 5.493 0 0 0 4 13H1c0-.26.164-1.03.76-1.724.545-.636 1.492-1.256 3.16-1.275zM1.5 5.5a3 3 0 1 1 6 0 3 3 0 0 1-6 0zm3-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4z\"}}]})(props);\n};\nexport function BsPercent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.442 2.558a.625.625 0 0 1 0 .884l-10 10a.625.625 0 1 1-.884-.884l10-10a.625.625 0 0 1 .884 0zM4.5 6a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 1a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5zm7 6a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 1a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5z\"}}]})(props);\n};\nexport function BsPersonBadgeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm4.5 0a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM8 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm5 2.755C12.146 12.825 10.623 12 8 12s-4.146.826-5 1.755V14a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-.245z\"}}]})(props);\n};\nexport function BsPersonBadge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 0A2.5 2.5 0 0 0 2 2.5V14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2.5A2.5 2.5 0 0 0 11.5 0h-7zM3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5v10.795a4.2 4.2 0 0 0-.776-.492C11.392 12.387 10.063 12 8 12s-3.392.387-4.224.803a4.2 4.2 0 0 0-.776.492V2.5z\"}}]})(props);\n};\nexport function BsPersonBoundingBox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 1a.5.5 0 0 0-.5.5v3a.5.5 0 0 1-1 0v-3A1.5 1.5 0 0 1 1.5 0h3a.5.5 0 0 1 0 1h-3zM11 .5a.5.5 0 0 1 .5-.5h3A1.5 1.5 0 0 1 16 1.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 1-.5-.5zM.5 11a.5.5 0 0 1 .5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 1 0 1h-3A1.5 1.5 0 0 1 0 14.5v-3a.5.5 0 0 1 .5-.5zm15 0a.5.5 0 0 1 .5.5v3a1.5 1.5 0 0 1-1.5 1.5h-3a.5.5 0 0 1 0-1h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3zm8-9a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}}]})(props);\n};\nexport function BsPersonCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.854 5.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L12.5 7.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsPersonCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm4 8c0 1-1 1-1 1H1s-1 0-1-1 1-4 6-4 6 3 6 4zm-1-.004c-.001-.246-.154-.986-.832-1.664C9.516 10.68 8.289 10 6 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.854 5.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L12.5 7.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsPersonCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm8-7a7 7 0 0 0-5.468 11.37C3.242 11.226 4.805 10 8 10s4.757 1.225 5.468 2.37A7 7 0 0 0 8 1z\"}}]})(props);\n};\nexport function BsPersonDashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11 7.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsPersonDash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm4 8c0 1-1 1-1 1H1s-1 0-1-1 1-4 6-4 6 3 6 4zm-1-.004c-.001-.246-.154-.986-.832-1.664C9.516 10.68 8.289 10 6 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11 7.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsPersonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsPersonLinesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-5 6s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zM11 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5zm.5 2.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4zm2 3a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2zm0 3a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2z\"}}]})(props);\n};\nexport function BsPersonPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M13.5 5a.5.5 0 0 1 .5.5V7h1.5a.5.5 0 0 1 0 1H14v1.5a.5.5 0 0 1-1 0V8h-1.5a.5.5 0 0 1 0-1H13V5.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsPersonPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm4 8c0 1-1 1-1 1H1s-1 0-1-1 1-4 6-4 6 3 6 4zm-1-.004c-.001-.246-.154-.986-.832-1.664C9.516 10.68 8.289 10 6 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M13.5 5a.5.5 0 0 1 .5.5V7h1.5a.5.5 0 0 1 0 1H14v1.5a.5.5 0 0 1-1 0V8h-1.5a.5.5 0 0 1 0-1H13V5.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsPersonSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm12 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1v-1c0-1-1-4-6-4s-6 3-6 4v1a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12z\"}}]})(props);\n};\nexport function BsPersonXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm6.146-2.854a.5.5 0 0 1 .708 0L14 6.293l1.146-1.147a.5.5 0 0 1 .708.708L14.707 7l1.147 1.146a.5.5 0 0 1-.708.708L14 7.707l-1.146 1.147a.5.5 0 0 1-.708-.708L13.293 7l-1.147-1.146a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsPersonX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm4 8c0 1-1 1-1 1H1s-1 0-1-1 1-4 6-4 6 3 6 4zm-1-.004c-.001-.246-.154-.986-.832-1.664C9.516 10.68 8.289 10 6 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.146 5.146a.5.5 0 0 1 .708 0L14 6.293l1.146-1.147a.5.5 0 0 1 .708.708L14.707 7l1.147 1.146a.5.5 0 0 1-.708.708L14 7.707l-1.146 1.147a.5.5 0 0 1-.708-.708L13.293 7l-1.147-1.146a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsPerson (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm4 8c0 1-1 1-1 1H3s-1 0-1-1 1-4 6-4 6 3 6 4zm-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10z\"}}]})(props);\n};\nexport function BsPhoneFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V2zm6 11a1 1 0 1 0-2 0 1 1 0 0 0 2 0z\"}}]})(props);\n};\nexport function BsPhoneLandscapeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12.5a2 2 0 0 1-2-2v-6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H2zm11-6a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsPhoneLandscape (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 4.5a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-6zm-1 6a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-6a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 7.5a1 1 0 1 0-2 0 1 1 0 0 0 2 0z\"}}]})(props);\n};\nexport function BsPhoneVibrateFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4zm5 7a1 1 0 1 0-2 0 1 1 0 0 0 2 0zM1.807 4.734a.5.5 0 1 0-.884-.468A7.967 7.967 0 0 0 0 8c0 1.347.334 2.618.923 3.734a.5.5 0 1 0 .884-.468A6.967 6.967 0 0 1 1 8c0-1.18.292-2.292.807-3.266zm13.27-.468a.5.5 0 0 0-.884.468C14.708 5.708 15 6.819 15 8c0 1.18-.292 2.292-.807 3.266a.5.5 0 0 0 .884.468A7.967 7.967 0 0 0 16 8a7.967 7.967 0 0 0-.923-3.734zM3.34 6.182a.5.5 0 1 0-.93-.364A5.986 5.986 0 0 0 2 8c0 .769.145 1.505.41 2.182a.5.5 0 1 0 .93-.364A4.986 4.986 0 0 1 3 8c0-.642.12-1.255.34-1.818zm10.25-.364a.5.5 0 0 0-.93.364c.22.563.34 1.176.34 1.818 0 .642-.12 1.255-.34 1.818a.5.5 0 0 0 .93.364C13.856 9.505 14 8.769 14 8c0-.769-.145-1.505-.41-2.182z\"}}]})(props);\n};\nexport function BsPhoneVibrate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4zM6 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2zM1.599 4.058a.5.5 0 0 1 .208.676A6.967 6.967 0 0 0 1 8c0 1.18.292 2.292.807 3.266a.5.5 0 0 1-.884.468A7.968 7.968 0 0 1 0 8c0-1.347.334-2.619.923-3.734a.5.5 0 0 1 .676-.208zm12.802 0a.5.5 0 0 1 .676.208A7.967 7.967 0 0 1 16 8a7.967 7.967 0 0 1-.923 3.734.5.5 0 0 1-.884-.468A6.967 6.967 0 0 0 15 8c0-1.18-.292-2.292-.807-3.266a.5.5 0 0 1 .208-.676zM3.057 5.534a.5.5 0 0 1 .284.648A4.986 4.986 0 0 0 3 8c0 .642.12 1.255.34 1.818a.5.5 0 1 1-.93.364A5.986 5.986 0 0 1 2 8c0-.769.145-1.505.41-2.182a.5.5 0 0 1 .647-.284zm9.886 0a.5.5 0 0 1 .648.284C13.855 6.495 14 7.231 14 8c0 .769-.145 1.505-.41 2.182a.5.5 0 0 1-.93-.364C12.88 9.255 13 8.642 13 8c0-.642-.12-1.255-.34-1.818a.5.5 0 0 1 .283-.648z\"}}]})(props);\n};\nexport function BsPhone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h6zM5 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsPieChartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.985 8.5H8.207l-5.5 5.5a8 8 0 0 0 13.277-5.5zM2 13.292A8 8 0 0 1 7.5.015v7.778l-5.5 5.5zM8.5.015V7.5h7.485A8.001 8.001 0 0 0 8.5.015z\"}}]})(props);\n};\nexport function BsPieChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 1.018a7 7 0 0 0-4.79 11.566L7.5 7.793V1.018zm1 0V7.5h6.482A7.001 7.001 0 0 0 8.5 1.018zM14.982 8.5H8.207l-4.79 4.79A7 7 0 0 0 14.982 8.5zM0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8z\"}}]})(props);\n};\nexport function BsPiggyBankFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.964 1.527c-2.977 0-5.571 1.704-6.32 4.125h-.55A1 1 0 0 0 .11 6.824l.254 1.46a1.5 1.5 0 0 0 1.478 1.243h.263c.3.513.688.978 1.145 1.382l-.729 2.477a.5.5 0 0 0 .48.641h2a.5.5 0 0 0 .471-.332l.482-1.351c.635.173 1.31.267 2.011.267.707 0 1.388-.095 2.028-.272l.543 1.372a.5.5 0 0 0 .465.316h2a.5.5 0 0 0 .478-.645l-.761-2.506C13.81 9.895 14.5 8.559 14.5 7.069c0-.145-.007-.29-.02-.431.261-.11.508-.266.705-.444.315.306.815.306.815-.417 0 .223-.5.223-.461-.026a.95.95 0 0 0 .09-.255.7.7 0 0 0-.202-.645.58.58 0 0 0-.707-.098.735.735 0 0 0-.375.562c-.024.243.082.48.32.654a2.112 2.112 0 0 1-.259.153c-.534-2.664-3.284-4.595-6.442-4.595zm7.173 3.876a.565.565 0 0 1-.098.21.704.704 0 0 1-.044-.025c-.146-.09-.157-.175-.152-.223a.236.236 0 0 1 .117-.173c.049-.027.08-.021.113.012a.202.202 0 0 1 .064.199zm-8.999-.65A6.613 6.613 0 0 1 7.964 4.5c.666 0 1.303.097 1.893.273a.5.5 0 1 0 .286-.958A7.601 7.601 0 0 0 7.964 3.5c-.734 0-1.441.103-2.102.292a.5.5 0 1 0 .276.962zM5 6.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0z\"}}]})(props);\n};\nexport function BsPiggyBank (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm1.138-1.496A6.613 6.613 0 0 1 7.964 4.5c.666 0 1.303.097 1.893.273a.5.5 0 0 0 .286-.958A7.602 7.602 0 0 0 7.964 3.5c-.734 0-1.441.103-2.102.292a.5.5 0 1 0 .276.962z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.964 1.527c-2.977 0-5.571 1.704-6.32 4.125h-.55A1 1 0 0 0 .11 6.824l.254 1.46a1.5 1.5 0 0 0 1.478 1.243h.263c.3.513.688.978 1.145 1.382l-.729 2.477a.5.5 0 0 0 .48.641h2a.5.5 0 0 0 .471-.332l.482-1.351c.635.173 1.31.267 2.011.267.707 0 1.388-.095 2.028-.272l.543 1.372a.5.5 0 0 0 .465.316h2a.5.5 0 0 0 .478-.645l-.761-2.506C13.81 9.895 14.5 8.559 14.5 7.069c0-.145-.007-.29-.02-.431.261-.11.508-.266.705-.444.315.306.815.306.815-.417 0 .223-.5.223-.461-.026a.95.95 0 0 0 .09-.255.7.7 0 0 0-.202-.645.58.58 0 0 0-.707-.098.735.735 0 0 0-.375.562c-.024.243.082.48.32.654a2.112 2.112 0 0 1-.259.153c-.534-2.664-3.284-4.595-6.442-4.595zM2.516 6.26c.455-2.066 2.667-3.733 5.448-3.733 3.146 0 5.536 2.114 5.536 4.542 0 1.254-.624 2.41-1.67 3.248a.5.5 0 0 0-.165.535l.66 2.175h-.985l-.59-1.487a.5.5 0 0 0-.629-.288c-.661.23-1.39.359-2.157.359a6.558 6.558 0 0 1-2.157-.359.5.5 0 0 0-.635.304l-.525 1.471h-.979l.633-2.15a.5.5 0 0 0-.17-.534 4.649 4.649 0 0 1-1.284-1.541.5.5 0 0 0-.446-.275h-.56a.5.5 0 0 1-.492-.414l-.254-1.46h.933a.5.5 0 0 0 .488-.393zm12.621-.857a.565.565 0 0 1-.098.21.704.704 0 0 1-.044-.025c-.146-.09-.157-.175-.152-.223a.236.236 0 0 1 .117-.173c.049-.027.08-.021.113.012a.202.202 0 0 1 .064.199z\"}}]})(props);\n};\nexport function BsPinAngleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146z\"}}]})(props);\n};\nexport function BsPinAngle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146zm.122 2.112v-.002.002zm0-.002v.002a.5.5 0 0 1-.122.51L6.293 6.878a.5.5 0 0 1-.511.12H5.78l-.014-.004a4.507 4.507 0 0 0-.288-.076 4.922 4.922 0 0 0-.765-.116c-.422-.028-.836.008-1.175.15l5.51 5.509c.141-.34.177-.753.149-1.175a4.924 4.924 0 0 0-.192-1.054l-.004-.013v-.001a.5.5 0 0 1 .12-.512l3.536-3.535a.5.5 0 0 1 .532-.115l.096.022c.087.017.208.034.344.034.114 0 .23-.011.343-.04L9.927 2.028c-.029.113-.04.23-.04.343a1.779 1.779 0 0 0 .062.46z\"}}]})(props);\n};\nexport function BsPinFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.146.146A.5.5 0 0 1 4.5 0h7a.5.5 0 0 1 .5.5c0 .68-.342 1.174-.646 1.479-.126.125-.25.224-.354.298v4.431l.078.048c.203.127.476.314.751.555C12.36 7.775 13 8.527 13 9.5a.5.5 0 0 1-.5.5h-4v4.5c0 .276-.224 1.5-.5 1.5s-.5-1.224-.5-1.5V10h-4a.5.5 0 0 1-.5-.5c0-.973.64-1.725 1.17-2.189A5.921 5.921 0 0 1 5 6.708V2.277a2.77 2.77 0 0 1-.354-.298C4.342 1.674 4 1.179 4 .5a.5.5 0 0 1 .146-.354z\"}}]})(props);\n};\nexport function BsPinMapFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.1 11.2a.5.5 0 0 1 .4-.2H6a.5.5 0 0 1 0 1H3.75L1.5 15h13l-2.25-3H10a.5.5 0 0 1 0-1h2.5a.5.5 0 0 1 .4.2l3 4a.5.5 0 0 1-.4.8H.5a.5.5 0 0 1-.4-.8l3-4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 4a4 4 0 1 1 4.5 3.969V13.5a.5.5 0 0 1-1 0V7.97A4 4 0 0 1 4 3.999z\"}}]})(props);\n};\nexport function BsPinMap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.1 11.2a.5.5 0 0 1 .4-.2H6a.5.5 0 0 1 0 1H3.75L1.5 15h13l-2.25-3H10a.5.5 0 0 1 0-1h2.5a.5.5 0 0 1 .4.2l3 4a.5.5 0 0 1-.4.8H.5a.5.5 0 0 1-.4-.8l3-4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 1a3 3 0 1 0 0 6 3 3 0 0 0 0-6zM4 4a4 4 0 1 1 4.5 3.969V13.5a.5.5 0 0 1-1 0V7.97A4 4 0 0 1 4 3.999z\"}}]})(props);\n};\nexport function BsPin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.146.146A.5.5 0 0 1 4.5 0h7a.5.5 0 0 1 .5.5c0 .68-.342 1.174-.646 1.479-.126.125-.25.224-.354.298v4.431l.078.048c.203.127.476.314.751.555C12.36 7.775 13 8.527 13 9.5a.5.5 0 0 1-.5.5h-4v4.5c0 .276-.224 1.5-.5 1.5s-.5-1.224-.5-1.5V10h-4a.5.5 0 0 1-.5-.5c0-.973.64-1.725 1.17-2.189A5.921 5.921 0 0 1 5 6.708V2.277a2.77 2.77 0 0 1-.354-.298C4.342 1.674 4 1.179 4 .5a.5.5 0 0 1 .146-.354zm1.58 1.408-.002-.001.002.001zm-.002-.001.002.001A.5.5 0 0 1 6 2v5a.5.5 0 0 1-.276.447h-.002l-.012.007-.054.03a4.922 4.922 0 0 0-.827.58c-.318.278-.585.596-.725.936h7.792c-.14-.34-.407-.658-.725-.936a4.915 4.915 0 0 0-.881-.61l-.012-.006h-.002A.5.5 0 0 1 10 7V2a.5.5 0 0 1 .295-.458 1.775 1.775 0 0 0 .351-.271c.08-.08.155-.17.214-.271H5.14c.06.1.133.191.214.271a1.78 1.78 0 0 0 .37.282z\"}}]})(props);\n};\nexport function BsPinterest (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 0 0-2.915 15.452c-.07-.633-.134-1.606.027-2.297.146-.625.938-3.977.938-3.977s-.239-.479-.239-1.187c0-1.113.645-1.943 1.448-1.943.682 0 1.012.512 1.012 1.127 0 .686-.437 1.712-.663 2.663-.188.796.4 1.446 1.185 1.446 1.422 0 2.515-1.5 2.515-3.664 0-1.915-1.377-3.254-3.342-3.254-2.276 0-3.612 1.707-3.612 3.471 0 .688.265 1.425.595 1.826a.24.24 0 0 1 .056.23c-.061.252-.196.796-.222.907-.035.146-.116.177-.268.107-1-.465-1.624-1.926-1.624-3.1 0-2.523 1.834-4.84 5.286-4.84 2.775 0 4.932 1.977 4.932 4.62 0 2.757-1.739 4.976-4.151 4.976-.811 0-1.573-.421-1.834-.919l-.498 1.902c-.181.695-.669 1.566-.995 2.097A8 8 0 1 0 8 0z\"}}]})(props);\n};\nexport function BsPipFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13zm7 6h5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsPip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3.5A1.5 1.5 0 0 1 1.5 2h13A1.5 1.5 0 0 1 16 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5v-9zM1.5 3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-3z\"}}]})(props);\n};\nexport function BsPlayBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm6.79-6.907A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407l3.5-2.5a.5.5 0 0 0 0-.814l-3.5-2.5z\"}}]})(props);\n};\nexport function BsPlayBtn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.79 5.093A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407l3.5-2.5a.5.5 0 0 0 0-.814l-3.5-2.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsPlayCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.79 5.093A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407l3.5-2.5a.5.5 0 0 0 0-.814l-3.5-2.5z\"}}]})(props);\n};\nexport function BsPlayCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.271 5.055a.5.5 0 0 1 .52.038l3.5 2.5a.5.5 0 0 1 0 .814l-3.5 2.5A.5.5 0 0 1 6 10.5v-5a.5.5 0 0 1 .271-.445z\"}}]})(props);\n};\nexport function BsPlayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11.596 8.697-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393z\"}}]})(props);\n};\nexport function BsPlay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.804 8 5 4.633v6.734L10.804 8zm.792-.696a.802.802 0 0 1 0 1.392l-6.363 3.692C4.713 12.69 4 12.345 4 11.692V4.308c0-.653.713-.998 1.233-.696l6.363 3.692z\"}}]})(props);\n};\nexport function BsPlugFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 0a.5.5 0 0 1 .5.5V3h3V.5a.5.5 0 0 1 1 0V3h1a.5.5 0 0 1 .5.5v3A3.5 3.5 0 0 1 8.5 10c-.002.434-.01.845-.04 1.22-.041.514-.126 1.003-.317 1.424a2.083 2.083 0 0 1-.97 1.028C6.725 13.9 6.169 14 5.5 14c-.998 0-1.61.33-1.974.718A1.922 1.922 0 0 0 3 16H2c0-.616.232-1.367.797-1.968C3.374 13.42 4.261 13 5.5 13c.581 0 .962-.088 1.218-.219.241-.123.4-.3.514-.55.121-.266.193-.621.23-1.09.027-.34.035-.718.037-1.141A3.5 3.5 0 0 1 4 6.5v-3a.5.5 0 0 1 .5-.5h1V.5A.5.5 0 0 1 6 0z\"}}]})(props);\n};\nexport function BsPlug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 0a.5.5 0 0 1 .5.5V3h3V.5a.5.5 0 0 1 1 0V3h1a.5.5 0 0 1 .5.5v3A3.5 3.5 0 0 1 8.5 10c-.002.434-.01.845-.04 1.22-.041.514-.126 1.003-.317 1.424a2.083 2.083 0 0 1-.97 1.028C6.725 13.9 6.169 14 5.5 14c-.998 0-1.61.33-1.974.718A1.922 1.922 0 0 0 3 16H2c0-.616.232-1.367.797-1.968C3.374 13.42 4.261 13 5.5 13c.581 0 .962-.088 1.218-.219.241-.123.4-.3.514-.55.121-.266.193-.621.23-1.09.027-.34.035-.718.037-1.141A3.5 3.5 0 0 1 4 6.5v-3a.5.5 0 0 1 .5-.5h1V.5A.5.5 0 0 1 6 0zM5 4v2.5A2.5 2.5 0 0 0 7.5 9h1A2.5 2.5 0 0 0 11 6.5V4H5z\"}}]})(props);\n};\nexport function BsPlusCircleDotted (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0c-.176 0-.35.006-.523.017l.064.998a7.117 7.117 0 0 1 .918 0l.064-.998A8.113 8.113 0 0 0 8 0zM6.44.152c-.346.069-.684.16-1.012.27l.321.948c.287-.098.582-.177.884-.237L6.44.153zm4.132.271a7.946 7.946 0 0 0-1.011-.27l-.194.98c.302.06.597.14.884.237l.321-.947zm1.873.925a8 8 0 0 0-.906-.524l-.443.896c.275.136.54.29.793.459l.556-.831zM4.46.824c-.314.155-.616.33-.905.524l.556.83a7.07 7.07 0 0 1 .793-.458L4.46.824zM2.725 1.985c-.262.23-.51.478-.74.74l.752.66c.202-.23.418-.446.648-.648l-.66-.752zm11.29.74a8.058 8.058 0 0 0-.74-.74l-.66.752c.23.202.447.418.648.648l.752-.66zm1.161 1.735a7.98 7.98 0 0 0-.524-.905l-.83.556c.169.253.322.518.458.793l.896-.443zM1.348 3.555c-.194.289-.37.591-.524.906l.896.443c.136-.275.29-.54.459-.793l-.831-.556zM.423 5.428a7.945 7.945 0 0 0-.27 1.011l.98.194c.06-.302.14-.597.237-.884l-.947-.321zM15.848 6.44a7.943 7.943 0 0 0-.27-1.012l-.948.321c.098.287.177.582.237.884l.98-.194zM.017 7.477a8.113 8.113 0 0 0 0 1.046l.998-.064a7.117 7.117 0 0 1 0-.918l-.998-.064zM16 8a8.1 8.1 0 0 0-.017-.523l-.998.064a7.11 7.11 0 0 1 0 .918l.998.064A8.1 8.1 0 0 0 16 8zM.152 9.56c.069.346.16.684.27 1.012l.948-.321a6.944 6.944 0 0 1-.237-.884l-.98.194zm15.425 1.012c.112-.328.202-.666.27-1.011l-.98-.194c-.06.302-.14.597-.237.884l.947.321zM.824 11.54a8 8 0 0 0 .524.905l.83-.556a6.999 6.999 0 0 1-.458-.793l-.896.443zm13.828.905c.194-.289.37-.591.524-.906l-.896-.443c-.136.275-.29.54-.459.793l.831.556zm-12.667.83c.23.262.478.51.74.74l.66-.752a7.047 7.047 0 0 1-.648-.648l-.752.66zm11.29.74c.262-.23.51-.478.74-.74l-.752-.66c-.201.23-.418.447-.648.648l.66.752zm-1.735 1.161c.314-.155.616-.33.905-.524l-.556-.83a7.07 7.07 0 0 1-.793.458l.443.896zm-7.985-.524c.289.194.591.37.906.524l.443-.896a6.998 6.998 0 0 1-.793-.459l-.556.831zm1.873.925c.328.112.666.202 1.011.27l.194-.98a6.953 6.953 0 0 1-.884-.237l-.321.947zm4.132.271a7.944 7.944 0 0 0 1.012-.27l-.321-.948a6.954 6.954 0 0 1-.884.237l.194.98zm-2.083.135a8.1 8.1 0 0 0 1.046 0l-.064-.998a7.11 7.11 0 0 1-.918 0l-.064.998zM8.5 4.5a.5.5 0 0 0-1 0v3h-3a.5.5 0 0 0 0 1h3v3a.5.5 0 0 0 1 0v-3h3a.5.5 0 0 0 0-1h-3v-3z\"}}]})(props);\n};\nexport function BsPlusCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v3h-3a.5.5 0 0 0 0 1h3v3a.5.5 0 0 0 1 0v-3h3a.5.5 0 0 0 0-1h-3v-3z\"}}]})(props);\n};\nexport function BsPlusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z\"}}]})(props);\n};\nexport function BsPlusLg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a1 1 0 0 1 1 1v6h6a1 1 0 1 1 0 2H9v6a1 1 0 1 1-2 0V9H1a1 1 0 0 1 0-2h6V1a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsPlusSquareDotted (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 0c-.166 0-.33.016-.487.048l.194.98A1.51 1.51 0 0 1 2.5 1h.458V0H2.5zm2.292 0h-.917v1h.917V0zm1.833 0h-.917v1h.917V0zm1.833 0h-.916v1h.916V0zm1.834 0h-.917v1h.917V0zm1.833 0h-.917v1h.917V0zM13.5 0h-.458v1h.458c.1 0 .199.01.293.029l.194-.981A2.51 2.51 0 0 0 13.5 0zm2.079 1.11a2.511 2.511 0 0 0-.69-.689l-.556.831c.164.11.305.251.415.415l.83-.556zM1.11.421a2.511 2.511 0 0 0-.689.69l.831.556c.11-.164.251-.305.415-.415L1.11.422zM16 2.5c0-.166-.016-.33-.048-.487l-.98.194c.018.094.028.192.028.293v.458h1V2.5zM.048 2.013A2.51 2.51 0 0 0 0 2.5v.458h1V2.5c0-.1.01-.199.029-.293l-.981-.194zM0 3.875v.917h1v-.917H0zm16 .917v-.917h-1v.917h1zM0 5.708v.917h1v-.917H0zm16 .917v-.917h-1v.917h1zM0 7.542v.916h1v-.916H0zm15 .916h1v-.916h-1v.916zM0 9.375v.917h1v-.917H0zm16 .917v-.917h-1v.917h1zm-16 .916v.917h1v-.917H0zm16 .917v-.917h-1v.917h1zm-16 .917v.458c0 .166.016.33.048.487l.98-.194A1.51 1.51 0 0 1 1 13.5v-.458H0zm16 .458v-.458h-1v.458c0 .1-.01.199-.029.293l.981.194c.032-.158.048-.32.048-.487zM.421 14.89c.183.272.417.506.69.689l.556-.831a1.51 1.51 0 0 1-.415-.415l-.83.556zm14.469.689c.272-.183.506-.417.689-.69l-.831-.556c-.11.164-.251.305-.415.415l.556.83zm-12.877.373c.158.032.32.048.487.048h.458v-1H2.5c-.1 0-.199-.01-.293-.029l-.194.981zM13.5 16c.166 0 .33-.016.487-.048l-.194-.98A1.51 1.51 0 0 1 13.5 15h-.458v1h.458zm-9.625 0h.917v-1h-.917v1zm1.833 0h.917v-1h-.917v1zm1.834-1v1h.916v-1h-.916zm1.833 1h.917v-1h-.917v1zm1.833 0h.917v-1h-.917v1zM8.5 4.5a.5.5 0 0 0-1 0v3h-3a.5.5 0 0 0 0 1h3v3a.5.5 0 0 0 1 0v-3h3a.5.5 0 0 0 0-1h-3v-3z\"}}]})(props);\n};\nexport function BsPlusSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsPlusSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z\"}}]})(props);\n};\nexport function BsPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z\"}}]})(props);\n};\nexport function BsPower (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 1v7h1V1h-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 8.812a4.999 4.999 0 0 1 2.578-4.375l-.485-.874A6 6 0 1 0 11 3.616l-.501.865A5 5 0 1 1 3 8.812z\"}}]})(props);\n};\nexport function BsPrinterFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 1a2 2 0 0 0-2 2v1h10V3a2 2 0 0 0-2-2H5zm6 8H5a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-1v-2a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2H2a2 2 0 0 1-2-2V7zm2.5 1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1z\"}}]})(props);\n};\nexport function BsPrinter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 8a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 1a2 2 0 0 0-2 2v2H2a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h1v1a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-1h1a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-1V3a2 2 0 0 0-2-2H5zM4 3a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v2H4V3zm1 5a2 2 0 0 0-2 2v1H2a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-1v-1a2 2 0 0 0-2-2H5zm7 2v3a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1z\"}}]})(props);\n};\nexport function BsPuzzleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.112 3.645A1.5 1.5 0 0 1 4.605 2H7a.5.5 0 0 1 .5.5v.382c0 .696-.497 1.182-.872 1.469a.459.459 0 0 0-.115.118.113.113 0 0 0-.012.025L6.5 4.5v.003l.003.01c.004.01.014.028.036.053a.86.86 0 0 0 .27.194C7.09 4.9 7.51 5 8 5c.492 0 .912-.1 1.19-.24a.86.86 0 0 0 .271-.194.213.213 0 0 0 .036-.054l.003-.01v-.008a.112.112 0 0 0-.012-.025.459.459 0 0 0-.115-.118c-.375-.287-.872-.773-.872-1.469V2.5A.5.5 0 0 1 9 2h2.395a1.5 1.5 0 0 1 1.493 1.645L12.645 6.5h.237c.195 0 .42-.147.675-.48.21-.274.528-.52.943-.52.568 0 .947.447 1.154.862C15.877 6.807 16 7.387 16 8s-.123 1.193-.346 1.638c-.207.415-.586.862-1.154.862-.415 0-.733-.246-.943-.52-.255-.333-.48-.48-.675-.48h-.237l.243 2.855A1.5 1.5 0 0 1 11.395 14H9a.5.5 0 0 1-.5-.5v-.382c0-.696.497-1.182.872-1.469a.459.459 0 0 0 .115-.118.113.113 0 0 0 .012-.025L9.5 11.5v-.003l-.003-.01a.214.214 0 0 0-.036-.053.859.859 0 0 0-.27-.194C8.91 11.1 8.49 11 8 11c-.491 0-.912.1-1.19.24a.859.859 0 0 0-.271.194.214.214 0 0 0-.036.054l-.003.01v.002l.001.006a.113.113 0 0 0 .012.025c.016.027.05.068.115.118.375.287.872.773.872 1.469v.382a.5.5 0 0 1-.5.5H4.605a1.5 1.5 0 0 1-1.493-1.645L3.356 9.5h-.238c-.195 0-.42.147-.675.48-.21.274-.528.52-.943.52-.568 0-.947-.447-1.154-.862C.123 9.193 0 8.613 0 8s.123-1.193.346-1.638C.553 5.947.932 5.5 1.5 5.5c.415 0 .733.246.943.52.255.333.48.48.675.48h.238l-.244-2.855z\"}}]})(props);\n};\nexport function BsPuzzle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.112 3.645A1.5 1.5 0 0 1 4.605 2H7a.5.5 0 0 1 .5.5v.382c0 .696-.497 1.182-.872 1.469a.459.459 0 0 0-.115.118.113.113 0 0 0-.012.025L6.5 4.5v.003l.003.01c.004.01.014.028.036.053a.86.86 0 0 0 .27.194C7.09 4.9 7.51 5 8 5c.492 0 .912-.1 1.19-.24a.86.86 0 0 0 .271-.194.213.213 0 0 0 .039-.063v-.009a.112.112 0 0 0-.012-.025.459.459 0 0 0-.115-.118c-.375-.287-.872-.773-.872-1.469V2.5A.5.5 0 0 1 9 2h2.395a1.5 1.5 0 0 1 1.493 1.645L12.645 6.5h.237c.195 0 .42-.147.675-.48.21-.274.528-.52.943-.52.568 0 .947.447 1.154.862C15.877 6.807 16 7.387 16 8s-.123 1.193-.346 1.638c-.207.415-.586.862-1.154.862-.415 0-.733-.246-.943-.52-.255-.333-.48-.48-.675-.48h-.237l.243 2.855A1.5 1.5 0 0 1 11.395 14H9a.5.5 0 0 1-.5-.5v-.382c0-.696.497-1.182.872-1.469a.459.459 0 0 0 .115-.118.113.113 0 0 0 .012-.025L9.5 11.5v-.003a.214.214 0 0 0-.039-.064.859.859 0 0 0-.27-.193C8.91 11.1 8.49 11 8 11c-.491 0-.912.1-1.19.24a.859.859 0 0 0-.271.194.214.214 0 0 0-.039.063v.003l.001.006a.113.113 0 0 0 .012.025c.016.027.05.068.115.118.375.287.872.773.872 1.469v.382a.5.5 0 0 1-.5.5H4.605a1.5 1.5 0 0 1-1.493-1.645L3.356 9.5h-.238c-.195 0-.42.147-.675.48-.21.274-.528.52-.943.52-.568 0-.947-.447-1.154-.862C.123 9.193 0 8.613 0 8s.123-1.193.346-1.638C.553 5.947.932 5.5 1.5 5.5c.415 0 .733.246.943.52.255.333.48.48.675.48h.238l-.244-2.855zM4.605 3a.5.5 0 0 0-.498.55l.001.007.29 3.4A.5.5 0 0 1 3.9 7.5h-.782c-.696 0-1.182-.497-1.469-.872a.459.459 0 0 0-.118-.115.112.112 0 0 0-.025-.012L1.5 6.5h-.003a.213.213 0 0 0-.064.039.86.86 0 0 0-.193.27C1.1 7.09 1 7.51 1 8c0 .491.1.912.24 1.19.07.14.14.225.194.271a.213.213 0 0 0 .063.039H1.5l.006-.001a.112.112 0 0 0 .025-.012.459.459 0 0 0 .118-.115c.287-.375.773-.872 1.469-.872H3.9a.5.5 0 0 1 .498.542l-.29 3.408a.5.5 0 0 0 .497.55h1.878c-.048-.166-.195-.352-.463-.557-.274-.21-.52-.528-.52-.943 0-.568.447-.947.862-1.154C6.807 10.123 7.387 10 8 10s1.193.123 1.638.346c.415.207.862.586.862 1.154 0 .415-.246.733-.52.943-.268.205-.415.39-.463.557h1.878a.5.5 0 0 0 .498-.55l-.001-.007-.29-3.4A.5.5 0 0 1 12.1 8.5h.782c.696 0 1.182.497 1.469.872.05.065.091.099.118.115.013.008.021.01.025.012a.02.02 0 0 0 .006.001h.003a.214.214 0 0 0 .064-.039.86.86 0 0 0 .193-.27c.14-.28.24-.7.24-1.191 0-.492-.1-.912-.24-1.19a.86.86 0 0 0-.194-.271.215.215 0 0 0-.063-.039H14.5l-.006.001a.113.113 0 0 0-.025.012.459.459 0 0 0-.118.115c-.287.375-.773.872-1.469.872H12.1a.5.5 0 0 1-.498-.543l.29-3.407a.5.5 0 0 0-.497-.55H9.517c.048.166.195.352.463.557.274.21.52.528.52.943 0 .568-.447.947-.862 1.154C9.193 5.877 8.613 6 8 6s-1.193-.123-1.638-.346C5.947 5.447 5.5 5.068 5.5 4.5c0-.415.246-.733.52-.943.268-.205.415-.39.463-.557H4.605z\"}}]})(props);\n};\nexport function BsQuestionCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.496 6.033h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286a.237.237 0 0 0 .241.247zm2.325 6.443c.61 0 1.029-.394 1.029-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94 0 .533.425.927 1.01.927z\"}}]})(props);\n};\nexport function BsQuestionCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.255 5.786a.237.237 0 0 0 .241.247h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286zm1.557 5.763c0 .533.425.927 1.01.927.609 0 1.028-.394 1.028-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94z\"}}]})(props);\n};\nexport function BsQuestionDiamondFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435zM5.495 6.033a.237.237 0 0 1-.24-.247C5.35 4.091 6.737 3.5 8.005 3.5c1.396 0 2.672.73 2.672 2.24 0 1.08-.635 1.594-1.244 2.057-.737.559-1.01.768-1.01 1.486v.105a.25.25 0 0 1-.25.25h-.81a.25.25 0 0 1-.25-.246l-.004-.217c-.038-.927.495-1.498 1.168-1.987.59-.444.965-.736.965-1.371 0-.825-.628-1.168-1.314-1.168-.803 0-1.253.478-1.342 1.134-.018.137-.128.25-.266.25h-.825zm2.325 6.443c-.584 0-1.009-.394-1.009-.927 0-.552.425-.94 1.01-.94.609 0 1.028.388 1.028.94 0 .533-.42.927-1.029.927z\"}}]})(props);\n};\nexport function BsQuestionDiamond (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.95.435c.58-.58 1.52-.58 2.1 0l6.515 6.516c.58.58.58 1.519 0 2.098L9.05 15.565c-.58.58-1.519.58-2.098 0L.435 9.05a1.482 1.482 0 0 1 0-2.098L6.95.435zm1.4.7a.495.495 0 0 0-.7 0L1.134 7.65a.495.495 0 0 0 0 .7l6.516 6.516a.495.495 0 0 0 .7 0l6.516-6.516a.495.495 0 0 0 0-.7L8.35 1.134z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.255 5.786a.237.237 0 0 0 .241.247h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286zm1.557 5.763c0 .533.425.927 1.01.927.609 0 1.028-.394 1.028-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94z\"}}]})(props);\n};\nexport function BsQuestionLg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4.075a.423.423 0 0 0 .43.44H4.9c.247 0 .442-.2.475-.445.159-1.17.962-2.022 2.393-2.022 1.222 0 2.342.611 2.342 2.082 0 1.132-.668 1.652-1.72 2.444-1.2.872-2.15 1.89-2.082 3.542l.005.386c.003.244.202.44.446.44h1.445c.247 0 .446-.2.446-.446v-.188c0-1.278.487-1.652 1.8-2.647 1.086-.826 2.217-1.743 2.217-3.667C12.667 1.301 10.393 0 7.903 0 5.645 0 3.17 1.053 3.001 4.075zm2.776 10.273c0 .95.758 1.652 1.8 1.652 1.085 0 1.832-.702 1.832-1.652 0-.985-.747-1.675-1.833-1.675-1.04 0-1.799.69-1.799 1.675z\"}}]})(props);\n};\nexport function BsQuestionOctagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.46.146A.5.5 0 0 0 11.107 0H4.893a.5.5 0 0 0-.353.146L.146 4.54A.5.5 0 0 0 0 4.893v6.214a.5.5 0 0 0 .146.353l4.394 4.394a.5.5 0 0 0 .353.146h6.214a.5.5 0 0 0 .353-.146l4.394-4.394a.5.5 0 0 0 .146-.353V4.893a.5.5 0 0 0-.146-.353L11.46.146zM5.496 6.033a.237.237 0 0 1-.24-.247C5.35 4.091 6.737 3.5 8.005 3.5c1.396 0 2.672.73 2.672 2.24 0 1.08-.635 1.594-1.244 2.057-.737.559-1.01.768-1.01 1.486v.105a.25.25 0 0 1-.25.25h-.81a.25.25 0 0 1-.25-.246l-.004-.217c-.038-.927.495-1.498 1.168-1.987.59-.444.965-.736.965-1.371 0-.825-.628-1.168-1.314-1.168-.803 0-1.253.478-1.342 1.134-.018.137-.128.25-.266.25h-.825zm2.325 6.443c-.584 0-1.009-.394-1.009-.927 0-.552.425-.94 1.01-.94.609 0 1.028.388 1.028.94 0 .533-.42.927-1.029.927z\"}}]})(props);\n};\nexport function BsQuestionOctagon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.255 5.786a.237.237 0 0 0 .241.247h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286zm1.557 5.763c0 .533.425.927 1.01.927.609 0 1.028-.394 1.028-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94z\"}}]})(props);\n};\nexport function BsQuestionSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm3.496 6.033a.237.237 0 0 1-.24-.247C5.35 4.091 6.737 3.5 8.005 3.5c1.396 0 2.672.73 2.672 2.24 0 1.08-.635 1.594-1.244 2.057-.737.559-1.01.768-1.01 1.486v.105a.25.25 0 0 1-.25.25h-.81a.25.25 0 0 1-.25-.246l-.004-.217c-.038-.927.495-1.498 1.168-1.987.59-.444.965-.736.965-1.371 0-.825-.628-1.168-1.314-1.168-.803 0-1.253.478-1.342 1.134-.018.137-.128.25-.266.25h-.825zm2.325 6.443c-.584 0-1.009-.394-1.009-.927 0-.552.425-.94 1.01-.94.609 0 1.028.388 1.028.94 0 .533-.42.927-1.029.927z\"}}]})(props);\n};\nexport function BsQuestionSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.255 5.786a.237.237 0 0 0 .241.247h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286zm1.557 5.763c0 .533.425.927 1.01.927.609 0 1.028-.394 1.028-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94z\"}}]})(props);\n};\nexport function BsQuestion (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.255 5.786a.237.237 0 0 0 .241.247h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286zm1.557 5.763c0 .533.425.927 1.01.927.609 0 1.028-.394 1.028-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94z\"}}]})(props);\n};\nexport function BsRainbow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.5a7 7 0 0 0-7 7 .5.5 0 0 1-1 0 8 8 0 1 1 16 0 .5.5 0 0 1-1 0 7 7 0 0 0-7-7zm0 2a5 5 0 0 0-5 5 .5.5 0 0 1-1 0 6 6 0 1 1 12 0 .5.5 0 0 1-1 0 5 5 0 0 0-5-5zm0 2a3 3 0 0 0-3 3 .5.5 0 0 1-1 0 4 4 0 1 1 8 0 .5.5 0 0 1-1 0 3 3 0 0 0-3-3zm0 2a1 1 0 0 0-1 1 .5.5 0 0 1-1 0 2 2 0 1 1 4 0 .5.5 0 0 1-1 0 1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsReceiptCutoff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4.5a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zM11.5 4a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm0 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm0 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm0 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm0 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.354.646a.5.5 0 0 0-.801.13l-.5 1A.5.5 0 0 0 1 2v13H.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1H15V2a.5.5 0 0 0-.053-.224l-.5-1a.5.5 0 0 0-.8-.13L13 1.293l-.646-.647a.5.5 0 0 0-.708 0L11 1.293l-.646-.647a.5.5 0 0 0-.708 0L9 1.293 8.354.646a.5.5 0 0 0-.708 0L7 1.293 6.354.646a.5.5 0 0 0-.708 0L5 1.293 4.354.646a.5.5 0 0 0-.708 0L3 1.293 2.354.646zm-.217 1.198.51.51a.5.5 0 0 0 .707 0L4 1.707l.646.647a.5.5 0 0 0 .708 0L6 1.707l.646.647a.5.5 0 0 0 .708 0L8 1.707l.646.647a.5.5 0 0 0 .708 0L10 1.707l.646.647a.5.5 0 0 0 .708 0L12 1.707l.646.647a.5.5 0 0 0 .708 0l.509-.51.137.274V15H2V2.118l.137-.274z\"}}]})(props);\n};\nexport function BsReceipt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.92.506a.5.5 0 0 1 .434.14L3 1.293l.646-.647a.5.5 0 0 1 .708 0L5 1.293l.646-.647a.5.5 0 0 1 .708 0L7 1.293l.646-.647a.5.5 0 0 1 .708 0L9 1.293l.646-.647a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .801.13l.5 1A.5.5 0 0 1 15 2v12a.5.5 0 0 1-.053.224l-.5 1a.5.5 0 0 1-.8.13L13 14.707l-.646.647a.5.5 0 0 1-.708 0L11 14.707l-.646.647a.5.5 0 0 1-.708 0L9 14.707l-.646.647a.5.5 0 0 1-.708 0L7 14.707l-.646.647a.5.5 0 0 1-.708 0L5 14.707l-.646.647a.5.5 0 0 1-.708 0L3 14.707l-.646.647a.5.5 0 0 1-.801-.13l-.5-1A.5.5 0 0 1 1 14V2a.5.5 0 0 1 .053-.224l.5-1a.5.5 0 0 1 .367-.27zm.217 1.338L2 2.118v11.764l.137.274.51-.51a.5.5 0 0 1 .707 0l.646.647.646-.646a.5.5 0 0 1 .708 0l.646.646.646-.646a.5.5 0 0 1 .708 0l.646.646.646-.646a.5.5 0 0 1 .708 0l.646.646.646-.646a.5.5 0 0 1 .708 0l.646.646.646-.646a.5.5 0 0 1 .708 0l.509.509.137-.274V2.118l-.137-.274-.51.51a.5.5 0 0 1-.707 0L12 1.707l-.646.647a.5.5 0 0 1-.708 0L10 1.707l-.646.647a.5.5 0 0 1-.708 0L8 1.707l-.646.647a.5.5 0 0 1-.708 0L6 1.707l-.646.647a.5.5 0 0 1-.708 0L4 1.707l-.646.647a.5.5 0 0 1-.708 0l-.509-.51z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4.5a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zm8-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsReception0 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 13.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm4 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm4 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm4 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsReception1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 11.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2zm4 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm4 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm4 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsReception2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 11.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2zm4-3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-5zm4 5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm4 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsReception3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 11.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2zm4-3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-5zm4-3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-8zm4 8a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsReception4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 11.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2zm4-3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-5zm4-3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-8zm4-3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v11a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-11z\"}}]})(props);\n};\nexport function BsRecordBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm8-1a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsRecordBtn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsRecordCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-8 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsRecordCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}}]})(props);\n};\nexport function BsRecordFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 13A5 5 0 1 0 8 3a5 5 0 0 0 0 10z\"}}]})(props);\n};\nexport function BsRecord (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0 1A5 5 0 1 0 8 3a5 5 0 0 0 0 10z\"}}]})(props);\n};\nexport function BsRecord2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13A5 5 0 1 0 8 3a5 5 0 0 0 0 10zm0-2a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]})(props);\n};\nexport function BsRecord2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0 1A5 5 0 1 0 8 3a5 5 0 0 0 0 10z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0z\"}}]})(props);\n};\nexport function BsRecycle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.302 1.256a1.5 1.5 0 0 0-2.604 0l-1.704 2.98a.5.5 0 0 0 .869.497l1.703-2.981a.5.5 0 0 1 .868 0l2.54 4.444-1.256-.337a.5.5 0 1 0-.26.966l2.415.647a.5.5 0 0 0 .613-.353l.647-2.415a.5.5 0 1 0-.966-.259l-.333 1.242-2.532-4.431zM2.973 7.773l-1.255.337a.5.5 0 1 1-.26-.966l2.416-.647a.5.5 0 0 1 .612.353l.647 2.415a.5.5 0 0 1-.966.259l-.333-1.242-2.545 4.454a.5.5 0 0 0 .434.748H5a.5.5 0 0 1 0 1H1.723A1.5 1.5 0 0 1 .421 12.24l2.552-4.467zm10.89 1.463a.5.5 0 1 0-.868.496l1.716 3.004a.5.5 0 0 1-.434.748h-5.57l.647-.646a.5.5 0 1 0-.708-.707l-1.5 1.5a.498.498 0 0 0 0 .707l1.5 1.5a.5.5 0 1 0 .708-.707l-.647-.647h5.57a1.5 1.5 0 0 0 1.302-2.244l-1.716-3.004z\"}}]})(props);\n};\nexport function BsReddit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.167 8a.831.831 0 0 0-.83.83c0 .459.372.84.83.831a.831.831 0 0 0 0-1.661zm1.843 3.647c.315 0 1.403-.038 1.976-.611a.232.232 0 0 0 0-.306.213.213 0 0 0-.306 0c-.353.363-1.126.487-1.67.487-.545 0-1.308-.124-1.671-.487a.213.213 0 0 0-.306 0 .213.213 0 0 0 0 .306c.564.563 1.652.61 1.977.61zm.992-2.807c0 .458.373.83.831.83.458 0 .83-.381.83-.83a.831.831 0 0 0-1.66 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.828-1.165c-.315 0-.602.124-.812.325-.801-.573-1.9-.945-3.121-.993l.534-2.501 1.738.372a.83.83 0 1 0 .83-.869.83.83 0 0 0-.744.468l-1.938-.41a.203.203 0 0 0-.153.028.186.186 0 0 0-.086.134l-.592 2.788c-1.24.038-2.358.41-3.17.992-.21-.2-.496-.324-.81-.324a1.163 1.163 0 0 0-.478 2.224c-.02.115-.029.23-.029.353 0 1.795 2.091 3.256 4.669 3.256 2.577 0 4.668-1.451 4.668-3.256 0-.114-.01-.238-.029-.353.401-.181.688-.592.688-1.069 0-.65-.525-1.165-1.165-1.165z\"}}]})(props);\n};\nexport function BsReplyAllFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.021 11.9 3.453 8.62a.719.719 0 0 1 0-1.238L8.021 4.1a.716.716 0 0 1 1.079.619V6c1.5 0 6 0 7 8-2.5-4.5-7-4-7-4v1.281c0 .56-.606.898-1.079.62z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.232 4.293a.5.5 0 0 1-.106.7L1.114 7.945a.5.5 0 0 1-.042.028.147.147 0 0 0 0 .252.503.503 0 0 1 .042.028l4.012 2.954a.5.5 0 1 1-.593.805L.539 9.073a1.147 1.147 0 0 1 0-1.946l3.994-2.94a.5.5 0 0 1 .699.106z\"}}]})(props);\n};\nexport function BsReplyAll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.098 5.013a.144.144 0 0 1 .202.134V6.3a.5.5 0 0 0 .5.5c.667 0 2.013.005 3.3.822.984.624 1.99 1.76 2.595 3.876-1.02-.983-2.185-1.516-3.205-1.799a8.74 8.74 0 0 0-1.921-.306 7.404 7.404 0 0 0-.798.008h-.013l-.005.001h-.001L8.8 9.9l-.05-.498a.5.5 0 0 0-.45.498v1.153c0 .108-.11.176-.202.134L4.114 8.254a.502.502 0 0 0-.042-.028.147.147 0 0 1 0-.252.497.497 0 0 0 .042-.028l3.984-2.933zM9.3 10.386c.068 0 .143.003.223.006.434.02 1.034.086 1.7.271 1.326.368 2.896 1.202 3.94 3.08a.5.5 0 0 0 .933-.305c-.464-3.71-1.886-5.662-3.46-6.66-1.245-.79-2.527-.942-3.336-.971v-.66a1.144 1.144 0 0 0-1.767-.96l-3.994 2.94a1.147 1.147 0 0 0 0 1.946l3.994 2.94a1.144 1.144 0 0 0 1.767-.96v-.667z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.232 4.293a.5.5 0 0 0-.7-.106L.54 7.127a1.147 1.147 0 0 0 0 1.946l3.994 2.94a.5.5 0 1 0 .593-.805L1.114 8.254a.503.503 0 0 0-.042-.028.147.147 0 0 1 0-.252.5.5 0 0 0 .042-.028l4.012-2.954a.5.5 0 0 0 .106-.699z\"}}]})(props);\n};\nexport function BsReplyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.921 11.9 1.353 8.62a.719.719 0 0 1 0-1.238L5.921 4.1A.716.716 0 0 1 7 4.719V6c1.5 0 6 0 7 8-2.5-4.5-7-4-7-4v1.281c0 .56-.606.898-1.079.62z\"}}]})(props);\n};\nexport function BsReply (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.598 5.013a.144.144 0 0 1 .202.134V6.3a.5.5 0 0 0 .5.5c.667 0 2.013.005 3.3.822.984.624 1.99 1.76 2.595 3.876-1.02-.983-2.185-1.516-3.205-1.799a8.74 8.74 0 0 0-1.921-.306 7.404 7.404 0 0 0-.798.008h-.013l-.005.001h-.001L7.3 9.9l-.05-.498a.5.5 0 0 0-.45.498v1.153c0 .108-.11.176-.202.134L2.614 8.254a.503.503 0 0 0-.042-.028.147.147 0 0 1 0-.252.499.499 0 0 0 .042-.028l3.984-2.933zM7.8 10.386c.068 0 .143.003.223.006.434.02 1.034.086 1.7.271 1.326.368 2.896 1.202 3.94 3.08a.5.5 0 0 0 .933-.305c-.464-3.71-1.886-5.662-3.46-6.66-1.245-.79-2.527-.942-3.336-.971v-.66a1.144 1.144 0 0 0-1.767-.96l-3.994 2.94a1.147 1.147 0 0 0 0 1.946l3.994 2.94a1.144 1.144 0 0 0 1.767-.96v-.667z\"}}]})(props);\n};\nexport function BsRssFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm1.5 2.5c5.523 0 10 4.477 10 10a1 1 0 1 1-2 0 8 8 0 0 0-8-8 1 1 0 0 1 0-2zm0 4a6 6 0 0 1 6 6 1 1 0 1 1-2 0 4 4 0 0 0-4-4 1 1 0 0 1 0-2zm.5 7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsRss (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm-3-8.5a1 1 0 0 1 1-1c5.523 0 10 4.477 10 10a1 1 0 1 1-2 0 8 8 0 0 0-8-8 1 1 0 0 1-1-1zm0 4a1 1 0 0 1 1-1 6 6 0 0 1 6 6 1 1 0 1 1-2 0 4 4 0 0 0-4-4 1 1 0 0 1-1-1z\"}}]})(props);\n};\nexport function BsRulers (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 0a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h5v-1H2v-1h4v-1H4v-1h2v-1H2v-1h4V9H4V8h2V7H2V6h4V2h1v4h1V4h1v2h1V2h1v4h1V4h1v2h1V2h1v4h1V1a1 1 0 0 0-1-1H1z\"}}]})(props);\n};\nexport function BsSafeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.778 9.414A2 2 0 1 1 6.95 6.586a2 2 0 0 1 2.828 2.828z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 0A1.5 1.5 0 0 0 1 1.5V3H.5a.5.5 0 0 0 0 1H1v3.5H.5a.5.5 0 0 0 0 1H1V12H.5a.5.5 0 0 0 0 1H1v1.5A1.5 1.5 0 0 0 2.5 16h12a1.5 1.5 0 0 0 1.5-1.5v-13A1.5 1.5 0 0 0 14.5 0h-12zm3.036 4.464 1.09 1.09a3.003 3.003 0 0 1 3.476 0l1.09-1.09a.5.5 0 1 1 .707.708l-1.09 1.09c.74 1.037.74 2.44 0 3.476l1.09 1.09a.5.5 0 1 1-.707.708l-1.09-1.09a3.002 3.002 0 0 1-3.476 0l-1.09 1.09a.5.5 0 1 1-.708-.708l1.09-1.09a3.003 3.003 0 0 1 0-3.476l-1.09-1.09a.5.5 0 1 1 .708-.708zM14 6.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsSafe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 1.5A1.5 1.5 0 0 1 2.5 0h12A1.5 1.5 0 0 1 16 1.5v13a1.5 1.5 0 0 1-1.5 1.5h-12A1.5 1.5 0 0 1 1 14.5V13H.5a.5.5 0 0 1 0-1H1V8.5H.5a.5.5 0 0 1 0-1H1V4H.5a.5.5 0 0 1 0-1H1V1.5zM2.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 .5.5h12a.5.5 0 0 0 .5-.5v-13a.5.5 0 0 0-.5-.5h-12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 6a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 .5-.5zM4.828 4.464a.5.5 0 0 1 .708 0l1.09 1.09a3.003 3.003 0 0 1 3.476 0l1.09-1.09a.5.5 0 1 1 .707.708l-1.09 1.09c.74 1.037.74 2.44 0 3.476l1.09 1.09a.5.5 0 1 1-.707.708l-1.09-1.09a3.002 3.002 0 0 1-3.476 0l-1.09 1.09a.5.5 0 1 1-.708-.708l1.09-1.09a3.003 3.003 0 0 1 0-3.476l-1.09-1.09a.5.5 0 0 1 0-.708zM6.95 6.586a2 2 0 1 0 2.828 2.828A2 2 0 0 0 6.95 6.586z\"}}]})(props);\n};\nexport function BsSafe2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.563 8H5.035a3.482 3.482 0 0 1 .662-1.596l1.08 1.08c-.094.16-.167.332-.214.516zm.921-1.223-1.08-1.08A3.482 3.482 0 0 1 8 5.035v1.528c-.184.047-.357.12-.516.214zM9 6.563V5.035a3.482 3.482 0 0 1 1.596.662l-1.08 1.08A1.988 1.988 0 0 0 9 6.563zm1.223.921 1.08-1.08c.343.458.577 1.003.662 1.596h-1.528a1.989 1.989 0 0 0-.214-.516zM10.437 9h1.528a3.483 3.483 0 0 1-.662 1.596l-1.08-1.08c.094-.16.167-.332.214-.516zm-.921 1.223 1.08 1.08A3.483 3.483 0 0 1 9 11.965v-1.528c.184-.047.357-.12.516-.214zM8 10.437v1.528a3.483 3.483 0 0 1-1.596-.662l1.08-1.08c.16.094.332.167.516.214zm-1.223-.921-1.08 1.08A3.482 3.482 0 0 1 5.035 9h1.528c.047.184.12.357.214.516zM7.5 8.5a1 1 0 1 1 2 0 1 1 0 0 1-2 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 1A1.5 1.5 0 0 0 1 2.5V3H.5a.5.5 0 0 0 0 1H1v4H.5a.5.5 0 0 0 0 1H1v4H.5a.5.5 0 0 0 0 1H1v.5A1.5 1.5 0 0 0 2.5 16h12a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 14.5 1h-12zm6 3a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9z\"}}]})(props);\n};\nexport function BsSafe2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.5A1.5 1.5 0 0 1 2.5 1h12A1.5 1.5 0 0 1 16 2.5v12a1.5 1.5 0 0 1-1.5 1.5h-12A1.5 1.5 0 0 1 1 14.5V14H.5a.5.5 0 0 1 0-1H1V9H.5a.5.5 0 0 1 0-1H1V4H.5a.5.5 0 0 1 0-1H1v-.5zM2.5 2a.5.5 0 0 0-.5.5v12a.5.5 0 0 0 .5.5h12a.5.5 0 0 0 .5-.5v-12a.5.5 0 0 0-.5-.5h-12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.035 8h1.528c.047-.184.12-.357.214-.516l-1.08-1.08A3.482 3.482 0 0 0 5.035 8zm1.369-2.303 1.08 1.08c.16-.094.332-.167.516-.214V5.035a3.482 3.482 0 0 0-1.596.662zM9 5.035v1.528c.184.047.357.12.516.214l1.08-1.08A3.482 3.482 0 0 0 9 5.035zm2.303 1.369-1.08 1.08c.094.16.167.332.214.516h1.528a3.483 3.483 0 0 0-.662-1.596zM11.965 9h-1.528c-.047.184-.12.357-.214.516l1.08 1.08A3.483 3.483 0 0 0 11.965 9zm-1.369 2.303-1.08-1.08c-.16.094-.332.167-.516.214v1.528a3.483 3.483 0 0 0 1.596-.662zM8 11.965v-1.528a1.989 1.989 0 0 1-.516-.214l-1.08 1.08A3.483 3.483 0 0 0 8 11.965zm-2.303-1.369 1.08-1.08A1.988 1.988 0 0 1 6.563 9H5.035c.085.593.319 1.138.662 1.596zM4 8.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0zm4.5-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsSaveFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 1.5A1.5 1.5 0 0 1 10 0h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h6c-.314.418-.5.937-.5 1.5v7.793L4.854 6.646a.5.5 0 1 0-.708.708l3.5 3.5a.5.5 0 0 0 .708 0l3.5-3.5a.5.5 0 0 0-.708-.708L8.5 9.293V1.5z\"}}]})(props);\n};\nexport function BsSave (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H9.5a1 1 0 0 0-1 1v7.293l2.646-2.647a.5.5 0 0 1 .708.708l-3.5 3.5a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L7.5 9.293V2a2 2 0 0 1 2-2H14a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h2.5a.5.5 0 0 1 0 1H2z\"}}]})(props);\n};\nexport function BsSave2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 1.5A1.5 1.5 0 0 1 10 0h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h6c-.314.418-.5.937-.5 1.5v6h-2a.5.5 0 0 0-.354.854l2.5 2.5a.5.5 0 0 0 .708 0l2.5-2.5A.5.5 0 0 0 10.5 7.5h-2v-6z\"}}]})(props);\n};\nexport function BsSave2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H9.5a1 1 0 0 0-1 1v4.5h2a.5.5 0 0 1 .354.854l-2.5 2.5a.5.5 0 0 1-.708 0l-2.5-2.5A.5.5 0 0 1 5.5 6.5h2V2a2 2 0 0 1 2-2H14a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h2.5a.5.5 0 0 1 0 1H2z\"}}]})(props);\n};\nexport function BsScissors (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 3.5c-.614-.884-.074-1.962.858-2.5L8 7.226 11.642 1c.932.538 1.472 1.616.858 2.5L8.81 8.61l1.556 2.661a2.5 2.5 0 1 1-.794.637L8 9.73l-1.572 2.177a2.5 2.5 0 1 1-.794-.637L7.19 8.61 3.5 3.5zm2.5 10a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0zm7 0a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0z\"}}]})(props);\n};\nexport function BsScrewdriver (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m0 1 1-1 3.081 2.2a1 1 0 0 1 .419.815v.07a1 1 0 0 0 .293.708L10.5 9.5l.914-.305a1 1 0 0 1 1.023.242l3.356 3.356a1 1 0 0 1 0 1.414l-1.586 1.586a1 1 0 0 1-1.414 0l-3.356-3.356a1 1 0 0 1-.242-1.023L9.5 10.5 3.793 4.793a1 1 0 0 0-.707-.293h-.071a1 1 0 0 1-.814-.419L0 1zm11.354 9.646a.5.5 0 0 0-.708.708l3 3a.5.5 0 0 0 .708-.708l-3-3z\"}}]})(props);\n};\nexport function BsSdCardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.5 0H5.914a1.5 1.5 0 0 0-1.06.44L2.439 2.853A1.5 1.5 0 0 0 2 3.914V14.5A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-13A1.5 1.5 0 0 0 12.5 0zm-7 2.75a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75zm2 0a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75zm2.75.75a.75.75 0 0 0-1.5 0v2a.75.75 0 0 0 1.5 0v-2zm1.25-.75a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75z\"}}]})(props);\n};\nexport function BsSdCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.25 3.5a.75.75 0 0 0-1.5 0v2a.75.75 0 0 0 1.5 0v-2zm2 0a.75.75 0 0 0-1.5 0v2a.75.75 0 0 0 1.5 0v-2zm2 0a.75.75 0 0 0-1.5 0v2a.75.75 0 0 0 1.5 0v-2zm2 0a.75.75 0 0 0-1.5 0v2a.75.75 0 0 0 1.5 0v-2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.914 0H12.5A1.5 1.5 0 0 1 14 1.5v13a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5V3.914c0-.398.158-.78.44-1.06L4.853.439A1.5 1.5 0 0 1 5.914 0zM13 1.5a.5.5 0 0 0-.5-.5H5.914a.5.5 0 0 0-.353.146L3.146 3.561A.5.5 0 0 0 3 3.914V14.5a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-13z\"}}]})(props);\n};\nexport function BsSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z\"}}]})(props);\n};\nexport function BsSegmentedNav (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6zm6 3h4V5H6v4zm9-1V6a1 1 0 0 0-1-1h-3v4h3a1 1 0 0 0 1-1z\"}}]})(props);\n};\nexport function BsServer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.333 2.667C1.333 1.194 4.318 0 8 0s6.667 1.194 6.667 2.667V4c0 1.473-2.985 2.667-6.667 2.667S1.333 5.473 1.333 4V2.667z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.333 6.334v3C1.333 10.805 4.318 12 8 12s6.667-1.194 6.667-2.667V6.334a6.51 6.51 0 0 1-1.458.79C11.81 7.684 9.967 8 8 8c-1.966 0-3.809-.317-5.208-.876a6.508 6.508 0 0 1-1.458-.79z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.667 11.668a6.51 6.51 0 0 1-1.458.789c-1.4.56-3.242.876-5.21.876-1.966 0-3.809-.316-5.208-.876a6.51 6.51 0 0 1-1.458-.79v1.666C1.333 14.806 4.318 16 8 16s6.667-1.194 6.667-2.667v-1.665z\"}}]})(props);\n};\nexport function BsShareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2.5a2.5 2.5 0 1 1 .603 1.628l-6.718 3.12a2.499 2.499 0 0 1 0 1.504l6.718 3.12a2.5 2.5 0 1 1-.488.876l-6.718-3.12a2.5 2.5 0 1 1 0-3.256l6.718-3.12A2.5 2.5 0 0 1 11 2.5z\"}}]})(props);\n};\nexport function BsShare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 1a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zM11 2.5a2.5 2.5 0 1 1 .603 1.628l-6.718 3.12a2.499 2.499 0 0 1 0 1.504l6.718 3.12a2.5 2.5 0 1 1-.488.876l-6.718-3.12a2.5 2.5 0 1 1 0-3.256l6.718-3.12A2.5 2.5 0 0 1 11 2.5zm-8.5 4a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm11 5.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z\"}}]})(props);\n};\nexport function BsShieldCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.854 5.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 7.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsShieldExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.001 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"}}]})(props);\n};\nexport function BsShieldFillCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.775 11.775 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.541 1.541 0 0 0-1.044-1.263 62.467 62.467 0 0 0-2.887-.87C9.843.266 8.69 0 8 0zm2.146 5.146a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 7.793l2.646-2.647z\"}}]})(props);\n};\nexport function BsShieldFillExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.775 11.775 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.541 1.541 0 0 0-1.044-1.263 62.467 62.467 0 0 0-2.887-.87C9.843.266 8.69 0 8 0zm-.55 8.502L7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0zM8.002 12a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BsShieldFillMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.775 11.775 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.541 1.541 0 0 0-1.044-1.263 62.467 62.467 0 0 0-2.887-.87C9.843.266 8.69 0 8 0zM6 7.5a.5.5 0 0 1 0-1h4a.5.5 0 0 1 0 1H6z\"}}]})(props);\n};\nexport function BsShieldFillPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.775 11.775 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.541 1.541 0 0 0-1.044-1.263 62.467 62.467 0 0 0-2.887-.87C9.843.266 8.69 0 8 0zm-.5 5a.5.5 0 0 1 1 0v1.5H10a.5.5 0 0 1 0 1H8.5V9a.5.5 0 0 1-1 0V7.5H6a.5.5 0 0 1 0-1h1.5V5z\"}}]})(props);\n};\nexport function BsShieldFillX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.775 11.775 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.541 1.541 0 0 0-1.044-1.263 62.467 62.467 0 0 0-2.887-.87C9.843.266 8.69 0 8 0zM6.854 5.146 8 6.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 7l1.147 1.146a.5.5 0 0 1-.708.708L8 7.707 6.854 8.854a.5.5 0 1 1-.708-.708L7.293 7 6.146 5.854a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsShieldFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}}]})(props);\n};\nexport function BsShieldLockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.775 11.775 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.541 1.541 0 0 0-1.044-1.263 62.467 62.467 0 0 0-2.887-.87C9.843.266 8.69 0 8 0zm0 5a1.5 1.5 0 0 1 .5 2.915l.385 1.99a.5.5 0 0 1-.491.595h-.788a.5.5 0 0 1-.49-.595l.384-1.99A1.5 1.5 0 0 1 8 5z\"}}]})(props);\n};\nexport function BsShieldLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 6.5a1.5 1.5 0 0 1-1 1.415l.385 1.99a.5.5 0 0 1-.491.595h-.788a.5.5 0 0 1-.49-.595l.384-1.99a1.5 1.5 0 1 1 2-1.415z\"}}]})(props);\n};\nexport function BsShieldMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 7a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsShieldPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.5a.5.5 0 0 1 .5.5v1.5H10a.5.5 0 0 1 0 1H8.5V9a.5.5 0 0 1-1 0V7.5H6a.5.5 0 0 1 0-1h1.5V5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsShieldShaded (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 14.933a.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067v13.866zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}}]})(props);\n};\nexport function BsShieldSlashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.093 3.093c-.465 4.275.885 7.46 2.513 9.589a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.32 11.32 0 0 0 1.733-1.525L1.093 3.093zm12.215 8.215L3.128 1.128A61.369 61.369 0 0 1 5.073.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.483 3.626-.332 6.491-1.551 8.616zm.338 3.046-13-13 .708-.708 13 13-.707.707z\"}}]})(props);\n};\nexport function BsShieldSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.093 3.093c-.465 4.275.885 7.46 2.513 9.589a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.32 11.32 0 0 0 1.733-1.525l-.745-.745a10.27 10.27 0 0 1-1.578 1.392c-.346.244-.652.42-.893.533-.12.057-.218.095-.293.118a.55.55 0 0 1-.101.025.615.615 0 0 1-.1-.025 2.348 2.348 0 0 1-.294-.118 6.141 6.141 0 0 1-.893-.533 10.725 10.725 0 0 1-2.287-2.233C3.053 10.228 1.879 7.594 2.06 4.06l-.967-.967zM3.98 1.98l-.852-.852A58.935 58.935 0 0 1 5.072.559C6.157.266 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.483 3.626-.332 6.491-1.551 8.616l-.77-.77c1.042-1.915 1.72-4.469 1.29-7.702a.48.48 0 0 0-.33-.39c-.65-.213-1.75-.56-2.836-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524a49.7 49.7 0 0 0-1.357.39zm9.666 12.374-13-13 .708-.708 13 13-.707.707z\"}}]})(props);\n};\nexport function BsShieldX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.146 5.146a.5.5 0 0 1 .708 0L8 6.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 7l1.147 1.146a.5.5 0 0 1-.708.708L8 7.707 6.854 8.854a.5.5 0 1 1-.708-.708L7.293 7 6.146 5.854a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsShield (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}}]})(props);\n};\nexport function BsShiftFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.27 2.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H11.5v3a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-3H1.654C.78 10.5.326 9.455.924 8.816L7.27 2.047z\"}}]})(props);\n};\nexport function BsShift (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.27 2.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H11.5v3a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-3H1.654C.78 10.5.326 9.455.924 8.816L7.27 2.047zM14.346 9.5 8 2.731 1.654 9.5H4.5a1 1 0 0 1 1 1v3h5v-3a1 1 0 0 1 1-1h2.846z\"}}]})(props);\n};\nexport function BsShopWindow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.97 1.35A1 1 0 0 1 3.73 1h8.54a1 1 0 0 1 .76.35l2.609 3.044A1.5 1.5 0 0 1 16 5.37v.255a2.375 2.375 0 0 1-4.25 1.458A2.371 2.371 0 0 1 9.875 8 2.37 2.37 0 0 1 8 7.083 2.37 2.37 0 0 1 6.125 8a2.37 2.37 0 0 1-1.875-.917A2.375 2.375 0 0 1 0 5.625V5.37a1.5 1.5 0 0 1 .361-.976l2.61-3.045zm1.78 4.275a1.375 1.375 0 0 0 2.75 0 .5.5 0 0 1 1 0 1.375 1.375 0 0 0 2.75 0 .5.5 0 0 1 1 0 1.375 1.375 0 1 0 2.75 0V5.37a.5.5 0 0 0-.12-.325L12.27 2H3.73L1.12 5.045A.5.5 0 0 0 1 5.37v.255a1.375 1.375 0 0 0 2.75 0 .5.5 0 0 1 1 0zM1.5 8.5A.5.5 0 0 1 2 9v6h12V9a.5.5 0 0 1 1 0v6h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1V9a.5.5 0 0 1 .5-.5zm2 .5a.5.5 0 0 1 .5.5V13h8V9.5a.5.5 0 0 1 1 0V13a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsShop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.97 1.35A1 1 0 0 1 3.73 1h8.54a1 1 0 0 1 .76.35l2.609 3.044A1.5 1.5 0 0 1 16 5.37v.255a2.375 2.375 0 0 1-4.25 1.458A2.371 2.371 0 0 1 9.875 8 2.37 2.37 0 0 1 8 7.083 2.37 2.37 0 0 1 6.125 8a2.37 2.37 0 0 1-1.875-.917A2.375 2.375 0 0 1 0 5.625V5.37a1.5 1.5 0 0 1 .361-.976l2.61-3.045zm1.78 4.275a1.375 1.375 0 0 0 2.75 0 .5.5 0 0 1 1 0 1.375 1.375 0 0 0 2.75 0 .5.5 0 0 1 1 0 1.375 1.375 0 1 0 2.75 0V5.37a.5.5 0 0 0-.12-.325L12.27 2H3.73L1.12 5.045A.5.5 0 0 0 1 5.37v.255a1.375 1.375 0 0 0 2.75 0 .5.5 0 0 1 1 0zM1.5 8.5A.5.5 0 0 1 2 9v6h1v-5a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v5h6V9a.5.5 0 0 1 1 0v6h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1V9a.5.5 0 0 1 .5-.5zM4 15h3v-5H4v5zm5-5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-3zm3 0h-2v3h2v-3z\"}}]})(props);\n};\nexport function BsShuffle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 3.5A.5.5 0 0 1 .5 3H1c2.202 0 3.827 1.24 4.874 2.418.49.552.865 1.102 1.126 1.532.26-.43.636-.98 1.126-1.532C9.173 4.24 10.798 3 13 3v1c-1.798 0-3.173 1.01-4.126 2.082A9.624 9.624 0 0 0 7.556 8a9.624 9.624 0 0 0 1.317 1.918C9.828 10.99 11.204 12 13 12v1c-2.202 0-3.827-1.24-4.874-2.418A10.595 10.595 0 0 1 7 9.05c-.26.43-.636.98-1.126 1.532C4.827 11.76 3.202 13 1 13H.5a.5.5 0 0 1 0-1H1c1.798 0 3.173-1.01 4.126-2.082A9.624 9.624 0 0 0 6.444 8a9.624 9.624 0 0 0-1.317-1.918C4.172 5.01 2.796 4 1 4H.5a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 5.466V1.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384l-2.36 1.966a.25.25 0 0 1-.41-.192zm0 9v-3.932a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384l-2.36 1.966a.25.25 0 0 1-.41-.192z\"}}]})(props);\n};\nexport function BsSignal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m6.08.234.179.727a7.264 7.264 0 0 0-2.01.832l-.383-.643A7.9 7.9 0 0 1 6.079.234zm3.84 0L9.742.96a7.265 7.265 0 0 1 2.01.832l.388-.643A7.957 7.957 0 0 0 9.92.234zm-8.77 3.63a7.944 7.944 0 0 0-.916 2.215l.727.18a7.264 7.264 0 0 1 .832-2.01l-.643-.386zM.75 8a7.3 7.3 0 0 1 .081-1.086L.091 6.8a8 8 0 0 0 0 2.398l.74-.112A7.262 7.262 0 0 1 .75 8zm11.384 6.848-.384-.64a7.23 7.23 0 0 1-2.007.831l.18.728a7.965 7.965 0 0 0 2.211-.919zM15.251 8c0 .364-.028.727-.082 1.086l.74.112a7.966 7.966 0 0 0 0-2.398l-.74.114c.054.36.082.722.082 1.086zm.516 1.918-.728-.18a7.252 7.252 0 0 1-.832 2.012l.643.387a7.933 7.933 0 0 0 .917-2.219zm-6.68 5.25c-.72.11-1.453.11-2.173 0l-.112.742a7.99 7.99 0 0 0 2.396 0l-.112-.741zm4.75-2.868a7.229 7.229 0 0 1-1.537 1.534l.446.605a8.07 8.07 0 0 0 1.695-1.689l-.604-.45zM12.3 2.163c.587.432 1.105.95 1.537 1.537l.604-.45a8.06 8.06 0 0 0-1.69-1.691l-.45.604zM2.163 3.7A7.242 7.242 0 0 1 3.7 2.163l-.45-.604a8.06 8.06 0 0 0-1.691 1.69l.604.45zm12.688.163-.644.387c.377.623.658 1.3.832 2.007l.728-.18a7.931 7.931 0 0 0-.916-2.214zM6.913.831a7.254 7.254 0 0 1 2.172 0l.112-.74a7.985 7.985 0 0 0-2.396 0l.112.74zM2.547 14.64 1 15l.36-1.549-.729-.17-.361 1.548a.75.75 0 0 0 .9.902l1.548-.357-.17-.734zM.786 12.612l.732.168.25-1.073A7.187 7.187 0 0 1 .96 9.74l-.727.18a8 8 0 0 0 .736 1.902l-.184.79zm3.5 1.623-1.073.25.17.731.79-.184c.6.327 1.239.574 1.902.737l.18-.728a7.197 7.197 0 0 1-1.962-.811l-.007.005zM8 1.5a6.502 6.502 0 0 0-6.498 6.502 6.516 6.516 0 0 0 .998 3.455l-.625 2.668L4.54 13.5a6.502 6.502 0 0 0 6.93-11A6.516 6.516 0 0 0 8 1.5\"}}]})(props);\n};\nexport function BsSignpost2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293.707A1 1 0 0 0 7 1.414V2H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h5v1H2.5a1 1 0 0 0-.8.4L.725 8.7a.5.5 0 0 0 0 .6l.975 1.3a1 1 0 0 0 .8.4H7v5h2v-5h5a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H9V6h4.5a1 1 0 0 0 .8-.4l.975-1.3a.5.5 0 0 0 0-.6L14.3 2.4a1 1 0 0 0-.8-.4H9v-.586A1 1 0 0 0 7.293.707z\"}}]})(props);\n};\nexport function BsSignpost2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 1.414V2H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h5v1H2.5a1 1 0 0 0-.8.4L.725 8.7a.5.5 0 0 0 0 .6l.975 1.3a1 1 0 0 0 .8.4H7v5h2v-5h5a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H9V6h4.5a1 1 0 0 0 .8-.4l.975-1.3a.5.5 0 0 0 0-.6L14.3 2.4a1 1 0 0 0-.8-.4H9v-.586a1 1 0 0 0-2 0zM13.5 3l.75 1-.75 1H2V3h11.5zm.5 5v2H2.5l-.75-1 .75-1H14z\"}}]})(props);\n};\nexport function BsSignpostFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293.707A1 1 0 0 0 7 1.414V4H2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h5v6h2v-6h3.532a1 1 0 0 0 .768-.36l1.933-2.32a.5.5 0 0 0 0-.64L13.3 4.36a1 1 0 0 0-.768-.36H9V1.414A1 1 0 0 0 7.293.707z\"}}]})(props);\n};\nexport function BsSignpostSplitFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 16h2V6h5a1 1 0 0 0 .8-.4l.975-1.3a.5.5 0 0 0 0-.6L14.8 2.4A1 1 0 0 0 14 2H9v-.586a1 1 0 0 0-2 0V7H2a1 1 0 0 0-.8.4L.225 8.7a.5.5 0 0 0 0 .6l.975 1.3a1 1 0 0 0 .8.4h5v5z\"}}]})(props);\n};\nexport function BsSignpostSplit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7V1.414a1 1 0 0 1 2 0V2h5a1 1 0 0 1 .8.4l.975 1.3a.5.5 0 0 1 0 .6L14.8 5.6a1 1 0 0 1-.8.4H9v10H7v-5H2a1 1 0 0 1-.8-.4L.225 9.3a.5.5 0 0 1 0-.6L1.2 7.4A1 1 0 0 1 2 7h5zm1 3V8H2l-.75 1L2 10h6zm0-5h6l.75-1L14 3H8v2z\"}}]})(props);\n};\nexport function BsSignpost (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 1.414V4H2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h5v6h2v-6h3.532a1 1 0 0 0 .768-.36l1.933-2.32a.5.5 0 0 0 0-.64L13.3 4.36a1 1 0 0 0-.768-.36H9V1.414a1 1 0 0 0-2 0zM12.532 5l1.666 2-1.666 2H2V5h10.532z\"}}]})(props);\n};\nexport function BsSimFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 4.5a.5.5 0 0 1 .5-.5h2v2H5V4.5zM8.5 6V4h2a.5.5 0 0 1 .5.5V6H8.5zM5 7h6v2H5V7zm3.5 3H11v1.5a.5.5 0 0 1-.5.5h-2v-2zm-1 0v2h-2a.5.5 0 0 1-.5-.5V10h2.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0A1.5 1.5 0 0 0 2 1.5v13A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5V3.414a1.5 1.5 0 0 0-.44-1.06L11.647.439A1.5 1.5 0 0 0 10.586 0H3.5zm2 3h5A1.5 1.5 0 0 1 12 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 4 11.5v-7A1.5 1.5 0 0 1 5.5 3z\"}}]})(props);\n};\nexport function BsSim (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1.5A1.5 1.5 0 0 1 3.5 0h7.086a1.5 1.5 0 0 1 1.06.44l1.915 1.914A1.5 1.5 0 0 1 14 3.414V14.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5v-13zM3.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5V3.414a.5.5 0 0 0-.146-.353l-1.915-1.915A.5.5 0 0 0 10.586 1H3.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 4a.5.5 0 0 0-.5.5V6h2.5V4h-2zm3 0v2H11V4.5a.5.5 0 0 0-.5-.5h-2zM11 7H5v2h6V7zm0 3H8.5v2h2a.5.5 0 0 0 .5-.5V10zm-3.5 2v-2H5v1.5a.5.5 0 0 0 .5.5h2zM4 4.5A1.5 1.5 0 0 1 5.5 3h5A1.5 1.5 0 0 1 12 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 4 11.5v-7z\"}}]})(props);\n};\nexport function BsSkipBackwardBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm11.21-6.907L8.5 7.028V5.5a.5.5 0 0 0-.79-.407L5 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407V8.972l2.71 1.935A.5.5 0 0 0 12 10.5v-5a.5.5 0 0 0-.79-.407z\"}}]})(props);\n};\nexport function BsSkipBackwardBtn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.21 5.093A.5.5 0 0 1 12 5.5v5a.5.5 0 0 1-.79.407L8.5 8.972V10.5a.5.5 0 0 1-.79.407L5 8.972V10.5a.5.5 0 0 1-1 0v-5a.5.5 0 0 1 1 0v1.528l2.71-1.935a.5.5 0 0 1 .79.407v1.528l2.71-1.935z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsSkipBackwardCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-4.79-2.907L8.5 7.028V5.5a.5.5 0 0 0-.79-.407L5 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407V8.972l2.71 1.935A.5.5 0 0 0 12 10.5v-5a.5.5 0 0 0-.79-.407z\"}}]})(props);\n};\nexport function BsSkipBackwardCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.729 5.055a.5.5 0 0 0-.52.038L8.5 7.028V5.5a.5.5 0 0 0-.79-.407L5 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407V8.972l2.71 1.935A.5.5 0 0 0 12 10.5v-5a.5.5 0 0 0-.271-.445z\"}}]})(props);\n};\nexport function BsSkipBackwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 3.5A.5.5 0 0 0 0 4v8a.5.5 0 0 0 1 0V8.753l6.267 3.636c.54.313 1.233-.066 1.233-.697v-2.94l6.267 3.636c.54.314 1.233-.065 1.233-.696V4.308c0-.63-.693-1.01-1.233-.696L8.5 7.248v-2.94c0-.63-.692-1.01-1.233-.696L1 7.248V4a.5.5 0 0 0-.5-.5z\"}}]})(props);\n};\nexport function BsSkipBackward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 3.5A.5.5 0 0 1 1 4v3.248l6.267-3.636c.52-.302 1.233.043 1.233.696v2.94l6.267-3.636c.52-.302 1.233.043 1.233.696v7.384c0 .653-.713.998-1.233.696L8.5 8.752v2.94c0 .653-.713.998-1.233.696L1 8.752V12a.5.5 0 0 1-1 0V4a.5.5 0 0 1 .5-.5zm7 1.133L1.696 8 7.5 11.367V4.633zm7.5 0L9.196 8 15 11.367V4.633z\"}}]})(props);\n};\nexport function BsSkipEndBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm6.79-6.907A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407L9.5 8.972V10.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L6.79 5.093z\"}}]})(props);\n};\nexport function BsSkipEndBtn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.79 5.093 9.5 7.028V5.5a.5.5 0 0 1 1 0v5a.5.5 0 0 1-1 0V8.972l-2.71 1.935A.5.5 0 0 1 6 10.5v-5a.5.5 0 0 1 .79-.407z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsSkipEndCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.79 5.093A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407L9.5 8.972V10.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L6.79 5.093z\"}}]})(props);\n};\nexport function BsSkipEndCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.271 5.055a.5.5 0 0 1 .52.038L9.5 7.028V5.5a.5.5 0 0 1 1 0v5a.5.5 0 0 1-1 0V8.972l-2.71 1.935A.5.5 0 0 1 6 10.5v-5a.5.5 0 0 1 .271-.445z\"}}]})(props);\n};\nexport function BsSkipEndFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 4a.5.5 0 0 0-1 0v3.248L5.233 3.612C4.693 3.3 4 3.678 4 4.308v7.384c0 .63.692 1.01 1.233.697L11.5 8.753V12a.5.5 0 0 0 1 0V4z\"}}]})(props);\n};\nexport function BsSkipEnd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 4a.5.5 0 0 0-1 0v3.248L5.233 3.612C4.713 3.31 4 3.655 4 4.308v7.384c0 .653.713.998 1.233.696L11.5 8.752V12a.5.5 0 0 0 1 0V4zM5 4.633 10.804 8 5 11.367V4.633z\"}}]})(props);\n};\nexport function BsSkipForwardBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 10V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm4.79-6.907A.5.5 0 0 0 4 3.5v5a.5.5 0 0 0 .79.407L7.5 6.972V8.5a.5.5 0 0 0 .79.407L11 6.972V8.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L8.29 3.093a.5.5 0 0 0-.79.407v1.528L4.79 3.093z\"}}]})(props);\n};\nexport function BsSkipForwardBtn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.79 5.093A.5.5 0 0 0 4 5.5v5a.5.5 0 0 0 .79.407L7.5 8.972V10.5a.5.5 0 0 0 .79.407L11 8.972V10.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L8.29 5.093a.5.5 0 0 0-.79.407v1.528L4.79 5.093z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsSkipForwardCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.79 5.093A.5.5 0 0 0 4 5.5v5a.5.5 0 0 0 .79.407L7.5 8.972V10.5a.5.5 0 0 0 .79.407L11 8.972V10.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L8.29 5.093a.5.5 0 0 0-.79.407v1.528L4.79 5.093z\"}}]})(props);\n};\nexport function BsSkipForwardCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.271 5.055a.5.5 0 0 1 .52.038L7.5 7.028V5.5a.5.5 0 0 1 .79-.407L11 7.028V5.5a.5.5 0 0 1 1 0v5a.5.5 0 0 1-1 0V8.972l-2.71 1.935a.5.5 0 0 1-.79-.407V8.972l-2.71 1.935A.5.5 0 0 1 4 10.5v-5a.5.5 0 0 1 .271-.445z\"}}]})(props);\n};\nexport function BsSkipForwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 3.5a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-1 0V8.753l-6.267 3.636c-.54.313-1.233-.066-1.233-.697v-2.94l-6.267 3.636C.693 12.703 0 12.324 0 11.693V4.308c0-.63.693-1.01 1.233-.696L7.5 7.248v-2.94c0-.63.693-1.01 1.233-.696L15 7.248V4a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsSkipForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 3.5a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-1 0V8.752l-6.267 3.636c-.52.302-1.233-.043-1.233-.696v-2.94l-6.267 3.636C.713 12.69 0 12.345 0 11.692V4.308c0-.653.713-.998 1.233-.696L7.5 7.248v-2.94c0-.653.713-.998 1.233-.696L15 7.248V4a.5.5 0 0 1 .5-.5zM1 4.633v6.734L6.804 8 1 4.633zm7.5 0v6.734L14.304 8 8.5 4.633z\"}}]})(props);\n};\nexport function BsSkipStartBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm9.71-6.907L7 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407v-5a.5.5 0 0 0-.79-.407z\"}}]})(props);\n};\nexport function BsSkipStartBtn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.71 5.093a.5.5 0 0 1 .79.407v5a.5.5 0 0 1-.79.407L7 8.972V10.5a.5.5 0 0 1-1 0v-5a.5.5 0 0 1 1 0v1.528l2.71-1.935z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsSkipStartCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM9.71 5.093 7 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407v-5a.5.5 0 0 0-.79-.407z\"}}]})(props);\n};\nexport function BsSkipStartCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.229 5.055a.5.5 0 0 0-.52.038L7 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407v-5a.5.5 0 0 0-.271-.445z\"}}]})(props);\n};\nexport function BsSkipStartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a.5.5 0 0 1 1 0v3.248l6.267-3.636c.54-.313 1.232.066 1.232.696v7.384c0 .63-.692 1.01-1.232.697L5 8.753V12a.5.5 0 0 1-1 0V4z\"}}]})(props);\n};\nexport function BsSkipStart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a.5.5 0 0 1 1 0v3.248l6.267-3.636c.52-.302 1.233.043 1.233.696v7.384c0 .653-.713.998-1.233.696L5 8.752V12a.5.5 0 0 1-1 0V4zm7.5.633L5.696 8l5.804 3.367V4.633z\"}}]})(props);\n};\nexport function BsSkype (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.671 0c.88 0 1.733.247 2.468.702a7.423 7.423 0 0 1 6.02 2.118 7.372 7.372 0 0 1 2.167 5.215c0 .344-.024.687-.072 1.026a4.662 4.662 0 0 1 .6 2.281 4.645 4.645 0 0 1-1.37 3.294A4.673 4.673 0 0 1 11.18 16c-.84 0-1.658-.226-2.37-.644a7.423 7.423 0 0 1-6.114-2.107A7.374 7.374 0 0 1 .529 8.035c0-.363.026-.724.08-1.081a4.644 4.644 0 0 1 .76-5.59A4.68 4.68 0 0 1 4.67 0zm.447 7.01c.18.309.43.572.729.769a7.07 7.07 0 0 0 1.257.653c.492.205.873.38 1.145.523.229.112.437.264.615.448.135.142.21.331.21.528a.872.872 0 0 1-.335.723c-.291.196-.64.289-.99.264a2.618 2.618 0 0 1-1.048-.206 11.44 11.44 0 0 1-.532-.253 1.284 1.284 0 0 0-.587-.15.717.717 0 0 0-.501.176.63.63 0 0 0-.195.491.796.796 0 0 0 .148.482 1.2 1.2 0 0 0 .456.354 5.113 5.113 0 0 0 2.212.419 4.554 4.554 0 0 0 1.624-.265 2.296 2.296 0 0 0 1.08-.801c.267-.39.402-.855.386-1.327a2.09 2.09 0 0 0-.279-1.101 2.53 2.53 0 0 0-.772-.792A7.198 7.198 0 0 0 8.486 7.3a1.05 1.05 0 0 0-.145-.058 18.182 18.182 0 0 1-1.013-.447 1.827 1.827 0 0 1-.54-.387.727.727 0 0 1-.2-.508.805.805 0 0 1 .385-.723 1.76 1.76 0 0 1 .968-.247c.26-.003.52.03.772.096.274.079.542.177.802.293.105.049.22.075.336.076a.6.6 0 0 0 .453-.19.69.69 0 0 0 .18-.496.717.717 0 0 0-.17-.476 1.374 1.374 0 0 0-.556-.354 3.69 3.69 0 0 0-.708-.183 5.963 5.963 0 0 0-1.022-.078 4.53 4.53 0 0 0-1.536.258 2.71 2.71 0 0 0-1.174.784 1.91 1.91 0 0 0-.45 1.287c-.01.37.076.736.25 1.063z\"}}]})(props);\n};\nexport function BsSlack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.362 10.11c0 .926-.756 1.681-1.681 1.681S0 11.036 0 10.111C0 9.186.756 8.43 1.68 8.43h1.682v1.68zm.846 0c0-.924.756-1.68 1.681-1.68s1.681.756 1.681 1.68v4.21c0 .924-.756 1.68-1.68 1.68a1.685 1.685 0 0 1-1.682-1.68v-4.21zM5.89 3.362c-.926 0-1.682-.756-1.682-1.681S4.964 0 5.89 0s1.68.756 1.68 1.68v1.682H5.89zm0 .846c.924 0 1.68.756 1.68 1.681S6.814 7.57 5.89 7.57H1.68C.757 7.57 0 6.814 0 5.89c0-.926.756-1.682 1.68-1.682h4.21zm6.749 1.682c0-.926.755-1.682 1.68-1.682.925 0 1.681.756 1.681 1.681s-.756 1.681-1.68 1.681h-1.681V5.89zm-.848 0c0 .924-.755 1.68-1.68 1.68A1.685 1.685 0 0 1 8.43 5.89V1.68C8.43.757 9.186 0 10.11 0c.926 0 1.681.756 1.681 1.68v4.21zm-1.681 6.748c.926 0 1.682.756 1.682 1.681S11.036 16 10.11 16s-1.681-.756-1.681-1.68v-1.682h1.68zm0-.847c-.924 0-1.68-.755-1.68-1.68 0-.925.756-1.681 1.68-1.681h4.21c.924 0 1.68.756 1.68 1.68 0 .926-.756 1.681-1.68 1.681h-4.21z\"}}]})(props);\n};\nexport function BsSlashCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-4.646-2.646a.5.5 0 0 0-.708-.708l-6 6a.5.5 0 0 0 .708.708l6-6z\"}}]})(props);\n};\nexport function BsSlashCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.354 4.646a.5.5 0 0 0-.708 0l-6 6a.5.5 0 0 0 .708.708l6-6a.5.5 0 0 0 0-.708z\"}}]})(props);\n};\nexport function BsSlashLg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.707 1.293a1 1 0 0 1 0 1.414l-12 12a1 1 0 0 1-1.414-1.414l12-12a1 1 0 0 1 1.414 0z\"}}]})(props);\n};\nexport function BsSlashSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm9.354 5.354-6 6a.5.5 0 0 1-.708-.708l6-6a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsSlashSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.354 4.646a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708l6-6a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.354 4.646a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708l6-6a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsSliders (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.5 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zM9.05 3a2.5 2.5 0 0 1 4.9 0H16v1h-2.05a2.5 2.5 0 0 1-4.9 0H0V3h9.05zM4.5 7a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zM2.05 8a2.5 2.5 0 0 1 4.9 0H16v1H6.95a2.5 2.5 0 0 1-4.9 0H0V8h2.05zm9.45 4a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm-2.45 1a2.5 2.5 0 0 1 4.9 0H16v1h-2.05a2.5 2.5 0 0 1-4.9 0H0v-1h9.05z\"}}]})(props);\n};\nexport function BsSmartwatch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 5a.5.5 0 0 0-1 0v3H6a.5.5 0 0 0 0 1h2.5a.5.5 0 0 0 .5-.5V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.667v.383A2.5 2.5 0 0 0 2 4.5v7a2.5 2.5 0 0 0 2 2.45v.383C4 15.253 4.746 16 5.667 16h4.666c.92 0 1.667-.746 1.667-1.667v-.383a2.5 2.5 0 0 0 2-2.45V8h.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H14v-.5a2.5 2.5 0 0 0-2-2.45v-.383C12 .747 11.254 0 10.333 0H5.667C4.747 0 4 .746 4 1.667zM4.5 3h7A1.5 1.5 0 0 1 13 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-7A1.5 1.5 0 0 1 3 11.5v-7A1.5 1.5 0 0 1 4.5 3z\"}}]})(props);\n};\nexport function BsSnapchat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.98 11.93c-.068-.232-.405-.395-.405-.395l-.082-.044a6.462 6.462 0 0 1-1.466-.96 5.028 5.028 0 0 1-.85-.966 3.775 3.775 0 0 1-.47-.966c-.03-.126-.027-.173 0-.238a.36.36 0 0 1 .116-.13c.187-.132.49-.33.677-.448.16-.106.3-.194.381-.252.262-.184.439-.367.544-.568a.987.987 0 0 0 .048-.827c-.143-.377-.497-.605-.946-.605-.098 0-.204.01-.306.034a4.325 4.325 0 0 0-.707.228c-.014.007-.03-.007-.03-.02.02-.507.043-1.188-.011-1.834-.051-.585-.17-1.078-.368-1.507a4.053 4.053 0 0 0-.656-.983 3.989 3.989 0 0 0-1.037-.833C9.697.207 8.88 0 7.992 0c-.888 0-1.7.207-2.419.616a4.043 4.043 0 0 0-1.037.833c-.2.231-.46.551-.656.983-.198.429-.317.922-.368 1.507-.054.65-.034 1.276-.01 1.833 0 .017-.017.028-.03.02a5.195 5.195 0 0 0-.705-.227 1.34 1.34 0 0 0-.306-.034c-.449 0-.803.228-.946.605a.975.975 0 0 0 .048.827c.105.2.286.388.544.568.082.058.218.146.381.252.18.119.476.31.664.442a.434.434 0 0 1 .129.14c.027.068.03.115-.004.248-.057.194-.19.54-.466.956a4.99 4.99 0 0 1-.85.966 6.468 6.468 0 0 1-1.456.959c-.027.014-.058.027-.092.047 0 0-.333.17-.394.388-.092.323.153.626.405.79.411.265.915.408 1.204.486.081.02.153.04.22.061a.457.457 0 0 1 .191.112c.058.072.065.164.085.266.03.17.102.38.313.527.232.16.527.17.898.187.391.014.878.034 1.432.218.259.085.49.228.762.394.565.347 1.266.78 2.466.78 1.201 0 1.909-.436 2.477-.783.268-.163.5-.306.752-.391.554-.184 1.04-.2 1.432-.218.374-.014.666-.024.898-.187.224-.156.292-.388.32-.565.016-.085.027-.163.078-.228.04-.054.139-.091.183-.108l.228-.065c.293-.078.657-.17 1.099-.422.537-.3.575-.67.517-.854z\"}}]})(props);\n};\nexport function BsSnow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16a.5.5 0 0 1-.5-.5v-1.293l-.646.647a.5.5 0 0 1-.707-.708L7.5 12.793V8.866l-3.4 1.963-.496 1.85a.5.5 0 1 1-.966-.26l.237-.882-1.12.646a.5.5 0 0 1-.5-.866l1.12-.646-.884-.237a.5.5 0 1 1 .26-.966l1.848.495L7 8 3.6 6.037l-1.85.495a.5.5 0 0 1-.258-.966l.883-.237-1.12-.646a.5.5 0 1 1 .5-.866l1.12.646-.237-.883a.5.5 0 1 1 .966-.258l.495 1.849L7.5 7.134V3.207L6.147 1.854a.5.5 0 1 1 .707-.708l.646.647V.5a.5.5 0 1 1 1 0v1.293l.647-.647a.5.5 0 1 1 .707.708L8.5 3.207v3.927l3.4-1.963.496-1.85a.5.5 0 1 1 .966.26l-.236.882 1.12-.646a.5.5 0 0 1 .5.866l-1.12.646.883.237a.5.5 0 1 1-.26.966l-1.848-.495L9 8l3.4 1.963 1.849-.495a.5.5 0 0 1 .259.966l-.883.237 1.12.646a.5.5 0 0 1-.5.866l-1.12-.646.236.883a.5.5 0 1 1-.966.258l-.495-1.849-3.4-1.963v3.927l1.353 1.353a.5.5 0 0 1-.707.708l-.647-.647V15.5a.5.5 0 0 1-.5.5z\"}}]})(props);\n};\nexport function BsSnow2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16a.5.5 0 0 1-.5-.5v-1.293l-.646.647a.5.5 0 0 1-.707-.708L7.5 12.793v-1.086l-.646.647a.5.5 0 0 1-.707-.708L7.5 10.293V8.866l-1.236.713-.495 1.85a.5.5 0 1 1-.966-.26l.237-.882-.94.542-.496 1.85a.5.5 0 1 1-.966-.26l.237-.882-1.12.646a.5.5 0 0 1-.5-.866l1.12-.646-.884-.237a.5.5 0 1 1 .26-.966l1.848.495.94-.542-.882-.237a.5.5 0 1 1 .258-.966l1.85.495L7 8l-1.236-.713-1.849.495a.5.5 0 1 1-.258-.966l.883-.237-.94-.542-1.85.495a.5.5 0 0 1-.258-.966l.883-.237-1.12-.646a.5.5 0 1 1 .5-.866l1.12.646-.237-.883a.5.5 0 0 1 .966-.258l.495 1.849.94.542-.236-.883a.5.5 0 0 1 .966-.258l.495 1.849 1.236.713V5.707L6.147 4.354a.5.5 0 1 1 .707-.708l.646.647V3.207L6.147 1.854a.5.5 0 1 1 .707-.708l.646.647V.5a.5.5 0 0 1 1 0v1.293l.647-.647a.5.5 0 1 1 .707.708L8.5 3.207v1.086l.647-.647a.5.5 0 1 1 .707.708L8.5 5.707v1.427l1.236-.713.495-1.85a.5.5 0 1 1 .966.26l-.236.882.94-.542.495-1.85a.5.5 0 1 1 .966.26l-.236.882 1.12-.646a.5.5 0 0 1 .5.866l-1.12.646.883.237a.5.5 0 1 1-.26.966l-1.848-.495-.94.542.883.237a.5.5 0 1 1-.26.966l-1.848-.495L9 8l1.236.713 1.849-.495a.5.5 0 0 1 .259.966l-.883.237.94.542 1.849-.495a.5.5 0 0 1 .259.966l-.883.237 1.12.646a.5.5 0 0 1-.5.866l-1.12-.646.236.883a.5.5 0 1 1-.966.258l-.495-1.849-.94-.542.236.883a.5.5 0 0 1-.966.258L9.736 9.58 8.5 8.866v1.427l1.354 1.353a.5.5 0 0 1-.707.708l-.647-.647v1.086l1.354 1.353a.5.5 0 0 1-.707.708l-.647-.647V15.5a.5.5 0 0 1-.5.5z\"}}]})(props);\n};\nexport function BsSnow3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 7.5a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16a.5.5 0 0 1-.5-.5v-1.293l-.646.647a.5.5 0 0 1-.707-.708L7.5 12.793v-1.51l-2.053-1.232-1.348.778-.495 1.85a.5.5 0 1 1-.966-.26l.237-.882-1.12.646a.5.5 0 0 1-.5-.866l1.12-.646-.883-.237a.5.5 0 1 1 .258-.966l1.85.495L5 9.155v-2.31l-1.4-.808-1.85.495a.5.5 0 1 1-.259-.966l.884-.237-1.12-.646a.5.5 0 0 1 .5-.866l1.12.646-.237-.883a.5.5 0 1 1 .966-.258l.495 1.849 1.348.778L7.5 4.717v-1.51L6.147 1.854a.5.5 0 1 1 .707-.708l.646.647V.5a.5.5 0 0 1 1 0v1.293l.647-.647a.5.5 0 1 1 .707.708L8.5 3.207v1.51l2.053 1.232 1.348-.778.495-1.85a.5.5 0 1 1 .966.26l-.236.882 1.12-.646a.5.5 0 0 1 .5.866l-1.12.646.883.237a.5.5 0 1 1-.26.966l-1.848-.495-1.4.808v2.31l1.4.808 1.849-.495a.5.5 0 1 1 .259.966l-.883.237 1.12.646a.5.5 0 0 1-.5.866l-1.12-.646.236.883a.5.5 0 1 1-.966.258l-.495-1.849-1.348-.778L8.5 11.283v1.51l1.354 1.353a.5.5 0 0 1-.707.708l-.647-.647V15.5a.5.5 0 0 1-.5.5zm2-6.783V6.783l-2-1.2-2 1.2v2.434l2 1.2 2-1.2z\"}}]})(props);\n};\nexport function BsSortAlphaDownAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.96 7H9.028v-.691l2.579-3.72v-.054H9.098v-.867h3.785v.691l-2.567 3.72v.054h2.645V7z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.082 12.629 9.664 14H8.598l1.789-5.332h1.234L13.402 14h-1.12l-.419-1.371h-1.781zm1.57-.785L11 9.688h-.047l-.652 2.156h1.351z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 2.5a.5.5 0 0 0-1 0v9.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L4.5 12.293V2.5z\"}}]})(props);\n};\nexport function BsSortAlphaDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.082 5.629 9.664 7H8.598l1.789-5.332h1.234L13.402 7h-1.12l-.419-1.371h-1.781zm1.57-.785L11 2.687h-.047l-.652 2.157h1.351z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.96 14H9.028v-.691l2.579-3.72v-.054H9.098v-.867h3.785v.691l-2.567 3.72v.054h2.645V14zM4.5 2.5a.5.5 0 0 0-1 0v9.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L4.5 12.293V2.5z\"}}]})(props);\n};\nexport function BsSortAlphaUpAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.96 7H9.028v-.691l2.579-3.72v-.054H9.098v-.867h3.785v.691l-2.567 3.72v.054h2.645V7z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.082 12.629 9.664 14H8.598l1.789-5.332h1.234L13.402 14h-1.12l-.419-1.371h-1.781zm1.57-.785L11 9.688h-.047l-.652 2.156h1.351z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 13.5a.5.5 0 0 1-1 0V3.707L2.354 4.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L4.5 3.707V13.5z\"}}]})(props);\n};\nexport function BsSortAlphaUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.082 5.629 9.664 7H8.598l1.789-5.332h1.234L13.402 7h-1.12l-.419-1.371h-1.781zm1.57-.785L11 2.687h-.047l-.652 2.157h1.351z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.96 14H9.028v-.691l2.579-3.72v-.054H9.098v-.867h3.785v.691l-2.567 3.72v.054h2.645V14zm-8.46-.5a.5.5 0 0 1-1 0V3.707L2.354 4.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L4.5 3.707V13.5z\"}}]})(props);\n};\nexport function BsSortDownAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 3.5a.5.5 0 0 0-1 0v8.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L3.5 12.293V3.5zm4 .5a.5.5 0 0 1 0-1h1a.5.5 0 0 1 0 1h-1zm0 3a.5.5 0 0 1 0-1h3a.5.5 0 0 1 0 1h-3zm0 3a.5.5 0 0 1 0-1h5a.5.5 0 0 1 0 1h-5zM7 12.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7a.5.5 0 0 0-.5.5z\"}}]})(props);\n};\nexport function BsSortDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 2.5a.5.5 0 0 0-1 0v8.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L3.5 11.293V2.5zm3.5 1a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM7.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm0 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"}}]})(props);\n};\nexport function BsSortNumericDownAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.36 7.098c-1.137 0-1.708-.657-1.762-1.278h1.004c.058.223.343.45.773.45.824 0 1.164-.829 1.133-1.856h-.059c-.148.39-.57.742-1.261.742-.91 0-1.72-.613-1.72-1.758 0-1.148.848-1.836 1.973-1.836 1.09 0 2.063.637 2.063 2.688 0 1.867-.723 2.848-2.145 2.848zm.062-2.735c.504 0 .933-.336.933-.972 0-.633-.398-1.008-.94-1.008-.52 0-.927.375-.927 1 0 .64.418.98.934.98z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.438 8.668V14H11.39V9.684h-.051l-1.211.859v-.969l1.262-.906h1.046zM4.5 2.5a.5.5 0 0 0-1 0v9.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L4.5 12.293V2.5z\"}}]})(props);\n};\nexport function BsSortNumericDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.438 1.668V7H11.39V2.684h-.051l-1.211.859v-.969l1.262-.906h1.046z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.36 14.098c-1.137 0-1.708-.657-1.762-1.278h1.004c.058.223.343.45.773.45.824 0 1.164-.829 1.133-1.856h-.059c-.148.39-.57.742-1.261.742-.91 0-1.72-.613-1.72-1.758 0-1.148.848-1.835 1.973-1.835 1.09 0 2.063.636 2.063 2.687 0 1.867-.723 2.848-2.145 2.848zm.062-2.735c.504 0 .933-.336.933-.972 0-.633-.398-1.008-.94-1.008-.52 0-.927.375-.927 1 0 .64.418.98.934.98z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 2.5a.5.5 0 0 0-1 0v9.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L4.5 12.293V2.5z\"}}]})(props);\n};\nexport function BsSortNumericUpAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.36 7.098c-1.137 0-1.708-.657-1.762-1.278h1.004c.058.223.343.45.773.45.824 0 1.164-.829 1.133-1.856h-.059c-.148.39-.57.742-1.261.742-.91 0-1.72-.613-1.72-1.758 0-1.148.848-1.836 1.973-1.836 1.09 0 2.063.637 2.063 2.688 0 1.867-.723 2.848-2.145 2.848zm.062-2.735c.504 0 .933-.336.933-.972 0-.633-.398-1.008-.94-1.008-.52 0-.927.375-.927 1 0 .64.418.98.934.98z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.438 8.668V14H11.39V9.684h-.051l-1.211.859v-.969l1.262-.906h1.046zM4.5 13.5a.5.5 0 0 1-1 0V3.707L2.354 4.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L4.5 3.707V13.5z\"}}]})(props);\n};\nexport function BsSortNumericUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.438 1.668V7H11.39V2.684h-.051l-1.211.859v-.969l1.262-.906h1.046z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.36 14.098c-1.137 0-1.708-.657-1.762-1.278h1.004c.058.223.343.45.773.45.824 0 1.164-.829 1.133-1.856h-.059c-.148.39-.57.742-1.261.742-.91 0-1.72-.613-1.72-1.758 0-1.148.848-1.835 1.973-1.835 1.09 0 2.063.636 2.063 2.687 0 1.867-.723 2.848-2.145 2.848zm.062-2.735c.504 0 .933-.336.933-.972 0-.633-.398-1.008-.94-1.008-.52 0-.927.375-.927 1 0 .64.418.98.934.98z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 13.5a.5.5 0 0 1-1 0V3.707L2.354 4.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L4.5 3.707V13.5z\"}}]})(props);\n};\nexport function BsSortUpAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 13.5a.5.5 0 0 1-1 0V4.707L1.354 5.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L3.5 4.707V13.5zm4-9.5a.5.5 0 0 1 0-1h1a.5.5 0 0 1 0 1h-1zm0 3a.5.5 0 0 1 0-1h3a.5.5 0 0 1 0 1h-3zm0 3a.5.5 0 0 1 0-1h5a.5.5 0 0 1 0 1h-5zM7 12.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7a.5.5 0 0 0-.5.5z\"}}]})(props);\n};\nexport function BsSortUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 12.5a.5.5 0 0 1-1 0V3.707L1.354 4.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L3.5 3.707V12.5zm3.5-9a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM7.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm0 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"}}]})(props);\n};\nexport function BsSoundwave (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.5 2a.5.5 0 0 1 .5.5v11a.5.5 0 0 1-1 0v-11a.5.5 0 0 1 .5-.5zm-2 2a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 .5-.5zm4 0a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 .5-.5zm-6 1.5A.5.5 0 0 1 5 6v4a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm8 0a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm-10 1A.5.5 0 0 1 3 7v2a.5.5 0 0 1-1 0V7a.5.5 0 0 1 .5-.5zm12 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0V7a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsSpeakerFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-2.5 6.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm6 4a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 7a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7z\"}}]})(props);\n};\nexport function BsSpeaker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h8zM4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.75a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5zM8 6a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 3a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm-3.5 1.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0z\"}}]})(props);\n};\nexport function BsSpeedometer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a.5.5 0 0 1 .5.5V4a.5.5 0 0 1-1 0V2.5A.5.5 0 0 1 8 2zM3.732 3.732a.5.5 0 0 1 .707 0l.915.914a.5.5 0 1 1-.708.708l-.914-.915a.5.5 0 0 1 0-.707zM2 8a.5.5 0 0 1 .5-.5h1.586a.5.5 0 0 1 0 1H2.5A.5.5 0 0 1 2 8zm9.5 0a.5.5 0 0 1 .5-.5h1.5a.5.5 0 0 1 0 1H12a.5.5 0 0 1-.5-.5zm.754-4.246a.389.389 0 0 0-.527-.02L7.547 7.31A.91.91 0 1 0 8.85 8.569l3.434-4.297a.389.389 0 0 0-.029-.518z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.664 15.889A8 8 0 1 1 9.336.11a8 8 0 0 1-2.672 15.78zm-4.665-4.283A11.945 11.945 0 0 1 8 10c2.186 0 4.236.585 6.001 1.606a7 7 0 1 0-12.002 0z\"}}]})(props);\n};\nexport function BsSpeedometer2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4a.5.5 0 0 1 .5.5V6a.5.5 0 0 1-1 0V4.5A.5.5 0 0 1 8 4zM3.732 5.732a.5.5 0 0 1 .707 0l.915.914a.5.5 0 1 1-.708.708l-.914-.915a.5.5 0 0 1 0-.707zM2 10a.5.5 0 0 1 .5-.5h1.586a.5.5 0 0 1 0 1H2.5A.5.5 0 0 1 2 10zm9.5 0a.5.5 0 0 1 .5-.5h1.5a.5.5 0 0 1 0 1H12a.5.5 0 0 1-.5-.5zm.754-4.246a.389.389 0 0 0-.527-.02L7.547 9.31a.91.91 0 1 0 1.302 1.258l3.434-4.297a.389.389 0 0 0-.029-.518z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 10a8 8 0 1 1 15.547 2.661c-.442 1.253-1.845 1.602-2.932 1.25C11.309 13.488 9.475 13 8 13c-1.474 0-3.31.488-4.615.911-1.087.352-2.49.003-2.932-1.25A7.988 7.988 0 0 1 0 10zm8-7a7 7 0 0 0-6.603 9.329c.203.575.923.876 1.68.63C4.397 12.533 6.358 12 8 12s3.604.532 4.923.96c.757.245 1.477-.056 1.68-.631A7 7 0 0 0 8 3z\"}}]})(props);\n};\nexport function BsSpellcheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.217 11.068c1.216 0 1.948-.869 1.948-2.31v-.702c0-1.44-.727-2.305-1.929-2.305-.742 0-1.328.347-1.499.889h-.063V3.983h-1.29V11h1.27v-.791h.064c.21.532.776.86 1.499.86zm-.43-1.025c-.66 0-1.113-.518-1.113-1.28V8.12c0-.825.42-1.343 1.098-1.343.684 0 1.075.518 1.075 1.416v.45c0 .888-.386 1.401-1.06 1.401zm-5.583 1.035c.767 0 1.201-.356 1.406-.737h.059V11h1.216V7.519c0-1.314-.947-1.783-2.11-1.783C1.355 5.736.75 6.42.69 7.27h1.216c.064-.323.313-.552.84-.552.527 0 .864.249.864.771v.464H2.346C1.145 7.953.5 8.568.5 9.496c0 .977.693 1.582 1.704 1.582zm.42-.947c-.44 0-.845-.235-.845-.718 0-.395.269-.684.84-.684h.991v.538c0 .503-.444.864-.986.864zm8.897.567c-.577-.4-.9-1.088-.9-1.983v-.65c0-1.42.894-2.338 2.305-2.338 1.352 0 2.119.82 2.139 1.806h-1.187c-.04-.351-.283-.776-.918-.776-.674 0-1.045.517-1.045 1.328v.625c0 .468.121.834.343 1.067l-.737.92z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.469 9.414a.75.75 0 0 1 .117 1.055l-4 5a.75.75 0 0 1-1.116.061l-2.5-2.5a.75.75 0 1 1 1.06-1.06l1.908 1.907 3.476-4.346a.75.75 0 0 1 1.055-.117z\"}}]})(props);\n};\nexport function BsSpotify (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.669 11.538a.498.498 0 0 1-.686.165c-1.879-1.147-4.243-1.407-7.028-.77a.499.499 0 0 1-.222-.973c3.048-.696 5.662-.397 7.77.892a.5.5 0 0 1 .166.686zm.979-2.178a.624.624 0 0 1-.858.205c-2.15-1.321-5.428-1.704-7.972-.932a.625.625 0 0 1-.362-1.194c2.905-.881 6.517-.454 8.986 1.063a.624.624 0 0 1 .206.858zm.084-2.268C10.154 5.56 5.9 5.419 3.438 6.166a.748.748 0 1 1-.434-1.432c2.825-.857 7.523-.692 10.492 1.07a.747.747 0 1 1-.764 1.288z\"}}]})(props);\n};\nexport function BsSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2z\"}}]})(props);\n};\nexport function BsSquareHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15V1h6a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H8zm6 1a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12z\"}}]})(props);\n};\nexport function BsSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsStackOverflow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.412 14.572V10.29h1.428V16H1v-5.71h1.428v4.282h9.984z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.857 13.145h7.137v-1.428H3.857v1.428zM10.254 0 9.108.852l4.26 5.727 1.146-.852L10.254 0zm-3.54 3.377 5.484 4.567.913-1.097L7.627 2.28l-.914 1.097zM4.922 6.55l6.47 3.013.603-1.294-6.47-3.013-.603 1.294zm-.925 3.344 6.985 1.469.294-1.398-6.985-1.468-.294 1.397z\"}}]})(props);\n};\nexport function BsStack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m14.12 10.163 1.715.858c.22.11.22.424 0 .534L8.267 15.34a.598.598 0 0 1-.534 0L.165 11.555a.299.299 0 0 1 0-.534l1.716-.858 5.317 2.659c.505.252 1.1.252 1.604 0l5.317-2.66zM7.733.063a.598.598 0 0 1 .534 0l7.568 3.784a.3.3 0 0 1 0 .535L8.267 8.165a.598.598 0 0 1-.534 0L.165 4.382a.299.299 0 0 1 0-.535L7.733.063z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14.12 6.576 1.715.858c.22.11.22.424 0 .534l-7.568 3.784a.598.598 0 0 1-.534 0L.165 7.968a.299.299 0 0 1 0-.534l1.716-.858 5.317 2.659c.505.252 1.1.252 1.604 0l5.317-2.659z\"}}]})(props);\n};\nexport function BsStarFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z\"}}]})(props);\n};\nexport function BsStarHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.354 5.119 7.538.792A.516.516 0 0 1 8 .5c.183 0 .366.097.465.292l2.184 4.327 4.898.696A.537.537 0 0 1 16 6.32a.548.548 0 0 1-.17.445l-3.523 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256a.52.52 0 0 1-.146.05c-.342.06-.668-.254-.6-.642l.83-4.73L.173 6.765a.55.55 0 0 1-.172-.403.58.58 0 0 1 .085-.302.513.513 0 0 1 .37-.245l4.898-.696zM8 12.027a.5.5 0 0 1 .232.056l3.686 1.894-.694-3.957a.565.565 0 0 1 .162-.505l2.907-2.77-4.052-.576a.525.525 0 0 1-.393-.288L8.001 2.223 8 2.226v9.8z\"}}]})(props);\n};\nexport function BsStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.866 14.85c-.078.444.36.791.746.593l4.39-2.256 4.389 2.256c.386.198.824-.149.746-.592l-.83-4.73 3.522-3.356c.33-.314.16-.888-.282-.95l-4.898-.696L8.465.792a.513.513 0 0 0-.927 0L5.354 5.12l-4.898.696c-.441.062-.612.636-.283.95l3.523 3.356-.83 4.73zm4.905-2.767-3.686 1.894.694-3.957a.565.565 0 0 0-.163-.505L1.71 6.745l4.052-.576a.525.525 0 0 0 .393-.288L8 2.223l1.847 3.658a.525.525 0 0 0 .393.288l4.052.575-2.906 2.77a.565.565 0 0 0-.163.506l.694 3.957-3.686-1.894a.503.503 0 0 0-.461 0z\"}}]})(props);\n};\nexport function BsStars (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.657 6.247c.11-.33.576-.33.686 0l.645 1.937a2.89 2.89 0 0 0 1.829 1.828l1.936.645c.33.11.33.576 0 .686l-1.937.645a2.89 2.89 0 0 0-1.828 1.829l-.645 1.936a.361.361 0 0 1-.686 0l-.645-1.937a2.89 2.89 0 0 0-1.828-1.828l-1.937-.645a.361.361 0 0 1 0-.686l1.937-.645a2.89 2.89 0 0 0 1.828-1.828l.645-1.937zM3.794 1.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387A1.734 1.734 0 0 0 4.593 5.69l-.387 1.162a.217.217 0 0 1-.412 0L3.407 5.69A1.734 1.734 0 0 0 2.31 4.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387A1.734 1.734 0 0 0 3.407 2.31l.387-1.162zM10.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.156 1.156 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.156 1.156 0 0 0-.732-.732L9.1 2.137a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732L10.863.1z\"}}]})(props);\n};\nexport function BsStickiesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5V13a1 1 0 0 0 1 1V1.5a.5.5 0 0 1 .5-.5H14a1 1 0 0 0-1-1H1.5A1.5 1.5 0 0 0 0 1.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 2A1.5 1.5 0 0 0 2 3.5v11A1.5 1.5 0 0 0 3.5 16h6.086a1.5 1.5 0 0 0 1.06-.44l4.915-4.914A1.5 1.5 0 0 0 16 9.586V3.5A1.5 1.5 0 0 0 14.5 2h-11zm6 8.5a1 1 0 0 1 1-1h4.396a.25.25 0 0 1 .177.427l-5.146 5.146a.25.25 0 0 1-.427-.177V10.5z\"}}]})(props);\n};\nexport function BsStickies (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 0A1.5 1.5 0 0 0 0 1.5V13a1 1 0 0 0 1 1V1.5a.5.5 0 0 1 .5-.5H14a1 1 0 0 0-1-1H1.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 2A1.5 1.5 0 0 0 2 3.5v11A1.5 1.5 0 0 0 3.5 16h6.086a1.5 1.5 0 0 0 1.06-.44l4.915-4.914A1.5 1.5 0 0 0 16 9.586V3.5A1.5 1.5 0 0 0 14.5 2h-11zM3 3.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5V9h-4.5A1.5 1.5 0 0 0 9 10.5V15H3.5a.5.5 0 0 1-.5-.5v-11zm7 11.293V10.5a.5.5 0 0 1 .5-.5h4.293L10 14.793z\"}}]})(props);\n};\nexport function BsStickyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 1A1.5 1.5 0 0 0 1 2.5v11A1.5 1.5 0 0 0 2.5 15h6.086a1.5 1.5 0 0 0 1.06-.44l4.915-4.914A1.5 1.5 0 0 0 15 8.586V2.5A1.5 1.5 0 0 0 13.5 1h-11zm6 8.5a1 1 0 0 1 1-1h4.396a.25.25 0 0 1 .177.427l-5.146 5.146a.25.25 0 0 1-.427-.177V9.5z\"}}]})(props);\n};\nexport function BsSticky (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 1A1.5 1.5 0 0 0 1 2.5v11A1.5 1.5 0 0 0 2.5 15h6.086a1.5 1.5 0 0 0 1.06-.44l4.915-4.914A1.5 1.5 0 0 0 15 8.586V2.5A1.5 1.5 0 0 0 13.5 1h-11zM2 2.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5V8H9.5A1.5 1.5 0 0 0 8 9.5V14H2.5a.5.5 0 0 1-.5-.5v-11zm7 11.293V9.5a.5.5 0 0 1 .5-.5h4.293L9 13.793z\"}}]})(props);\n};\nexport function BsStopBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm6.5-7A1.5 1.5 0 0 0 5 6.5v3A1.5 1.5 0 0 0 6.5 11h3A1.5 1.5 0 0 0 11 9.5v-3A1.5 1.5 0 0 0 9.5 5h-3z\"}}]})(props);\n};\nexport function BsStopBtn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 5A1.5 1.5 0 0 0 5 6.5v3A1.5 1.5 0 0 0 6.5 11h3A1.5 1.5 0 0 0 11 9.5v-3A1.5 1.5 0 0 0 9.5 5h-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsStopCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.5 5A1.5 1.5 0 0 0 5 6.5v3A1.5 1.5 0 0 0 6.5 11h3A1.5 1.5 0 0 0 11 9.5v-3A1.5 1.5 0 0 0 9.5 5h-3z\"}}]})(props);\n};\nexport function BsStopCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6.5A1.5 1.5 0 0 1 6.5 5h3A1.5 1.5 0 0 1 11 6.5v3A1.5 1.5 0 0 1 9.5 11h-3A1.5 1.5 0 0 1 5 9.5v-3z\"}}]})(props);\n};\nexport function BsStopFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3.5h6A1.5 1.5 0 0 1 12.5 5v6a1.5 1.5 0 0 1-1.5 1.5H5A1.5 1.5 0 0 1 3.5 11V5A1.5 1.5 0 0 1 5 3.5z\"}}]})(props);\n};\nexport function BsStop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 5A1.5 1.5 0 0 1 5 3.5h6A1.5 1.5 0 0 1 12.5 5v6a1.5 1.5 0 0 1-1.5 1.5H5A1.5 1.5 0 0 1 3.5 11V5zM5 4.5a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5V5a.5.5 0 0 0-.5-.5H5z\"}}]})(props);\n};\nexport function BsStoplightsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 0a2 2 0 0 0-2 2H2c.167.5.8 1.6 2 2v2H2c.167.5.8 1.6 2 2v2H2c.167.5.8 1.6 2 2v1a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-1c1.2-.4 1.833-1.5 2-2h-2V8c1.2-.4 1.833-1.5 2-2h-2V4c1.2-.4 1.833-1.5 2-2h-2a2 2 0 0 0-2-2H6zm3.5 3.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM8 13a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsStoplights (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm0 4a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm1.5 2.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 2a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2h2c-.167.5-.8 1.6-2 2v2h2c-.167.5-.8 1.6-2 2v2h2c-.167.5-.8 1.6-2 2v1a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-1c-1.2-.4-1.833-1.5-2-2h2V8c-1.2-.4-1.833-1.5-2-2h2V4c-1.2-.4-1.833-1.5-2-2h2zm2-1a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H6z\"}}]})(props);\n};\nexport function BsStopwatchFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0a.5.5 0 0 0 0 1H7v1.07A7.001 7.001 0 0 0 8 16a7 7 0 0 0 5.29-11.584.531.531 0 0 0 .013-.012l.354-.354.353.354a.5.5 0 1 0 .707-.707l-1.414-1.415a.5.5 0 1 0-.707.707l.354.354-.354.354a.717.717 0 0 0-.012.012A6.973 6.973 0 0 0 9 2.071V1h.5a.5.5 0 0 0 0-1h-3zm2 5.6V9a.5.5 0 0 1-.5.5H4.5a.5.5 0 0 1 0-1h3V5.6a.5.5 0 1 1 1 0z\"}}]})(props);\n};\nexport function BsStopwatch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5.6a.5.5 0 1 0-1 0v2.9h-3a.5.5 0 0 0 0 1H8a.5.5 0 0 0 .5-.5V5.6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 1A.5.5 0 0 1 7 .5h2a.5.5 0 0 1 0 1v.57c1.36.196 2.594.78 3.584 1.64a.715.715 0 0 1 .012-.013l.354-.354-.354-.353a.5.5 0 0 1 .707-.708l1.414 1.415a.5.5 0 1 1-.707.707l-.353-.354-.354.354a.512.512 0 0 1-.013.012A7 7 0 1 1 7 2.071V1.5a.5.5 0 0 1-.5-.5zM8 3a6 6 0 1 0 .001 12A6 6 0 0 0 8 3z\"}}]})(props);\n};\nexport function BsStrava (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.731 0 2 9.125h2.788L6.73 5.497l1.93 3.628h2.766L6.731 0zm4.694 9.125-1.372 2.756L8.66 9.125H6.547L10.053 16l3.484-6.875h-2.112z\"}}]})(props);\n};\nexport function BsSubtract (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2H2a2 2 0 0 1-2-2V2zm2-1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H2z\"}}]})(props);\n};\nexport function BsSuitClubFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5 12.5a3.493 3.493 0 0 1-2.684-1.254 19.92 19.92 0 0 0 1.582 2.907c.231.35-.02.847-.438.847H6.04c-.419 0-.67-.497-.438-.847a19.919 19.919 0 0 0 1.582-2.907 3.5 3.5 0 1 1-2.538-5.743 3.5 3.5 0 1 1 6.708 0A3.5 3.5 0 1 1 11.5 12.5z\"}}]})(props);\n};\nexport function BsSuitClub (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a3.25 3.25 0 0 0-3.25 3.25c0 .186 0 .29.016.41.014.12.045.27.12.527l.19.665-.692-.028a3.25 3.25 0 1 0 2.357 5.334.5.5 0 0 1 .844.518l-.003.005-.006.015-.024.055a21.893 21.893 0 0 1-.438.92 22.38 22.38 0 0 1-1.266 2.197c-.013.018-.02.05.001.09.01.02.021.03.03.036A.036.036 0 0 0 5.9 15h4.2c.01 0 .016-.002.022-.006a.092.092 0 0 0 .029-.035c.02-.04.014-.073.001-.091a22.875 22.875 0 0 1-1.704-3.117l-.024-.054-.006-.015-.002-.004a.5.5 0 0 1 .838-.524c.601.7 1.516 1.168 2.496 1.168a3.25 3.25 0 1 0-.139-6.498l-.699.03.199-.671c.14-.47.14-.745.139-.927V4.25A3.25 3.25 0 0 0 8 1zm2.207 12.024c.225.405.487.848.78 1.294C11.437 15 10.975 16 10.1 16H5.9c-.876 0-1.338-1-.887-1.683.291-.442.552-.88.776-1.283a4.25 4.25 0 1 1-2.007-8.187 2.79 2.79 0 0 1-.009-.064c-.023-.187-.023-.348-.023-.52V4.25a4.25 4.25 0 0 1 8.5 0c0 .14 0 .333-.04.596a4.25 4.25 0 0 1-.46 8.476 4.186 4.186 0 0 1-1.543-.298z\"}}]})(props);\n};\nexport function BsSuitDiamondFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.45 7.4 7.2 1.067a1 1 0 0 1 1.6 0L13.55 7.4a1 1 0 0 1 0 1.2L8.8 14.933a1 1 0 0 1-1.6 0L2.45 8.6a1 1 0 0 1 0-1.2z\"}}]})(props);\n};\nexport function BsSuitDiamond (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.384 1.226a.463.463 0 0 0-.768 0l-4.56 6.468a.537.537 0 0 0 0 .612l4.56 6.469a.463.463 0 0 0 .768 0l4.56-6.469a.537.537 0 0 0 0-.612l-4.56-6.468zM6.848.613a1.39 1.39 0 0 1 2.304 0l4.56 6.468a1.61 1.61 0 0 1 0 1.838l-4.56 6.468a1.39 1.39 0 0 1-2.304 0L2.288 8.92a1.61 1.61 0 0 1 0-1.838L6.848.613z\"}}]})(props);\n};\nexport function BsSuitHeartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1c2.21 0 4 1.755 4 3.92C8 2.755 9.79 1 12 1s4 1.755 4 3.92c0 3.263-3.234 4.414-7.608 9.608a.513.513 0 0 1-.784 0C3.234 9.334 0 8.183 0 4.92 0 2.755 1.79 1 4 1z\"}}]})(props);\n};\nexport function BsSuitHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 6.236-.894-1.789c-.222-.443-.607-1.08-1.152-1.595C5.418 2.345 4.776 2 4 2 2.324 2 1 3.326 1 4.92c0 1.211.554 2.066 1.868 3.37.337.334.721.695 1.146 1.093C5.122 10.423 6.5 11.717 8 13.447c1.5-1.73 2.878-3.024 3.986-4.064.425-.398.81-.76 1.146-1.093C14.446 6.986 15 6.131 15 4.92 15 3.326 13.676 2 12 2c-.777 0-1.418.345-1.954.852-.545.515-.93 1.152-1.152 1.595L8 6.236zm.392 8.292a.513.513 0 0 1-.784 0c-1.601-1.902-3.05-3.262-4.243-4.381C1.3 8.208 0 6.989 0 4.92 0 2.755 1.79 1 4 1c1.6 0 2.719 1.05 3.404 2.008.26.365.458.716.596.992a7.55 7.55 0 0 1 .596-.992C9.281 2.049 10.4 1 12 1c2.21 0 4 1.755 4 3.92 0 2.069-1.3 3.288-3.365 5.227-1.193 1.12-2.642 2.48-4.243 4.38z\"}}]})(props);\n};\nexport function BsSuitSpadeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.184 11.246A3.5 3.5 0 0 1 1 9c0-1.602 1.14-2.633 2.66-4.008C4.986 3.792 6.602 2.33 8 0c1.398 2.33 3.014 3.792 4.34 4.992C13.86 6.367 15 7.398 15 9a3.5 3.5 0 0 1-6.184 2.246 19.92 19.92 0 0 0 1.582 2.907c.231.35-.02.847-.438.847H6.04c-.419 0-.67-.497-.438-.847a19.919 19.919 0 0 0 1.582-2.907z\"}}]})(props);\n};\nexport function BsSuitSpade (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a.5.5 0 0 1 .429.243c1.359 2.265 2.925 3.682 4.25 4.882.096.086.19.17.282.255C14.308 6.604 15.5 7.747 15.5 9.5a4 4 0 0 1-5.406 3.746c.235.39.491.782.722 1.131.434.659-.01 1.623-.856 1.623H6.04c-.845 0-1.29-.964-.856-1.623.263-.397.51-.777.728-1.134A4 4 0 0 1 .5 9.5c0-1.753 1.192-2.896 2.539-4.12l.281-.255c1.326-1.2 2.892-2.617 4.251-4.882A.5.5 0 0 1 8 0zM3.711 6.12C2.308 7.396 1.5 8.253 1.5 9.5a3 3 0 0 0 5.275 1.956.5.5 0 0 1 .868.43c-.094.438-.33.932-.611 1.428a29.247 29.247 0 0 1-1.013 1.614.03.03 0 0 0-.005.018.074.074 0 0 0 .024.054h3.924a.074.074 0 0 0 .024-.054.03.03 0 0 0-.005-.018c-.3-.455-.658-1.005-.96-1.535-.294-.514-.57-1.064-.664-1.507a.5.5 0 0 1 .868-.43A3 3 0 0 0 14.5 9.5c0-1.247-.808-2.104-2.211-3.38L12 5.86c-1.196-1.084-2.668-2.416-4-4.424-1.332 2.008-2.804 3.34-4 4.422l-.289.261z\"}}]})(props);\n};\nexport function BsSunFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z\"}}]})(props);\n};\nexport function BsSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z\"}}]})(props);\n};\nexport function BsSunglasses (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5a2 2 0 0 0-2 2v.5H.5a.5.5 0 0 0 0 1H1V9a2 2 0 0 0 2 2h1a3 3 0 0 0 3-3 1 1 0 1 1 2 0 3 3 0 0 0 3 3h1a2 2 0 0 0 2-2v-.5h.5a.5.5 0 0 0 0-1H15V7a2 2 0 0 0-2-2h-2a2 2 0 0 0-1.888 1.338A1.99 1.99 0 0 0 8 6a1.99 1.99 0 0 0-1.112.338A2 2 0 0 0 5 5H3zm0 1h.941c.264 0 .348.356.112.474l-.457.228a2 2 0 0 0-.894.894l-.228.457C2.356 8.289 2 8.205 2 7.94V7a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsSunriseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 1.146a.5.5 0 0 1 .708 0l1.5 1.5a.5.5 0 0 1-.708.708L8.5 2.707V4.5a.5.5 0 0 1-1 0V2.707l-.646.647a.5.5 0 1 1-.708-.708l1.5-1.5zM2.343 4.343a.5.5 0 0 1 .707 0l1.414 1.414a.5.5 0 0 1-.707.707L2.343 5.05a.5.5 0 0 1 0-.707zm11.314 0a.5.5 0 0 1 0 .707l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zM11.709 11.5a4 4 0 1 0-7.418 0H.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-3.79zM0 10a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 0 10zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsSunrise (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 1.146a.5.5 0 0 1 .708 0l1.5 1.5a.5.5 0 0 1-.708.708L8.5 2.707V4.5a.5.5 0 0 1-1 0V2.707l-.646.647a.5.5 0 1 1-.708-.708l1.5-1.5zM2.343 4.343a.5.5 0 0 1 .707 0l1.414 1.414a.5.5 0 0 1-.707.707L2.343 5.05a.5.5 0 0 1 0-.707zm11.314 0a.5.5 0 0 1 0 .707l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zM8 7a3 3 0 0 1 2.599 4.5H5.4A3 3 0 0 1 8 7zm3.71 4.5a4 4 0 1 0-7.418 0H.499a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-3.79zM0 10a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 0 10zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsSunsetFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 4.854a.5.5 0 0 0 .708 0l1.5-1.5a.5.5 0 0 0-.708-.708l-.646.647V1.5a.5.5 0 0 0-1 0v1.793l-.646-.647a.5.5 0 1 0-.708.708l1.5 1.5zm-5.303-.51a.5.5 0 0 1 .707 0l1.414 1.413a.5.5 0 0 1-.707.707L2.343 5.05a.5.5 0 0 1 0-.707zm11.314 0a.5.5 0 0 1 0 .706l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zM11.709 11.5a4 4 0 1 0-7.418 0H.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-3.79zM0 10a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 0 10zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsSunset (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 4.854a.5.5 0 0 0 .708 0l1.5-1.5a.5.5 0 0 0-.708-.708l-.646.647V1.5a.5.5 0 0 0-1 0v1.793l-.646-.647a.5.5 0 1 0-.708.708l1.5 1.5zm-5.303-.51a.5.5 0 0 1 .707 0l1.414 1.413a.5.5 0 0 1-.707.707L2.343 5.05a.5.5 0 0 1 0-.707zm11.314 0a.5.5 0 0 1 0 .706l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zM8 7a3 3 0 0 1 2.599 4.5H5.4A3 3 0 0 1 8 7zm3.71 4.5a4 4 0 1 0-7.418 0H.499a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-3.79zM0 10a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 0 10zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsSymmetryHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 7a.5.5 0 0 0 .24-.939l-11-6A.5.5 0 0 0 2 .5v6a.5.5 0 0 0 .5.5h11zm.485 2.376a.5.5 0 0 1-.246.563l-11 6A.5.5 0 0 1 2 15.5v-6a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .485.376zM11.539 10H3v4.658L11.54 10z\"}}]})(props);\n};\nexport function BsSymmetryVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2.5a.5.5 0 0 0-.939-.24l-6 11A.5.5 0 0 0 .5 14h6a.5.5 0 0 0 .5-.5v-11zm2.376-.484a.5.5 0 0 1 .563.245l6 11A.5.5 0 0 1 15.5 14h-6a.5.5 0 0 1-.5-.5v-11a.5.5 0 0 1 .376-.484zM10 4.46V13h4.658L10 4.46z\"}}]})(props);\n};\nexport function BsTable (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm15 2h-4v3h4V4zm0 4h-4v3h4V8zm0 4h-4v3h3a1 1 0 0 0 1-1v-2zm-5 3v-3H6v3h4zm-5 0v-3H1v2a1 1 0 0 0 1 1h3zm-4-4h4V8H1v3zm0-4h4V4H1v3zm5-3v3h4V4H6zm4 4H6v3h4V8z\"}}]})(props);\n};\nexport function BsTabletFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm7 11a1 1 0 1 0-2 0 1 1 0 0 0 2 0z\"}}]})(props);\n};\nexport function BsTabletLandscapeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 14a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2zm11-7a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsTabletLandscape (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4zm-1 8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 8a1 1 0 1 0-2 0 1 1 0 0 0 2 0z\"}}]})(props);\n};\nexport function BsTablet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h8zM4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsTagFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v4.586a1 1 0 0 0 .293.707l7 7a1 1 0 0 0 1.414 0l4.586-4.586a1 1 0 0 0 0-1.414l-7-7A1 1 0 0 0 6.586 1H2zm4 3.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsTag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 4.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm-1 0a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1h4.586a1 1 0 0 1 .707.293l7 7a1 1 0 0 1 0 1.414l-4.586 4.586a1 1 0 0 1-1.414 0l-7-7A1 1 0 0 1 1 6.586V2a1 1 0 0 1 1-1zm0 5.586 7 7L13.586 9l-7-7H2v4.586z\"}}]})(props);\n};\nexport function BsTagsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a1 1 0 0 1 1-1h4.586a1 1 0 0 1 .707.293l7 7a1 1 0 0 1 0 1.414l-4.586 4.586a1 1 0 0 1-1.414 0l-7-7A1 1 0 0 1 2 6.586V2zm3.5 4a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.293 7.793A1 1 0 0 1 1 7.086V2a1 1 0 0 0-1 1v4.586a1 1 0 0 0 .293.707l7 7a1 1 0 0 0 1.414 0l.043-.043-7.457-7.457z\"}}]})(props);\n};\nexport function BsTags (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2v4.586l7 7L14.586 9l-7-7H3zM2 2a1 1 0 0 1 1-1h4.586a1 1 0 0 1 .707.293l7 7a1 1 0 0 1 0 1.414l-4.586 4.586a1 1 0 0 1-1.414 0l-7-7A1 1 0 0 1 2 6.586V2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm0 1a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM1 7.086a1 1 0 0 0 .293.707L8.75 15.25l-.043.043a1 1 0 0 1-1.414 0l-7-7A1 1 0 0 1 0 7.586V3a1 1 0 0 1 1-1v5.086z\"}}]})(props);\n};\nexport function BsTelegram (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.287 5.906c-.778.324-2.334.994-4.666 2.01-.378.15-.577.298-.595.442-.03.243.275.339.69.47l.175.055c.408.133.958.288 1.243.294.26.006.549-.1.868-.32 2.179-1.471 3.304-2.214 3.374-2.23.05-.012.12-.026.166.016.047.041.042.12.037.141-.03.129-1.227 1.241-1.846 1.817-.193.18-.33.307-.358.336a8.154 8.154 0 0 1-.188.186c-.38.366-.664.64.015 1.088.327.216.589.393.85.571.284.194.568.387.936.629.093.06.183.125.27.187.331.236.63.448.997.414.214-.02.435-.22.547-.82.265-1.417.786-4.486.906-5.751a1.426 1.426 0 0 0-.013-.315.337.337 0 0 0-.114-.217.526.526 0 0 0-.31-.093c-.3.005-.763.166-2.984 1.09z\"}}]})(props);\n};\nexport function BsTelephoneFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z\"}}]})(props);\n};\nexport function BsTelephoneForwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zm10.761.135a.5.5 0 0 1 .708 0l2.5 2.5a.5.5 0 0 1 0 .708l-2.5 2.5a.5.5 0 0 1-.708-.708L14.293 4H9.5a.5.5 0 0 1 0-1h4.793l-1.647-1.646a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsTelephoneForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zm10.762.135a.5.5 0 0 1 .708 0l2.5 2.5a.5.5 0 0 1 0 .708l-2.5 2.5a.5.5 0 0 1-.708-.708L14.293 4H9.5a.5.5 0 0 1 0-1h4.793l-1.647-1.646a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsTelephoneInboundFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM15.854.146a.5.5 0 0 1 0 .708L11.707 5H14.5a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 1 0v2.793L15.146.146a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsTelephoneInbound (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.854.146a.5.5 0 0 1 0 .708L11.707 5H14.5a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 1 0v2.793L15.146.146a.5.5 0 0 1 .708 0zm-12.2 1.182a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z\"}}]})(props);\n};\nexport function BsTelephoneMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM10 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTelephoneMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z\"}}]})(props);\n};\nexport function BsTelephoneOutboundFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM11 .5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V1.707l-4.146 4.147a.5.5 0 0 1-.708-.708L14.293 1H11.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTelephoneOutbound (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM11 .5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V1.707l-4.146 4.147a.5.5 0 0 1-.708-.708L14.293 1H11.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTelephonePlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM12.5 1a.5.5 0 0 1 .5.5V3h1.5a.5.5 0 0 1 0 1H13v1.5a.5.5 0 0 1-1 0V4h-1.5a.5.5 0 0 1 0-1H12V1.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsTelephonePlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.5 1a.5.5 0 0 1 .5.5V3h1.5a.5.5 0 0 1 0 1H13v1.5a.5.5 0 0 1-1 0V4h-1.5a.5.5 0 0 1 0-1H12V1.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsTelephoneXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zm9.261 1.135a.5.5 0 0 1 .708 0L13 2.793l1.146-1.147a.5.5 0 0 1 .708.708L13.707 3.5l1.147 1.146a.5.5 0 0 1-.708.708L13 4.207l-1.146 1.147a.5.5 0 0 1-.708-.708L12.293 3.5l-1.147-1.146a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsTelephoneX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.146 1.646a.5.5 0 0 1 .708 0L13 2.793l1.146-1.147a.5.5 0 0 1 .708.708L13.707 3.5l1.147 1.146a.5.5 0 0 1-.708.708L13 4.207l-1.146 1.147a.5.5 0 0 1-.708-.708L12.293 3.5l-1.147-1.146a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsTelephone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z\"}}]})(props);\n};\nexport function BsTerminalFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3zm9.5 5.5h-3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1zm-6.354-.354a.5.5 0 1 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 1 0-.708.708L4.793 6.5 3.146 8.146z\"}}]})(props);\n};\nexport function BsTerminal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 9a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3A.5.5 0 0 1 6 9zM3.854 4.146a.5.5 0 1 0-.708.708L4.793 6.5 3.146 8.146a.5.5 0 1 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H2zm12 1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h12z\"}}]})(props);\n};\nexport function BsTextCenter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 12.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm2-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTextIndentLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm.646 2.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L4.293 8 2.646 6.354a.5.5 0 0 1 0-.708zM7 6.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 3a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zm-5 3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTextIndentRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm10.646 2.146a.5.5 0 0 1 .708.708L11.707 8l1.647 1.646a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2zM2 6.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 3a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTextLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 12.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTextParagraph (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 12.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm4-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTextRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 12.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-4-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm4-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-4-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTextareaResize (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4.5A2.5 2.5 0 0 1 2.5 2h11A2.5 2.5 0 0 1 16 4.5v7a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 0 11.5v-7zM2.5 3A1.5 1.5 0 0 0 1 4.5v7A1.5 1.5 0 0 0 2.5 13h11a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 13.5 3h-11zm10.854 4.646a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708l3-3a.5.5 0 0 1 .708 0zm0 2.5a.5.5 0 0 1 0 .708l-.5.5a.5.5 0 0 1-.708-.708l.5-.5a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsTextareaT (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2.5A1.5 1.5 0 0 1 3 1h10a1.5 1.5 0 0 1 1.5 1.5v3.563a2 2 0 0 1 0 3.874V13.5A1.5 1.5 0 0 1 13 15H3a1.5 1.5 0 0 1-1.5-1.5V9.937a2 2 0 0 1 0-3.874V2.5zm1 3.563a2 2 0 0 1 0 3.874V13.5a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5V9.937a2 2 0 0 1 0-3.874V2.5A.5.5 0 0 0 13 2H3a.5.5 0 0 0-.5.5v3.563zM2 7a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm12 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.434 4H4.566L4.5 5.994h.386c.21-1.252.612-1.446 2.173-1.495l.343-.011v6.343c0 .537-.116.665-1.049.748V12h3.294v-.421c-.938-.083-1.054-.21-1.054-.748V4.488l.348.01c1.56.05 1.963.244 2.173 1.496h.386L11.434 4z\"}}]})(props);\n};\nexport function BsTextarea (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2.5A1.5 1.5 0 0 1 3 1h10a1.5 1.5 0 0 1 1.5 1.5v3.563a2 2 0 0 1 0 3.874V13.5A1.5 1.5 0 0 1 13 15H3a1.5 1.5 0 0 1-1.5-1.5V9.937a2 2 0 0 1 0-3.874V2.5zm1 3.563a2 2 0 0 1 0 3.874V13.5a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5V9.937a2 2 0 0 1 0-3.874V2.5A.5.5 0 0 0 13 2H3a.5.5 0 0 0-.5.5v3.563zM2 7a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm12 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsThermometerHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 12.5a1.5 1.5 0 1 1-2-1.415V6.5a.5.5 0 0 1 1 0v4.585a1.5 1.5 0 0 1 1 1.415z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 2.5a2.5 2.5 0 0 1 5 0v7.55a3.5 3.5 0 1 1-5 0V2.5zM8 1a1.5 1.5 0 0 0-1.5 1.5v7.987l-.167.15a2.5 2.5 0 1 0 3.333 0l-.166-.15V2.5A1.5 1.5 0 0 0 8 1z\"}}]})(props);\n};\nexport function BsThermometerHigh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 12.5a1.5 1.5 0 1 1-2-1.415V2.5a.5.5 0 0 1 1 0v8.585a1.5 1.5 0 0 1 1 1.415z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 2.5a2.5 2.5 0 0 1 5 0v7.55a3.5 3.5 0 1 1-5 0V2.5zM8 1a1.5 1.5 0 0 0-1.5 1.5v7.987l-.167.15a2.5 2.5 0 1 0 3.333 0l-.166-.15V2.5A1.5 1.5 0 0 0 8 1z\"}}]})(props);\n};\nexport function BsThermometerLow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 12.5a1.5 1.5 0 1 1-2-1.415V9.5a.5.5 0 0 1 1 0v1.585a1.5 1.5 0 0 1 1 1.415z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 2.5a2.5 2.5 0 0 1 5 0v7.55a3.5 3.5 0 1 1-5 0V2.5zM8 1a1.5 1.5 0 0 0-1.5 1.5v7.987l-.167.15a2.5 2.5 0 1 0 3.333 0l-.166-.15V2.5A1.5 1.5 0 0 0 8 1z\"}}]})(props);\n};\nexport function BsThermometerSnow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12.5a1.5 1.5 0 1 1-2-1.415V9.5a.5.5 0 0 1 1 0v1.585A1.5 1.5 0 0 1 5 12.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.5a2.5 2.5 0 0 1 5 0v7.55a3.5 3.5 0 1 1-5 0V2.5zM3.5 1A1.5 1.5 0 0 0 2 2.5v7.987l-.167.15a2.5 2.5 0 1 0 3.333 0L5 10.486V2.5A1.5 1.5 0 0 0 3.5 1zm5 1a.5.5 0 0 1 .5.5v1.293l.646-.647a.5.5 0 0 1 .708.708L9 5.207v1.927l1.669-.963.495-1.85a.5.5 0 1 1 .966.26l-.237.882 1.12-.646a.5.5 0 0 1 .5.866l-1.12.646.884.237a.5.5 0 1 1-.26.966l-1.848-.495L9.5 8l1.669.963 1.849-.495a.5.5 0 1 1 .258.966l-.883.237 1.12.646a.5.5 0 0 1-.5.866l-1.12-.646.237.883a.5.5 0 1 1-.966.258L10.67 9.83 9 8.866v1.927l1.354 1.353a.5.5 0 0 1-.708.708L9 12.207V13.5a.5.5 0 0 1-1 0v-11a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsThermometerSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12.5a1.5 1.5 0 1 1-2-1.415V2.5a.5.5 0 0 1 1 0v8.585A1.5 1.5 0 0 1 5 12.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.5a2.5 2.5 0 0 1 5 0v7.55a3.5 3.5 0 1 1-5 0V2.5zM3.5 1A1.5 1.5 0 0 0 2 2.5v7.987l-.167.15a2.5 2.5 0 1 0 3.333 0L5 10.486V2.5A1.5 1.5 0 0 0 3.5 1zm5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5zm4.243 1.757a.5.5 0 0 1 0 .707l-.707.708a.5.5 0 1 1-.708-.708l.708-.707a.5.5 0 0 1 .707 0zM8 5.5a.5.5 0 0 1 .5-.5 3 3 0 1 1 0 6 .5.5 0 0 1 0-1 2 2 0 0 0 0-4 .5.5 0 0 1-.5-.5zM12.5 8a.5.5 0 0 1 .5-.5h1a.5.5 0 1 1 0 1h-1a.5.5 0 0 1-.5-.5zm-1.172 2.828a.5.5 0 0 1 .708 0l.707.708a.5.5 0 0 1-.707.707l-.708-.707a.5.5 0 0 1 0-.708zM8.5 12a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsThermometer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a2.5 2.5 0 0 0-2.5 2.5v7.55a3.5 3.5 0 1 0 5 0V2.5A2.5 2.5 0 0 0 8 0zM6.5 2.5a1.5 1.5 0 1 1 3 0v7.987l.167.15a2.5 2.5 0 1 1-3.333 0l.166-.15V2.5z\"}}]})(props);\n};\nexport function BsThreeDotsVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 13a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0-5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0-5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsThreeDots (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsToggleOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 4a4 4 0 0 1 0 8H8a4.992 4.992 0 0 0 2-4 4.992 4.992 0 0 0-2-4h3zm-6 8a4 4 0 1 1 0-8 4 4 0 0 1 0 8zM0 8a5 5 0 0 0 5 5h6a5 5 0 0 0 0-10H5a5 5 0 0 0-5 5z\"}}]})(props);\n};\nexport function BsToggleOn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3a5 5 0 0 0 0 10h6a5 5 0 0 0 0-10H5zm6 9a4 4 0 1 1 0-8 4 4 0 0 1 0 8z\"}}]})(props);\n};\nexport function BsToggle2Off (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 11c.628-.836 1-1.874 1-3a4.978 4.978 0 0 0-1-3h4a3 3 0 1 1 0 6H9z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0 1A5 5 0 1 0 5 3a5 5 0 0 0 0 10z\"}}]})(props);\n};\nexport function BsToggle2On (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5H3a3 3 0 0 0 0 6h4a4.995 4.995 0 0 1-.584-1H3a2 2 0 1 1 0-4h3.416c.156-.357.352-.692.584-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A5 5 0 1 1 6 8a5 5 0 0 1 10 0z\"}}]})(props);\n};\nexport function BsToggles (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 9a3.5 3.5 0 1 0 0 7h7a3.5 3.5 0 1 0 0-7h-7zm7 6a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5zm-7-14a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zm2.45 0A3.49 3.49 0 0 1 8 3.5 3.49 3.49 0 0 1 6.95 6h4.55a2.5 2.5 0 0 0 0-5H6.95zM4.5 0h7a3.5 3.5 0 1 1 0 7h-7a3.5 3.5 0 1 1 0-7z\"}}]})(props);\n};\nexport function BsToggles2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.465 10H12a2 2 0 1 1 0 4H9.465c.34-.588.535-1.271.535-2 0-.729-.195-1.412-.535-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 1a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm.535-10a3.975 3.975 0 0 1-.409-1H4a1 1 0 0 1 0-2h2.126c.091-.355.23-.69.41-1H4a2 2 0 1 0 0 4h2.535z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4a4 4 0 1 1-8 0 4 4 0 0 1 8 0z\"}}]})(props);\n};\nexport function BsTools (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 0 0 1l2.2 3.081a1 1 0 0 0 .815.419h.07a1 1 0 0 1 .708.293l2.675 2.675-2.617 2.654A3.003 3.003 0 0 0 0 13a3 3 0 1 0 5.878-.851l2.654-2.617.968.968-.305.914a1 1 0 0 0 .242 1.023l3.356 3.356a1 1 0 0 0 1.414 0l1.586-1.586a1 1 0 0 0 0-1.414l-3.356-3.356a1 1 0 0 0-1.023-.242L10.5 9.5l-.96-.96 2.68-2.643A3.005 3.005 0 0 0 16 3c0-.269-.035-.53-.102-.777l-2.14 2.141L12 4l-.364-1.757L13.777.102a3 3 0 0 0-3.675 3.68L7.462 6.46 4.793 3.793a1 1 0 0 1-.293-.707v-.071a1 1 0 0 0-.419-.814L1 0zm9.646 10.646a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708zM3 11l.471.242.529.026.287.445.445.287.026.529L5 13l-.242.471-.026.529-.445.287-.287.445-.529.026L3 15l-.471-.242L2 14.732l-.287-.445L1.268 14l-.026-.529L1 13l.242-.471.026-.529.445-.287.287-.445.529-.026L3 11z\"}}]})(props);\n};\nexport function BsTornado (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.125 2.45A.892.892 0 0 1 1 2c0-.26.116-.474.258-.634a1.9 1.9 0 0 1 .513-.389c.387-.21.913-.385 1.52-.525C4.514.17 6.18 0 8 0c1.821 0 3.486.17 4.709.452.607.14 1.133.314 1.52.525.193.106.374.233.513.389.141.16.258.374.258.634 0 1.011-.35 1.612-.634 2.102-.04.07-.08.137-.116.203a2.55 2.55 0 0 0-.313.809 2.938 2.938 0 0 0-.011.891.5.5 0 0 1 .428.849c-.06.06-.133.126-.215.195.204 1.116.088 1.99-.3 2.711-.453.84-1.231 1.383-2.02 1.856-.204.123-.412.243-.62.364-1.444.832-2.928 1.689-3.735 3.706a.5.5 0 0 1-.748.226l-.001-.001-.002-.001-.004-.003-.01-.008a2.142 2.142 0 0 1-.147-.115 4.095 4.095 0 0 1-1.179-1.656 3.786 3.786 0 0 1-.247-1.296A.498.498 0 0 1 5 12.5v-.018a.62.62 0 0 1 .008-.079.728.728 0 0 1 .188-.386c.09-.489.272-1.014.573-1.574a.5.5 0 0 1 .073-.918 3.29 3.29 0 0 1 .617-.144l.15-.193c.285-.356.404-.639.437-.861a.948.948 0 0 0-.122-.619c-.249-.455-.815-.903-1.613-1.43-.193-.127-.398-.258-.609-.394l-.119-.076a12.307 12.307 0 0 1-1.241-.334.5.5 0 0 1-.285-.707l-.23-.18C2.117 4.01 1.463 3.32 1.125 2.45zm1.973 1.051c.113.104.233.207.358.308.472.381.99.722 1.515 1.06 1.54.317 3.632.5 5.43.14a.5.5 0 0 1 .197.981c-1.216.244-2.537.26-3.759.157.399.326.744.682.963 1.081.203.373.302.79.233 1.247-.05.33-.182.657-.39.985.075.017.148.035.22.053l.006.002c.481.12.863.213 1.47.01a.5.5 0 1 1 .317.95c-.888.295-1.505.141-2.023.012l-.006-.002a3.894 3.894 0 0 0-.644-.123c-.37.55-.598 1.05-.726 1.497.142.045.296.11.465.194a.5.5 0 1 1-.448.894 3.11 3.11 0 0 0-.148-.07c.012.345.084.643.18.895.14.369.342.666.528.886.992-1.903 2.583-2.814 3.885-3.56.203-.116.399-.228.584-.34.775-.464 1.34-.89 1.653-1.472.212-.393.33-.9.26-1.617A6.74 6.74 0 0 1 10 8.5a.5.5 0 0 1 0-1 5.76 5.76 0 0 0 3.017-.872.515.515 0 0 1-.007-.03c-.135-.673-.14-1.207-.056-1.665.084-.46.253-.81.421-1.113l.131-.23c.065-.112.126-.22.182-.327-.29.107-.62.202-.98.285C11.487 3.83 9.822 4 8 4c-1.821 0-3.486-.17-4.709-.452-.065-.015-.13-.03-.193-.047zM13.964 2a1.12 1.12 0 0 0-.214-.145c-.272-.148-.697-.297-1.266-.428C11.354 1.166 9.769 1 8 1c-1.769 0-3.354.166-4.484.427-.569.13-.994.28-1.266.428A1.12 1.12 0 0 0 2.036 2c.04.038.109.087.214.145.272.148.697.297 1.266.428C4.646 2.834 6.231 3 8 3c1.769 0 3.354-.166 4.484-.427.569-.13.994-.28 1.266-.428A1.12 1.12 0 0 0 13.964 2z\"}}]})(props);\n};\nexport function BsTranslate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.545 6.714 4.11 8H3l1.862-5h1.284L8 8H6.833l-.435-1.286H4.545zm1.634-.736L5.5 3.956h-.049l-.679 2.022H6.18z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h7a2 2 0 0 1 2 2v3h3a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-3H2a2 2 0 0 1-2-2V2zm2-1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H2zm7.138 9.995c.193.301.402.583.63.846-.748.575-1.673 1.001-2.768 1.292.178.217.451.635.555.867 1.125-.359 2.08-.844 2.886-1.494.777.665 1.739 1.165 2.93 1.472.133-.254.414-.673.629-.89-1.125-.253-2.057-.694-2.82-1.284.681-.747 1.222-1.651 1.621-2.757H14V8h-3v1.047h.765c-.318.844-.74 1.546-1.272 2.13a6.066 6.066 0 0 1-.415-.492 1.988 1.988 0 0 1-.94.31z\"}}]})(props);\n};\nexport function BsTrashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1H3v9a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V4h.5a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H10a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1H2.5zm3 4a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 .5-.5zM8 5a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7A.5.5 0 0 1 8 5zm3 .5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsTrash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 5.5A.5.5 0 0 1 6 6v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V6z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.5 3a1 1 0 0 1-1 1H13v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V4h-.5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1H6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1h3.5a1 1 0 0 1 1 1v1zM4.118 4 4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4H4.118zM2.5 3V2h11v1h-11z\"}}]})(props);\n};\nexport function BsTrash2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.037 3.225A.703.703 0 0 1 2 3c0-1.105 2.686-2 6-2s6 .895 6 2a.702.702 0 0 1-.037.225l-1.684 10.104A2 2 0 0 1 10.305 15H5.694a2 2 0 0 1-1.973-1.671L2.037 3.225zm9.89-.69C10.966 2.214 9.578 2 8 2c-1.58 0-2.968.215-3.926.534-.477.16-.795.327-.975.466.18.14.498.307.975.466C5.032 3.786 6.42 4 8 4s2.967-.215 3.926-.534c.477-.16.795-.327.975-.466-.18-.14-.498-.307-.975-.466z\"}}]})(props);\n};\nexport function BsTrash2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a.702.702 0 0 1-.037.225l-1.684 10.104A2 2 0 0 1 10.305 15H5.694a2 2 0 0 1-1.973-1.671L2.037 3.225A.703.703 0 0 1 2 3c0-1.105 2.686-2 6-2s6 .895 6 2zM3.215 4.207l1.493 8.957a1 1 0 0 0 .986.836h4.612a1 1 0 0 0 .986-.836l1.493-8.957C11.69 4.689 9.954 5 8 5c-1.954 0-3.69-.311-4.785-.793z\"}}]})(props);\n};\nexport function BsTreeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.416.223a.5.5 0 0 0-.832 0l-3 4.5A.5.5 0 0 0 5 5.5h.098L3.076 8.735A.5.5 0 0 0 3.5 9.5h.191l-1.638 3.276a.5.5 0 0 0 .447.724H7V16h2v-2.5h4.5a.5.5 0 0 0 .447-.724L12.31 9.5h.191a.5.5 0 0 0 .424-.765L10.902 5.5H11a.5.5 0 0 0 .416-.777l-3-4.5z\"}}]})(props);\n};\nexport function BsTree (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.416.223a.5.5 0 0 0-.832 0l-3 4.5A.5.5 0 0 0 5 5.5h.098L3.076 8.735A.5.5 0 0 0 3.5 9.5h.191l-1.638 3.276a.5.5 0 0 0 .447.724H7V16h2v-2.5h4.5a.5.5 0 0 0 .447-.724L12.31 9.5h.191a.5.5 0 0 0 .424-.765L10.902 5.5H11a.5.5 0 0 0 .416-.777l-3-4.5zM6.437 4.758A.5.5 0 0 0 6 4.5h-.066L8 1.401 10.066 4.5H10a.5.5 0 0 0-.424.765L11.598 8.5H11.5a.5.5 0 0 0-.447.724L12.69 12.5H3.309l1.638-3.276A.5.5 0 0 0 4.5 8.5h-.098l2.022-3.235a.5.5 0 0 0 .013-.507z\"}}]})(props);\n};\nexport function BsTriangleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.022 1.566a1.13 1.13 0 0 1 1.96 0l6.857 11.667c.457.778-.092 1.767-.98 1.767H1.144c-.889 0-1.437-.99-.98-1.767L7.022 1.566z\"}}]})(props);\n};\nexport function BsTriangleHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.065 2.016A.13.13 0 0 0 8.002 2v11.983l6.856.017a.12.12 0 0 0 .066-.017.162.162 0 0 0 .054-.06.176.176 0 0 0-.002-.183L8.12 2.073a.146.146 0 0 0-.054-.057zm-1.043-.45a1.13 1.13 0 0 1 1.96 0l6.856 11.667c.458.778-.091 1.767-.98 1.767H1.146c-.889 0-1.437-.99-.98-1.767L7.022 1.566z\"}}]})(props);\n};\nexport function BsTriangle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.938 2.016A.13.13 0 0 1 8.002 2a.13.13 0 0 1 .063.016.146.146 0 0 1 .054.057l6.857 11.667c.036.06.035.124.002.183a.163.163 0 0 1-.054.06.116.116 0 0 1-.066.017H1.146a.115.115 0 0 1-.066-.017.163.163 0 0 1-.054-.06.176.176 0 0 1 .002-.183L7.884 2.073a.147.147 0 0 1 .054-.057zm1.044-.45a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566z\"}}]})(props);\n};\nexport function BsTrophyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5.5A.5.5 0 0 1 3 0h10a.5.5 0 0 1 .5.5c0 .538-.012 1.05-.034 1.536a3 3 0 1 1-1.133 5.89c-.79 1.865-1.878 2.777-2.833 3.011v2.173l1.425.356c.194.048.377.135.537.255L13.3 15.1a.5.5 0 0 1-.3.9H3a.5.5 0 0 1-.3-.9l1.838-1.379c.16-.12.343-.207.537-.255L6.5 13.11v-2.173c-.955-.234-2.043-1.146-2.833-3.012a3 3 0 1 1-1.132-5.89A33.076 33.076 0 0 1 2.5.5zm.099 2.54a2 2 0 0 0 .72 3.935c-.333-1.05-.588-2.346-.72-3.935zm10.083 3.935a2 2 0 0 0 .72-3.935c-.133 1.59-.388 2.885-.72 3.935z\"}}]})(props);\n};\nexport function BsTrophy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5.5A.5.5 0 0 1 3 0h10a.5.5 0 0 1 .5.5c0 .538-.012 1.05-.034 1.536a3 3 0 1 1-1.133 5.89c-.79 1.865-1.878 2.777-2.833 3.011v2.173l1.425.356c.194.048.377.135.537.255L13.3 15.1a.5.5 0 0 1-.3.9H3a.5.5 0 0 1-.3-.9l1.838-1.379c.16-.12.343-.207.537-.255L6.5 13.11v-2.173c-.955-.234-2.043-1.146-2.833-3.012a3 3 0 1 1-1.132-5.89A33.076 33.076 0 0 1 2.5.5zm.099 2.54a2 2 0 0 0 .72 3.935c-.333-1.05-.588-2.346-.72-3.935zm10.083 3.935a2 2 0 0 0 .72-3.935c-.133 1.59-.388 2.885-.72 3.935zM3.504 1c.007.517.026 1.006.056 1.469.13 2.028.457 3.546.87 4.667C5.294 9.48 6.484 10 7 10a.5.5 0 0 1 .5.5v2.61a1 1 0 0 1-.757.97l-1.426.356a.5.5 0 0 0-.179.085L4.5 15h7l-.638-.479a.501.501 0 0 0-.18-.085l-1.425-.356a1 1 0 0 1-.757-.97V10.5A.5.5 0 0 1 9 10c.516 0 1.706-.52 2.57-2.864.413-1.12.74-2.64.87-4.667.03-.463.049-.952.056-1.469H3.504z\"}}]})(props);\n};\nexport function BsTropicalStorm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 9.5a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 2c-.9 0-1.75.216-2.501.6A5 5 0 0 1 13 7.5a6.5 6.5 0 1 1-13 0 .5.5 0 0 1 1 0 5.5 5.5 0 0 0 8.001 4.9A5 5 0 0 1 3 7.5a6.5 6.5 0 0 1 13 0 .5.5 0 0 1-1 0A5.5 5.5 0 0 0 9.5 2zM8 3.5a4 4 0 1 0 0 8 4 4 0 0 0 0-8z\"}}]})(props);\n};\nexport function BsTruckFlatbed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5 4a.5.5 0 0 1 .5.5V5h1.02a1.5 1.5 0 0 1 1.17.563l1.481 1.85a1.5 1.5 0 0 1 .329.938V10.5a1.5 1.5 0 0 1-1.5 1.5H14a2 2 0 1 1-4 0H5a2 2 0 1 1-4 0 1 1 0 0 1-1-1v-1h11V4.5a.5.5 0 0 1 .5-.5zM3 11a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm9 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm1.732 0h.768a.5.5 0 0 0 .5-.5V8.35a.5.5 0 0 0-.11-.312l-1.48-1.85A.5.5 0 0 0 13.02 6H12v4a2 2 0 0 1 1.732 1z\"}}]})(props);\n};\nexport function BsTruck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3.5A1.5 1.5 0 0 1 1.5 2h9A1.5 1.5 0 0 1 12 3.5V5h1.02a1.5 1.5 0 0 1 1.17.563l1.481 1.85a1.5 1.5 0 0 1 .329.938V10.5a1.5 1.5 0 0 1-1.5 1.5H14a2 2 0 1 1-4 0H5a2 2 0 1 1-3.998-.085A1.5 1.5 0 0 1 0 10.5v-7zm1.294 7.456A1.999 1.999 0 0 1 4.732 11h5.536a2.01 2.01 0 0 1 .732-.732V3.5a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .294.456zM12 10a2 2 0 0 1 1.732 1h.768a.5.5 0 0 0 .5-.5V8.35a.5.5 0 0 0-.11-.312l-1.48-1.85A.5.5 0 0 0 13.02 6H12v4zm-9 1a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm9 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsTsunami (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.036 12.314a.5.5 0 0 1 .65-.278l1.757.703a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.757-.703a.5.5 0 1 1 .372.928l-1.758.703a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.757-.703a.5.5 0 0 1-.278-.65zm0 2a.5.5 0 0 1 .65-.278l1.757.703a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.757-.703a.5.5 0 1 1 .372.928l-1.758.703a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.757-.703a.5.5 0 0 1-.278-.65zM2.662 8.08c-.456 1.063-.994 2.098-1.842 2.804a.5.5 0 0 1-.64-.768c.652-.544 1.114-1.384 1.564-2.43.14-.328.281-.68.427-1.044.302-.754.624-1.559 1.01-2.308C3.763 3.2 4.528 2.105 5.7 1.299 6.877.49 8.418 0 10.5 0c1.463 0 2.511.4 3.179 1.058.67.66.893 1.518.819 2.302-.074.771-.441 1.516-1.02 1.965a1.878 1.878 0 0 1-1.904.27c-.65.642-.907 1.679-.71 2.614C11.076 9.215 11.784 10 13 10h2.5a.5.5 0 0 1 0 1H13c-1.784 0-2.826-1.215-3.114-2.585-.232-1.1.005-2.373.758-3.284L10.5 5.06l-.777.388a.5.5 0 0 1-.447 0l-1-.5a.5.5 0 0 1 .447-.894l.777.388.776-.388a.5.5 0 0 1 .447 0l1 .5a.493.493 0 0 1 .034.018c.44.264.81.195 1.108-.036.328-.255.586-.729.637-1.27.05-.529-.1-1.076-.525-1.495-.426-.42-1.19-.77-2.477-.77-1.918 0-3.252.448-4.232 1.123C5.283 2.8 4.61 3.738 4.07 4.79c-.365.71-.655 1.433-.945 2.16-.15.376-.301.753-.463 1.13z\"}}]})(props);\n};\nexport function BsTvFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 13.5A.5.5 0 0 1 3 13h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zM2 2h12s2 0 2 2v6s0 2-2 2H2s-2 0-2-2V4s0-2 2-2z\"}}]})(props);\n};\nexport function BsTv (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 13.5A.5.5 0 0 1 3 13h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zM13.991 3l.024.001a1.46 1.46 0 0 1 .538.143.757.757 0 0 1 .302.254c.067.1.145.277.145.602v5.991l-.001.024a1.464 1.464 0 0 1-.143.538.758.758 0 0 1-.254.302c-.1.067-.277.145-.602.145H2.009l-.024-.001a1.464 1.464 0 0 1-.538-.143.758.758 0 0 1-.302-.254C1.078 10.502 1 10.325 1 10V4.009l.001-.024a1.46 1.46 0 0 1 .143-.538.758.758 0 0 1 .254-.302C1.498 3.078 1.675 3 2 3h11.991zM14 2H2C0 2 0 4 0 4v6c0 2 2 2 2 2h12c2 0 2-2 2-2V4c0-2-2-2-2-2z\"}}]})(props);\n};\nexport function BsTwitch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.857 0 1 2.857v10.286h3.429V16l2.857-2.857H9.57L14.714 8V0H3.857zm9.714 7.429-2.285 2.285H9l-2 2v-2H4.429V1.143h9.142v6.286z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.857 3.143h-1.143V6.57h1.143V3.143zm-3.143 0H7.571V6.57h1.143V3.143z\"}}]})(props);\n};\nexport function BsTwitter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.026 15c6.038 0 9.341-5.003 9.341-9.334 0-.14 0-.282-.006-.422A6.685 6.685 0 0 0 16 3.542a6.658 6.658 0 0 1-1.889.518 3.301 3.301 0 0 0 1.447-1.817 6.533 6.533 0 0 1-2.087.793A3.286 3.286 0 0 0 7.875 6.03a9.325 9.325 0 0 1-6.767-3.429 3.289 3.289 0 0 0 1.018 4.382A3.323 3.323 0 0 1 .64 6.575v.045a3.288 3.288 0 0 0 2.632 3.218 3.203 3.203 0 0 1-.865.115 3.23 3.23 0 0 1-.614-.057 3.283 3.283 0 0 0 3.067 2.277A6.588 6.588 0 0 1 .78 13.58a6.32 6.32 0 0 1-.78-.045A9.344 9.344 0 0 0 5.026 15z\"}}]})(props);\n};\nexport function BsTypeBold (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.21 13c2.106 0 3.412-1.087 3.412-2.823 0-1.306-.984-2.283-2.324-2.386v-.055a2.176 2.176 0 0 0 1.852-2.14c0-1.51-1.162-2.46-3.014-2.46H3.843V13H8.21zM5.908 4.674h1.696c.963 0 1.517.451 1.517 1.244 0 .834-.629 1.32-1.73 1.32H5.908V4.673zm0 6.788V8.598h1.73c1.217 0 1.88.492 1.88 1.415 0 .943-.643 1.449-1.832 1.449H5.907z\"}}]})(props);\n};\nexport function BsTypeH1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.637 13V3.669H7.379V7.62H2.758V3.67H1.5V13h1.258V8.728h4.62V13h1.259zm5.329 0V3.669h-1.244L10.5 5.316v1.265l2.16-1.565h.062V13h1.244z\"}}]})(props);\n};\nexport function BsTypeH2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.638 13V3.669H6.38V7.62H1.759V3.67H.5V13h1.258V8.728h4.62V13h1.259zm3.022-6.733v-.048c0-.889.63-1.668 1.716-1.668.957 0 1.675.608 1.675 1.572 0 .855-.554 1.504-1.067 2.085l-3.513 3.999V13H15.5v-1.094h-4.245v-.075l2.481-2.844c.875-.998 1.586-1.784 1.586-2.953 0-1.463-1.155-2.556-2.919-2.556-1.941 0-2.966 1.326-2.966 2.74v.049h1.223z\"}}]})(props);\n};\nexport function BsTypeH3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.637 13V3.669H6.379V7.62H1.758V3.67H.5V13h1.258V8.728h4.62V13h1.259zm3.625-4.272h1.018c1.142 0 1.935.67 1.949 1.674.013 1.005-.78 1.737-2.01 1.73-1.08-.007-1.853-.588-1.935-1.32H9.108c.069 1.327 1.224 2.386 3.083 2.386 1.935 0 3.343-1.155 3.309-2.789-.027-1.51-1.251-2.16-2.037-2.249v-.068c.704-.123 1.764-.91 1.723-2.229-.035-1.353-1.176-2.4-2.954-2.385-1.873.006-2.857 1.162-2.898 2.358h1.196c.062-.69.711-1.299 1.696-1.299.998 0 1.695.622 1.695 1.525.007.922-.718 1.592-1.695 1.592h-.964v1.074z\"}}]})(props);\n};\nexport function BsTypeItalic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.991 11.674 9.53 4.455c.123-.595.246-.71 1.347-.807l.11-.52H7.211l-.11.52c1.06.096 1.128.212 1.005.807L6.57 11.674c-.123.595-.246.71-1.346.806l-.11.52h3.774l.11-.52c-1.06-.095-1.129-.211-1.006-.806z\"}}]})(props);\n};\nexport function BsTypeStrikethrough (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.333 5.686c0 .31.083.581.27.814H5.166a2.776 2.776 0 0 1-.099-.76c0-1.627 1.436-2.768 3.48-2.768 1.969 0 3.39 1.175 3.445 2.85h-1.23c-.11-1.08-.964-1.743-2.25-1.743-1.23 0-2.18.602-2.18 1.607zm2.194 7.478c-2.153 0-3.589-1.107-3.705-2.81h1.23c.144 1.06 1.129 1.703 2.544 1.703 1.34 0 2.31-.705 2.31-1.675 0-.827-.547-1.374-1.914-1.675L8.046 8.5H1v-1h14v1h-3.504c.468.437.675.994.675 1.697 0 1.826-1.436 2.967-3.644 2.967z\"}}]})(props);\n};\nexport function BsTypeUnderline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.313 3.136h-1.23V9.54c0 2.105 1.47 3.623 3.917 3.623s3.917-1.518 3.917-3.623V3.136h-1.23v6.323c0 1.49-.978 2.57-2.687 2.57-1.709 0-2.687-1.08-2.687-2.57V3.136zM12.5 15h-9v-1h9v1z\"}}]})(props);\n};\nexport function BsType (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2.244 13.081.943-2.803H6.66l.944 2.803H8.86L5.54 3.75H4.322L1 13.081h1.244zm2.7-7.923L6.34 9.314H3.51l1.4-4.156h.034zm9.146 7.027h.035v.896h1.128V8.125c0-1.51-1.114-2.345-2.646-2.345-1.736 0-2.59.916-2.666 2.174h1.108c.068-.718.595-1.19 1.517-1.19.971 0 1.518.52 1.518 1.464v.731H12.19c-1.647.007-2.522.8-2.522 2.058 0 1.319.957 2.18 2.345 2.18 1.06 0 1.716-.43 2.078-1.011zm-1.763.035c-.752 0-1.456-.397-1.456-1.244 0-.65.424-1.115 1.408-1.115h1.805v.834c0 .896-.752 1.525-1.757 1.525z\"}}]})(props);\n};\nexport function BsUiChecksGrid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 10h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1zm9-9h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1zm0 9a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-3zm0-10a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h3a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2h-3zM2 9a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h3a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H2zm7 2a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-3a2 2 0 0 1-2-2v-3zM0 2a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm5.354.854a.5.5 0 1 0-.708-.708L3 3.793l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l2-2z\"}}]})(props);\n};\nexport function BsUiChecks (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1zM2 1a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H2zm0 8a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2H2zm.854-3.646a.5.5 0 0 1-.708 0l-1-1a.5.5 0 1 1 .708-.708l.646.647 1.646-1.647a.5.5 0 1 1 .708.708l-2 2zm0 8a.5.5 0 0 1-.708 0l-1-1a.5.5 0 0 1 .708-.708l.646.647 1.646-1.647a.5.5 0 0 1 .708.708l-2 2zM7 10.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1zm0-5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 8a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsUiRadiosGrid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 15a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5zm9-9a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5zm0 9a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5zM16 3.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0zm-9 9a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0zm5.5 3.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7zm-9-11a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 2a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7z\"}}]})(props);\n};\nexport function BsUiRadios (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1zM0 12a3 3 0 1 1 6 0 3 3 0 0 1-6 0zm7-1.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1zm0-5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 8a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zM3 1a3 3 0 1 0 0 6 3 3 0 0 0 0-6zm0 4.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsUmbrellaFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0a.5.5 0 0 1 .5.5v.514C12.625 1.238 16 4.22 16 8c0 0 0 .5-.5.5-.149 0-.352-.145-.352-.145l-.004-.004-.025-.023a3.484 3.484 0 0 0-.555-.394A3.166 3.166 0 0 0 13 7.5c-.638 0-1.178.213-1.564.434a3.484 3.484 0 0 0-.555.394l-.025.023-.003.003s-.204.146-.353.146-.352-.145-.352-.145l-.004-.004-.025-.023a3.484 3.484 0 0 0-.555-.394 3.3 3.3 0 0 0-1.064-.39V13.5H8h.5v.039l-.005.083a2.958 2.958 0 0 1-.298 1.102 2.257 2.257 0 0 1-.763.88C7.06 15.851 6.587 16 6 16s-1.061-.148-1.434-.396a2.255 2.255 0 0 1-.763-.88 2.958 2.958 0 0 1-.302-1.185v-.025l-.001-.009v-.003s0-.002.5-.002h-.5V13a.5.5 0 0 1 1 0v.506l.003.044a1.958 1.958 0 0 0 .195.726c.095.191.23.367.423.495.19.127.466.229.879.229s.689-.102.879-.229c.193-.128.328-.304.424-.495a1.958 1.958 0 0 0 .197-.77V7.544a3.3 3.3 0 0 0-1.064.39 3.482 3.482 0 0 0-.58.417l-.004.004S5.65 8.5 5.5 8.5c-.149 0-.352-.145-.352-.145l-.004-.004a3.482 3.482 0 0 0-.58-.417A3.166 3.166 0 0 0 3 7.5c-.638 0-1.177.213-1.564.434a3.482 3.482 0 0 0-.58.417l-.004.004S.65 8.5.5 8.5C0 8.5 0 8 0 8c0-3.78 3.375-6.762 7.5-6.986V.5A.5.5 0 0 1 8 0z\"}}]})(props);\n};\nexport function BsUmbrella (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a.5.5 0 0 1 .5.5v.514C12.625 1.238 16 4.22 16 8c0 0 0 .5-.5.5-.149 0-.352-.145-.352-.145l-.004-.004-.025-.023a3.484 3.484 0 0 0-.555-.394A3.166 3.166 0 0 0 13 7.5c-.638 0-1.178.213-1.564.434a3.484 3.484 0 0 0-.555.394l-.025.023-.003.003s-.204.146-.353.146-.352-.145-.352-.145l-.004-.004-.025-.023a3.484 3.484 0 0 0-.555-.394 3.3 3.3 0 0 0-1.064-.39V13.5H8h.5v.039l-.005.083a2.958 2.958 0 0 1-.298 1.102 2.257 2.257 0 0 1-.763.88C7.06 15.851 6.587 16 6 16s-1.061-.148-1.434-.396a2.255 2.255 0 0 1-.763-.88 2.958 2.958 0 0 1-.302-1.185v-.025l-.001-.009v-.003s0-.002.5-.002h-.5V13a.5.5 0 0 1 1 0v.506l.003.044a1.958 1.958 0 0 0 .195.726c.095.191.23.367.423.495.19.127.466.229.879.229s.689-.102.879-.229c.193-.128.328-.304.424-.495a1.958 1.958 0 0 0 .197-.77V7.544a3.3 3.3 0 0 0-1.064.39 3.482 3.482 0 0 0-.58.417l-.004.004S5.65 8.5 5.5 8.5c-.149 0-.352-.145-.352-.145l-.004-.004a3.482 3.482 0 0 0-.58-.417A3.166 3.166 0 0 0 3 7.5c-.638 0-1.177.213-1.564.434a3.482 3.482 0 0 0-.58.417l-.004.004S.65 8.5.5 8.5C0 8.5 0 8 0 8c0-3.78 3.375-6.762 7.5-6.986V.5A.5.5 0 0 1 8 0zM6.577 2.123c-2.833.5-4.99 2.458-5.474 4.854A4.124 4.124 0 0 1 3 6.5c.806 0 1.48.25 1.962.511a9.706 9.706 0 0 1 .344-2.358c.242-.868.64-1.765 1.271-2.53zm-.615 4.93A4.16 4.16 0 0 1 8 6.5a4.16 4.16 0 0 1 2.038.553 8.688 8.688 0 0 0-.307-2.13C9.434 3.858 8.898 2.83 8 2.117c-.898.712-1.434 1.74-1.731 2.804a8.687 8.687 0 0 0-.307 2.131zm3.46-4.93c.631.765 1.03 1.662 1.272 2.53.233.833.328 1.66.344 2.358A4.14 4.14 0 0 1 13 6.5c.77 0 1.42.23 1.897.477-.484-2.396-2.641-4.355-5.474-4.854z\"}}]})(props);\n};\nexport function BsUnion (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2H2a2 2 0 0 1-2-2V2z\"}}]})(props);\n};\nexport function BsUnlockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 1a2 2 0 0 0-2 2v4a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h5V3a3 3 0 0 1 6 0v4a.5.5 0 0 1-1 0V3a2 2 0 0 0-2-2z\"}}]})(props);\n};\nexport function BsUnlock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 1a2 2 0 0 0-2 2v4a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h5V3a3 3 0 0 1 6 0v4a.5.5 0 0 1-1 0V3a2 2 0 0 0-2-2zM3 8a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1H3z\"}}]})(props);\n};\nexport function BsUpcScan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 1a.5.5 0 0 0-.5.5v3a.5.5 0 0 1-1 0v-3A1.5 1.5 0 0 1 1.5 0h3a.5.5 0 0 1 0 1h-3zM11 .5a.5.5 0 0 1 .5-.5h3A1.5 1.5 0 0 1 16 1.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 1-.5-.5zM.5 11a.5.5 0 0 1 .5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 1 0 1h-3A1.5 1.5 0 0 1 0 14.5v-3a.5.5 0 0 1 .5-.5zm15 0a.5.5 0 0 1 .5.5v3a1.5 1.5 0 0 1-1.5 1.5h-3a.5.5 0 0 1 0-1h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 1 .5-.5zM3 4.5a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7zm2 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7zm2 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7zm2 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-7zm3 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7z\"}}]})(props);\n};\nexport function BsUpc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4.5a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7zm2 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7zm2 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7zm2 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-7zm3 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7z\"}}]})(props);\n};\nexport function BsUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 1.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 2.707V11.5a.5.5 0 0 1-1 0V2.707L5.354 4.854a.5.5 0 1 1-.708-.708l3-3z\"}}]})(props);\n};\nexport function BsVectorPen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.646.646a.5.5 0 0 1 .708 0l4 4a.5.5 0 0 1 0 .708l-1.902 1.902-.829 3.313a1.5 1.5 0 0 1-1.024 1.073L1.254 14.746 4.358 4.4A1.5 1.5 0 0 1 5.43 3.377l3.313-.828L10.646.646zm-1.8 2.908-3.173.793a.5.5 0 0 0-.358.342l-2.57 8.565 8.567-2.57a.5.5 0 0 0 .34-.357l.794-3.174-3.6-3.6z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2.832 13.228 8 9a1 1 0 1 0-1-1l-4.228 5.168-.026.086.086-.026z\"}}]})(props);\n};\nexport function BsViewList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4.5h10a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2zm0 1a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1H3zM1 2a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13A.5.5 0 0 1 1 2zm0 12a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13A.5.5 0 0 1 1 14z\"}}]})(props);\n};\nexport function BsViewStacked (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm0 1a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3zm0 8h10a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2zm0 1a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1H3z\"}}]})(props);\n};\nexport function BsVimeo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.992 4.204c-.071 1.556-1.158 3.687-3.262 6.393-2.175 2.829-4.016 4.243-5.522 4.243-.933 0-1.722-.861-2.367-2.583L3.55 7.523C3.07 5.8 2.556 4.94 2.007 4.94c-.118 0-.537.253-1.254.754L0 4.724a209.56 209.56 0 0 0 2.334-2.081c1.054-.91 1.845-1.388 2.373-1.437 1.243-.123 2.01.728 2.298 2.553.31 1.968.526 3.19.646 3.666.36 1.631.756 2.446 1.186 2.445.334 0 .836-.53 1.508-1.587.671-1.058 1.03-1.863 1.077-2.415.096-.913-.263-1.37-1.077-1.37a3.022 3.022 0 0 0-1.185.261c.789-2.573 2.291-3.825 4.508-3.756 1.644.05 2.419 1.117 2.324 3.2z\"}}]})(props);\n};\nexport function BsVinylFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm0 3a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4 8a4 4 0 1 0 8 0 4 4 0 0 0-8 0z\"}}]})(props);\n};\nexport function BsVinyl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM4 8a4 4 0 1 1 8 0 4 4 0 0 1-8 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsVoicemail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 8.5A3.49 3.49 0 0 1 5.95 11h4.1a3.5 3.5 0 1 1 2.45 1h-9A3.5 3.5 0 1 1 7 8.5zm-6 0a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0zm14 0a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0z\"}}]})(props);\n};\nexport function BsVolumeDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4a.5.5 0 0 0-.812-.39L5.825 5.5H3.5A.5.5 0 0 0 3 6v4a.5.5 0 0 0 .5.5h2.325l2.363 1.89A.5.5 0 0 0 9 12V4zm3.025 4a4.486 4.486 0 0 1-1.318 3.182L10 10.475A3.489 3.489 0 0 0 11.025 8 3.49 3.49 0 0 0 10 5.525l.707-.707A4.486 4.486 0 0 1 12.025 8z\"}}]})(props);\n};\nexport function BsVolumeDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4a.5.5 0 0 0-.812-.39L5.825 5.5H3.5A.5.5 0 0 0 3 6v4a.5.5 0 0 0 .5.5h2.325l2.363 1.89A.5.5 0 0 0 9 12V4zM6.312 6.39 8 5.04v5.92L6.312 9.61A.5.5 0 0 0 6 9.5H4v-3h2a.5.5 0 0 0 .312-.11zM12.025 8a4.486 4.486 0 0 1-1.318 3.182L10 10.475A3.489 3.489 0 0 0 11.025 8 3.49 3.49 0 0 0 10 5.525l.707-.707A4.486 4.486 0 0 1 12.025 8z\"}}]})(props);\n};\nexport function BsVolumeMuteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.717 3.55A.5.5 0 0 1 7 4v8a.5.5 0 0 1-.812.39L3.825 10.5H1.5A.5.5 0 0 1 1 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06zm7.137 2.096a.5.5 0 0 1 0 .708L12.207 8l1.647 1.646a.5.5 0 0 1-.708.708L11.5 8.707l-1.646 1.647a.5.5 0 0 1-.708-.708L10.793 8 9.146 6.354a.5.5 0 1 1 .708-.708L11.5 7.293l1.646-1.647a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsVolumeMute (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.717 3.55A.5.5 0 0 1 7 4v8a.5.5 0 0 1-.812.39L3.825 10.5H1.5A.5.5 0 0 1 1 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06zM6 5.04 4.312 6.39A.5.5 0 0 1 4 6.5H2v3h2a.5.5 0 0 1 .312.11L6 10.96V5.04zm7.854.606a.5.5 0 0 1 0 .708L12.207 8l1.647 1.646a.5.5 0 0 1-.708.708L11.5 8.707l-1.646 1.647a.5.5 0 0 1-.708-.708L10.793 8 9.146 6.354a.5.5 0 1 1 .708-.708L11.5 7.293l1.646-1.647a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsVolumeOffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.717 3.55A.5.5 0 0 1 11 4v8a.5.5 0 0 1-.812.39L7.825 10.5H5.5A.5.5 0 0 1 5 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06z\"}}]})(props);\n};\nexport function BsVolumeOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.717 3.55A.5.5 0 0 1 11 4v8a.5.5 0 0 1-.812.39L7.825 10.5H5.5A.5.5 0 0 1 5 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06zM10 5.04 8.312 6.39A.5.5 0 0 1 8 6.5H6v3h2a.5.5 0 0 1 .312.11L10 10.96V5.04z\"}}]})(props);\n};\nexport function BsVolumeUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.536 14.01A8.473 8.473 0 0 0 14.026 8a8.473 8.473 0 0 0-2.49-6.01l-.708.707A7.476 7.476 0 0 1 13.025 8c0 2.071-.84 3.946-2.197 5.303l.708.707z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.121 12.596A6.48 6.48 0 0 0 12.025 8a6.48 6.48 0 0 0-1.904-4.596l-.707.707A5.483 5.483 0 0 1 11.025 8a5.483 5.483 0 0 1-1.61 3.89l.706.706z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 11.182A4.486 4.486 0 0 0 10.025 8a4.486 4.486 0 0 0-1.318-3.182L8 5.525A3.489 3.489 0 0 1 9.025 8 3.49 3.49 0 0 1 8 10.475l.707.707zM6.717 3.55A.5.5 0 0 1 7 4v8a.5.5 0 0 1-.812.39L3.825 10.5H1.5A.5.5 0 0 1 1 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06z\"}}]})(props);\n};\nexport function BsVolumeUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.536 14.01A8.473 8.473 0 0 0 14.026 8a8.473 8.473 0 0 0-2.49-6.01l-.708.707A7.476 7.476 0 0 1 13.025 8c0 2.071-.84 3.946-2.197 5.303l.708.707z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.121 12.596A6.48 6.48 0 0 0 12.025 8a6.48 6.48 0 0 0-1.904-4.596l-.707.707A5.483 5.483 0 0 1 11.025 8a5.483 5.483 0 0 1-1.61 3.89l.706.706z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.025 8a4.486 4.486 0 0 1-1.318 3.182L8 10.475A3.489 3.489 0 0 0 9.025 8c0-.966-.392-1.841-1.025-2.475l.707-.707A4.486 4.486 0 0 1 10.025 8zM7 4a.5.5 0 0 0-.812-.39L3.825 5.5H1.5A.5.5 0 0 0 1 6v4a.5.5 0 0 0 .5.5h2.325l2.363 1.89A.5.5 0 0 0 7 12V4zM4.312 6.39 6 5.04v5.92L4.312 9.61A.5.5 0 0 0 4 9.5H2v-3h2a.5.5 0 0 0 .312-.11z\"}}]})(props);\n};\nexport function BsVr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12V4a1 1 0 0 1 1-1h2.5V2H4a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5v-1H4a1 1 0 0 1-1-1zm6.5 1v1H12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H9.5v1H12a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H9.5zM8 16a.5.5 0 0 1-.5-.5V.5a.5.5 0 0 1 1 0v15a.5.5 0 0 1-.5.5z\"}}]})(props);\n};\nexport function BsWalletFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2A1.5 1.5 0 0 0 0 3.5v2h6a.5.5 0 0 1 .5.5c0 .253.08.644.306.958.207.288.557.542 1.194.542.637 0 .987-.254 1.194-.542.226-.314.306-.705.306-.958a.5.5 0 0 1 .5-.5h6v-2A1.5 1.5 0 0 0 14.5 2h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 6.5h-5.551a2.678 2.678 0 0 1-.443 1.042C9.613 8.088 8.963 8.5 8 8.5c-.963 0-1.613-.412-2.006-.958A2.679 2.679 0 0 1 5.551 6.5H0v6A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-6z\"}}]})(props);\n};\nexport function BsWallet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a2 2 0 0 1 2-2h13.5a.5.5 0 0 1 0 1H15v2a1 1 0 0 1 1 1v8.5a1.5 1.5 0 0 1-1.5 1.5h-12A2.5 2.5 0 0 1 0 12.5V3zm1 1.732V12.5A1.5 1.5 0 0 0 2.5 14h12a.5.5 0 0 0 .5-.5V5H2a1.99 1.99 0 0 1-1-.268zM1 3a1 1 0 0 0 1 1h12V2H2a1 1 0 0 0-1 1z\"}}]})(props);\n};\nexport function BsWallet2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.136.326A1.5 1.5 0 0 1 14 1.78V3h.5A1.5 1.5 0 0 1 16 4.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 13.5v-9a1.5 1.5 0 0 1 1.432-1.499L12.136.326zM5.562 3H13V1.78a.5.5 0 0 0-.621-.484L5.562 3zM1.5 4a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-13z\"}}]})(props);\n};\nexport function BsWatch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5a.5.5 0 0 0-1 0v2.5H6a.5.5 0 0 0 0 1h2a.5.5 0 0 0 .5-.5V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.667 16C4.747 16 4 15.254 4 14.333v-1.86A5.985 5.985 0 0 1 2 8c0-1.777.772-3.374 2-4.472V1.667C4 .747 4.746 0 5.667 0h4.666C11.253 0 12 .746 12 1.667v1.86a5.99 5.99 0 0 1 1.918 3.48.502.502 0 0 1 .582.493v1a.5.5 0 0 1-.582.493A5.99 5.99 0 0 1 12 12.473v1.86c0 .92-.746 1.667-1.667 1.667H5.667zM13 8A5 5 0 1 0 3 8a5 5 0 0 0 10 0z\"}}]})(props);\n};\nexport function BsWater (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.036 3.314a.5.5 0 0 1 .65-.278l1.757.703a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.757-.703a.5.5 0 1 1 .372.928l-1.758.703a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0L.314 3.964a.5.5 0 0 1-.278-.65zm0 3a.5.5 0 0 1 .65-.278l1.757.703a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.757-.703a.5.5 0 1 1 .372.928l-1.758.703a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0L.314 6.964a.5.5 0 0 1-.278-.65zm0 3a.5.5 0 0 1 .65-.278l1.757.703a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.757-.703a.5.5 0 1 1 .372.928l-1.758.703a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0L.314 9.964a.5.5 0 0 1-.278-.65zm0 3a.5.5 0 0 1 .65-.278l1.757.703a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.757-.703a.5.5 0 1 1 .372.928l-1.758.703a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.757-.703a.5.5 0 0 1-.278-.65z\"}}]})(props);\n};\nexport function BsWhatsapp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.601 2.326A7.854 7.854 0 0 0 7.994 0C3.627 0 .068 3.558.064 7.926c0 1.399.366 2.76 1.057 3.965L0 16l4.204-1.102a7.933 7.933 0 0 0 3.79.965h.004c4.368 0 7.926-3.558 7.93-7.93A7.898 7.898 0 0 0 13.6 2.326zM7.994 14.521a6.573 6.573 0 0 1-3.356-.92l-.24-.144-2.494.654.666-2.433-.156-.251a6.56 6.56 0 0 1-1.007-3.505c0-3.626 2.957-6.584 6.591-6.584a6.56 6.56 0 0 1 4.66 1.931 6.557 6.557 0 0 1 1.928 4.66c-.004 3.639-2.961 6.592-6.592 6.592zm3.615-4.934c-.197-.099-1.17-.578-1.353-.646-.182-.065-.315-.099-.445.099-.133.197-.513.646-.627.775-.114.133-.232.148-.43.05-.197-.1-.836-.308-1.592-.985-.59-.525-.985-1.175-1.103-1.372-.114-.198-.011-.304.088-.403.087-.088.197-.232.296-.346.1-.114.133-.198.198-.33.065-.134.034-.248-.015-.347-.05-.099-.445-1.076-.612-1.47-.16-.389-.323-.335-.445-.34-.114-.007-.247-.007-.38-.007a.729.729 0 0 0-.529.247c-.182.198-.691.677-.691 1.654 0 .977.71 1.916.81 2.049.098.133 1.394 2.132 3.383 2.992.47.205.84.326 1.129.418.475.152.904.129 1.246.08.38-.058 1.171-.48 1.338-.943.164-.464.164-.86.114-.943-.049-.084-.182-.133-.38-.232z\"}}]})(props);\n};\nexport function BsWifi1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.046 10.454c.226-.226.185-.605-.1-.75A6.473 6.473 0 0 0 8 9c-1.06 0-2.062.254-2.946.704-.285.145-.326.524-.1.75l.015.015c.16.16.407.19.611.09A5.478 5.478 0 0 1 8 10c.868 0 1.69.201 2.42.56.203.1.45.07.611-.091l.015-.015zM9.06 12.44c.196-.196.198-.52-.04-.66A1.99 1.99 0 0 0 8 11.5a1.99 1.99 0 0 0-1.02.28c-.238.14-.236.464-.04.66l.706.706a.5.5 0 0 0 .707 0l.708-.707z\"}}]})(props);\n};\nexport function BsWifi2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.229 8.271c.216-.216.194-.578-.063-.745A9.456 9.456 0 0 0 8 6c-1.905 0-3.68.56-5.166 1.526a.48.48 0 0 0-.063.745.525.525 0 0 0 .652.065A8.46 8.46 0 0 1 8 7a8.46 8.46 0 0 1 4.577 1.336c.205.132.48.108.652-.065zm-2.183 2.183c.226-.226.185-.605-.1-.75A6.473 6.473 0 0 0 8 9c-1.06 0-2.062.254-2.946.704-.285.145-.326.524-.1.75l.015.015c.16.16.408.19.611.09A5.478 5.478 0 0 1 8 10c.868 0 1.69.201 2.42.56.203.1.45.07.611-.091l.015-.015zM9.06 12.44c.196-.196.198-.52-.04-.66A1.99 1.99 0 0 0 8 11.5a1.99 1.99 0 0 0-1.02.28c-.238.14-.236.464-.04.66l.706.706a.5.5 0 0 0 .708 0l.707-.707z\"}}]})(props);\n};\nexport function BsWifiOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.706 3.294A12.545 12.545 0 0 0 8 3C5.259 3 2.723 3.882.663 5.379a.485.485 0 0 0-.048.736.518.518 0 0 0 .668.05A11.448 11.448 0 0 1 8 4c.63 0 1.249.05 1.852.148l.854-.854zM8 6c-1.905 0-3.68.56-5.166 1.526a.48.48 0 0 0-.063.745.525.525 0 0 0 .652.065 8.448 8.448 0 0 1 3.51-1.27L8 6zm2.596 1.404.785-.785c.63.24 1.227.545 1.785.907a.482.482 0 0 1 .063.745.525.525 0 0 1-.652.065 8.462 8.462 0 0 0-1.98-.932zM8 10l.933-.933a6.455 6.455 0 0 1 2.013.637c.285.145.326.524.1.75l-.015.015a.532.532 0 0 1-.611.09A5.478 5.478 0 0 0 8 10zm4.905-4.905.747-.747c.59.3 1.153.645 1.685 1.03a.485.485 0 0 1 .047.737.518.518 0 0 1-.668.05 11.493 11.493 0 0 0-1.811-1.07zM9.02 11.78c.238.14.236.464.04.66l-.707.706a.5.5 0 0 1-.707 0l-.707-.707c-.195-.195-.197-.518.04-.66A1.99 1.99 0 0 1 8 11.5c.374 0 .723.102 1.021.28zm4.355-9.905a.53.53 0 0 1 .75.75l-10.75 10.75a.53.53 0 0 1-.75-.75l10.75-10.75z\"}}]})(props);\n};\nexport function BsWifi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.384 6.115a.485.485 0 0 0-.047-.736A12.444 12.444 0 0 0 8 3C5.259 3 2.723 3.882.663 5.379a.485.485 0 0 0-.048.736.518.518 0 0 0 .668.05A11.448 11.448 0 0 1 8 4c2.507 0 4.827.802 6.716 2.164.205.148.49.13.668-.049z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.229 8.271a.482.482 0 0 0-.063-.745A9.455 9.455 0 0 0 8 6c-1.905 0-3.68.56-5.166 1.526a.48.48 0 0 0-.063.745.525.525 0 0 0 .652.065A8.46 8.46 0 0 1 8 7a8.46 8.46 0 0 1 4.576 1.336c.206.132.48.108.653-.065zm-2.183 2.183c.226-.226.185-.605-.1-.75A6.473 6.473 0 0 0 8 9c-1.06 0-2.062.254-2.946.704-.285.145-.326.524-.1.75l.015.015c.16.16.407.19.611.09A5.478 5.478 0 0 1 8 10c.868 0 1.69.201 2.42.56.203.1.45.07.61-.091l.016-.015zM9.06 12.44c.196-.196.198-.52-.04-.66A1.99 1.99 0 0 0 8 11.5a1.99 1.99 0 0 0-1.02.28c-.238.14-.236.464-.04.66l.706.706a.5.5 0 0 0 .707 0l.707-.707z\"}}]})(props);\n};\nexport function BsWind (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 2A2.5 2.5 0 0 0 10 4.5a.5.5 0 0 1-1 0A3.5 3.5 0 1 1 12.5 8H.5a.5.5 0 0 1 0-1h12a2.5 2.5 0 0 0 0-5zm-7 1a1 1 0 0 0-1 1 .5.5 0 0 1-1 0 2 2 0 1 1 2 2h-5a.5.5 0 0 1 0-1h5a1 1 0 0 0 0-2zM0 9.5A.5.5 0 0 1 .5 9h10.042a3 3 0 1 1-3 3 .5.5 0 0 1 1 0 2 2 0 1 0 2-2H.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsWindowDock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 5H1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V5zm0-1H1V3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v1zm1-1a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 11.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm4 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm4 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z\"}}]})(props);\n};\nexport function BsWindowSidebar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zm2-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm1 .5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H2zm12 1a1 1 0 0 1 1 1v2H1V3a1 1 0 0 1 1-1h12zM1 13V6h4v8H2a1 1 0 0 1-1-1zm5 1V6h9v7a1 1 0 0 1-1 1H6z\"}}]})(props);\n};\nexport function BsWindow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zm2-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm1 .5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H2zm13 2v2H1V3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1zM2 14a1 1 0 0 1-1-1V6h14v7a1 1 0 0 1-1 1H2z\"}}]})(props);\n};\nexport function BsWindows (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.555 1.375 0 2.237v5.45h6.555V1.375zM0 13.795l6.555.933V8.313H0v5.482zm7.278-5.4.026 6.378L16 16V8.395H7.278zM16 0 7.33 1.244v6.414H16V0z\"}}]})(props);\n};\nexport function BsWordpress (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.633 7.653c0-.848-.305-1.435-.566-1.892l-.08-.13c-.317-.51-.594-.958-.594-1.48 0-.63.478-1.218 1.152-1.218.02 0 .039.002.058.003l.031.003A6.838 6.838 0 0 0 8 1.137 6.855 6.855 0 0 0 2.266 4.23c.16.005.313.009.442.009.717 0 1.828-.087 1.828-.087.37-.022.414.521.044.565 0 0-.371.044-.785.065l2.5 7.434 1.5-4.506-1.07-2.929c-.369-.022-.719-.065-.719-.065-.37-.022-.326-.588.043-.566 0 0 1.134.087 1.808.087.718 0 1.83-.087 1.83-.087.37-.022.413.522.043.566 0 0-.372.043-.785.065l2.48 7.377.684-2.287.054-.173c.27-.86.469-1.495.469-2.046zM1.137 8a6.864 6.864 0 0 0 3.868 6.176L1.73 5.206A6.837 6.837 0 0 0 1.137 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.061 14.583 8.121 8.6l2.109 5.78c.014.033.03.064.049.094a6.854 6.854 0 0 1-4.218.109zm7.96-9.876c.03.219.047.453.047.706 0 .696-.13 1.479-.522 2.458l-2.096 6.06a6.86 6.86 0 0 0 2.572-9.224z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 8c0-4.411 3.589-8 8-8 4.41 0 8 3.589 8 8s-3.59 8-8 8c-4.411 0-8-3.589-8-8zm.367 0c0 4.209 3.424 7.633 7.633 7.633 4.208 0 7.632-3.424 7.632-7.633C15.632 3.79 12.208.367 8 .367 3.79.367.367 3.79.367 8z\"}}]})(props);\n};\nexport function BsWrench (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.102 2.223A3.004 3.004 0 0 0 3.78 5.897l6.341 6.252A3.003 3.003 0 0 0 13 16a3 3 0 1 0-.851-5.878L5.897 3.781A3.004 3.004 0 0 0 2.223.1l2.141 2.142L4 4l-1.757.364L.102 2.223zm13.37 9.019.528.026.287.445.445.287.026.529L15 13l-.242.471-.026.529-.445.287-.287.445-.529.026L13 15l-.471-.242-.529-.026-.287-.445-.445-.287-.026-.529L11 13l.242-.471.026-.529.445-.287.287-.445.529-.026L13 11l.471.242z\"}}]})(props);\n};\nexport function BsXCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z\"}}]})(props);\n};\nexport function BsXCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsXDiamondFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L4.047 3.339 8 7.293l3.954-3.954L9.049.435zm3.61 3.611L8.708 8l3.954 3.954 2.904-2.905c.58-.58.58-1.519 0-2.098l-2.904-2.905zm-.706 8.614L8 8.708l-3.954 3.954 2.905 2.904c.58.58 1.519.58 2.098 0l2.905-2.904zm-8.614-.706L7.292 8 3.339 4.046.435 6.951c-.58.58-.58 1.519 0 2.098l2.904 2.905z\"}}]})(props);\n};\nexport function BsXDiamond (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.987 16a1.526 1.526 0 0 1-1.07-.448L.45 9.082a1.531 1.531 0 0 1 0-2.165L6.917.45a1.531 1.531 0 0 1 2.166 0l6.469 6.468A1.526 1.526 0 0 1 16 8.013a1.526 1.526 0 0 1-.448 1.07l-6.47 6.469A1.526 1.526 0 0 1 7.988 16zM7.639 1.17 4.766 4.044 8 7.278l3.234-3.234L8.361 1.17a.51.51 0 0 0-.722 0zM8.722 8l3.234 3.234 2.873-2.873c.2-.2.2-.523 0-.722l-2.873-2.873L8.722 8zM8 8.722l-3.234 3.234 2.873 2.873c.2.2.523.2.722 0l2.873-2.873L8 8.722zM7.278 8 4.044 4.766 1.17 7.639a.511.511 0 0 0 0 .722l2.874 2.873L7.278 8z\"}}]})(props);\n};\nexport function BsXLg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.293 1.293a1 1 0 0 1 1.414 0L8 6.586l5.293-5.293a1 1 0 1 1 1.414 1.414L9.414 8l5.293 5.293a1 1 0 0 1-1.414 1.414L8 9.414l-5.293 5.293a1 1 0 0 1-1.414-1.414L6.586 8 1.293 2.707a1 1 0 0 1 0-1.414z\"}}]})(props);\n};\nexport function BsXOctagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.46.146A.5.5 0 0 0 11.107 0H4.893a.5.5 0 0 0-.353.146L.146 4.54A.5.5 0 0 0 0 4.893v6.214a.5.5 0 0 0 .146.353l4.394 4.394a.5.5 0 0 0 .353.146h6.214a.5.5 0 0 0 .353-.146l4.394-4.394a.5.5 0 0 0 .146-.353V4.893a.5.5 0 0 0-.146-.353L11.46.146zm-6.106 4.5L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsXOctagon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsXSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm3.354 4.646L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsXSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsYoutube (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.051 1.999h.089c.822.003 4.987.033 6.11.335a2.01 2.01 0 0 1 1.415 1.42c.101.38.172.883.22 1.402l.01.104.022.26.008.104c.065.914.073 1.77.074 1.957v.075c-.001.194-.01 1.108-.082 2.06l-.008.105-.009.104c-.05.572-.124 1.14-.235 1.558a2.007 2.007 0 0 1-1.415 1.42c-1.16.312-5.569.334-6.18.335h-.142c-.309 0-1.587-.006-2.927-.052l-.17-.006-.087-.004-.171-.007-.171-.007c-1.11-.049-2.167-.128-2.654-.26a2.007 2.007 0 0 1-1.415-1.419c-.111-.417-.185-.986-.235-1.558L.09 9.82l-.008-.104A31.4 31.4 0 0 1 0 7.68v-.123c.002-.215.01-.958.064-1.778l.007-.103.003-.052.008-.104.022-.26.01-.104c.048-.519.119-1.023.22-1.402a2.007 2.007 0 0 1 1.415-1.42c.487-.13 1.544-.21 2.654-.26l.17-.007.172-.006.086-.003.171-.007A99.788 99.788 0 0 1 7.858 2h.193zM6.4 5.209v4.818l4.157-2.408L6.4 5.209z\"}}]})(props);\n};\nexport function BsZoomIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.5 12a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11zM13 6.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.344 11.742c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1 6.538 6.538 0 0 1-1.398 1.4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.5 3a.5.5 0 0 1 .5.5V6h2.5a.5.5 0 0 1 0 1H7v2.5a.5.5 0 0 1-1 0V7H3.5a.5.5 0 0 1 0-1H6V3.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsZoomOut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.5 12a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11zM13 6.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.344 11.742c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1 6.538 6.538 0 0 1-1.398 1.4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 6.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\n","/*!\n* sweetalert2 v11.7.1\n* Released under the MIT License.\n*/\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Sweetalert2 = factory());\n})(this, (function () { 'use strict';\n\n /**\n * This module contains `WeakMap`s for each effectively-\"private property\" that a `Swal` has.\n * For example, to set the private property \"foo\" of `this` to \"bar\", you can `privateProps.foo.set(this, 'bar')`\n * This is the approach that Babel will probably take to implement private methods/fields\n * https://github.com/tc39/proposal-private-methods\n * https://github.com/babel/babel/pull/7555\n * Once we have the changes from that PR in Babel, and our core class fits reasonable in *one module*\n * then we can use that language feature.\n */\n\n var privateProps = {\n awaitingPromise: new WeakMap(),\n promise: new WeakMap(),\n innerParams: new WeakMap(),\n domCache: new WeakMap()\n };\n\n const swalPrefix = 'swal2-';\n\n /**\n * @param {string[]} items\n * @returns {object}\n */\n const prefix = items => {\n const result = {};\n for (const i in items) {\n result[items[i]] = swalPrefix + items[i];\n }\n return result;\n };\n const swalClasses = prefix(['container', 'shown', 'height-auto', 'iosfix', 'popup', 'modal', 'no-backdrop', 'no-transition', 'toast', 'toast-shown', 'show', 'hide', 'close', 'title', 'html-container', 'actions', 'confirm', 'deny', 'cancel', 'default-outline', 'footer', 'icon', 'icon-content', 'image', 'input', 'file', 'range', 'select', 'radio', 'checkbox', 'label', 'textarea', 'inputerror', 'input-label', 'validation-message', 'progress-steps', 'active-progress-step', 'progress-step', 'progress-step-line', 'loader', 'loading', 'styled', 'top', 'top-start', 'top-end', 'top-left', 'top-right', 'center', 'center-start', 'center-end', 'center-left', 'center-right', 'bottom', 'bottom-start', 'bottom-end', 'bottom-left', 'bottom-right', 'grow-row', 'grow-column', 'grow-fullscreen', 'rtl', 'timer-progress-bar', 'timer-progress-bar-container', 'scrollbar-measure', 'icon-success', 'icon-warning', 'icon-info', 'icon-question', 'icon-error']);\n const iconTypes = prefix(['success', 'warning', 'info', 'question', 'error']);\n\n const consolePrefix = 'SweetAlert2:';\n\n /**\n * Filter the unique values into a new array\n *\n * @param {Array} arr\n * @returns {Array}\n */\n const uniqueArray = arr => {\n const result = [];\n for (let i = 0; i < arr.length; i++) {\n if (result.indexOf(arr[i]) === -1) {\n result.push(arr[i]);\n }\n }\n return result;\n };\n\n /**\n * Capitalize the first letter of a string\n *\n * @param {string} str\n * @returns {string}\n */\n const capitalizeFirstLetter = str => str.charAt(0).toUpperCase() + str.slice(1);\n\n /**\n * Standardize console warnings\n *\n * @param {string | Array} message\n */\n const warn = message => {\n console.warn(`${consolePrefix} ${typeof message === 'object' ? message.join(' ') : message}`);\n };\n\n /**\n * Standardize console errors\n *\n * @param {string} message\n */\n const error = message => {\n console.error(`${consolePrefix} ${message}`);\n };\n\n /**\n * Private global state for `warnOnce`\n *\n * @type {Array}\n * @private\n */\n const previousWarnOnceMessages = [];\n\n /**\n * Show a console warning, but only if it hasn't already been shown\n *\n * @param {string} message\n */\n const warnOnce = message => {\n if (!previousWarnOnceMessages.includes(message)) {\n previousWarnOnceMessages.push(message);\n warn(message);\n }\n };\n\n /**\n * Show a one-time console warning about deprecated params/methods\n *\n * @param {string} deprecatedParam\n * @param {string} useInstead\n */\n const warnAboutDeprecation = (deprecatedParam, useInstead) => {\n warnOnce(`\"${deprecatedParam}\" is deprecated and will be removed in the next major release. Please use \"${useInstead}\" instead.`);\n };\n\n /**\n * If `arg` is a function, call it (with no arguments or context) and return the result.\n * Otherwise, just pass the value through\n *\n * @param {Function | any} arg\n * @returns {any}\n */\n const callIfFunction = arg => typeof arg === 'function' ? arg() : arg;\n\n /**\n * @param {any} arg\n * @returns {boolean}\n */\n const hasToPromiseFn = arg => arg && typeof arg.toPromise === 'function';\n\n /**\n * @param {any} arg\n * @returns {Promise}\n */\n const asPromise = arg => hasToPromiseFn(arg) ? arg.toPromise() : Promise.resolve(arg);\n\n /**\n * @param {any} arg\n * @returns {boolean}\n */\n const isPromise = arg => arg && Promise.resolve(arg) === arg;\n\n /**\n * Gets the popup container which contains the backdrop and the popup itself.\n *\n * @returns {HTMLElement | null}\n */\n const getContainer = () => document.body.querySelector(`.${swalClasses.container}`);\n\n /**\n * @param {string} selectorString\n * @returns {HTMLElement | null}\n */\n const elementBySelector = selectorString => {\n const container = getContainer();\n return container ? container.querySelector(selectorString) : null;\n };\n\n /**\n * @param {string} className\n * @returns {HTMLElement | null}\n */\n const elementByClass = className => {\n return elementBySelector(`.${className}`);\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n const getPopup = () => elementByClass(swalClasses.popup);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getIcon = () => elementByClass(swalClasses.icon);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getIconContent = () => elementByClass(swalClasses['icon-content']);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getTitle = () => elementByClass(swalClasses.title);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getHtmlContainer = () => elementByClass(swalClasses['html-container']);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getImage = () => elementByClass(swalClasses.image);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getProgressSteps = () => elementByClass(swalClasses['progress-steps']);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getValidationMessage = () => elementByClass(swalClasses['validation-message']);\n\n /**\n * @returns {HTMLButtonElement | null}\n */\n const getConfirmButton = () => /** @type {HTMLButtonElement} */elementBySelector(`.${swalClasses.actions} .${swalClasses.confirm}`);\n\n /**\n * @returns {HTMLButtonElement | null}\n */\n const getCancelButton = () => /** @type {HTMLButtonElement} */elementBySelector(`.${swalClasses.actions} .${swalClasses.cancel}`);\n\n /**\n * @returns {HTMLButtonElement | null}\n */\n const getDenyButton = () => /** @type {HTMLButtonElement} */elementBySelector(`.${swalClasses.actions} .${swalClasses.deny}`);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getInputLabel = () => elementByClass(swalClasses['input-label']);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getLoader = () => elementBySelector(`.${swalClasses.loader}`);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getActions = () => elementByClass(swalClasses.actions);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getFooter = () => elementByClass(swalClasses.footer);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getTimerProgressBar = () => elementByClass(swalClasses['timer-progress-bar']);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getCloseButton = () => elementByClass(swalClasses.close);\n\n // https://github.com/jkup/focusable/blob/master/index.js\n const focusable = `\n a[href],\n area[href],\n input:not([disabled]),\n select:not([disabled]),\n textarea:not([disabled]),\n button:not([disabled]),\n iframe,\n object,\n embed,\n [tabindex=\"0\"],\n [contenteditable],\n audio[controls],\n video[controls],\n summary\n`;\n /**\n * @returns {HTMLElement[]}\n */\n const getFocusableElements = () => {\n const focusableElementsWithTabindex = Array.from(getPopup().querySelectorAll('[tabindex]:not([tabindex=\"-1\"]):not([tabindex=\"0\"])'))\n // sort according to tabindex\n .sort((a, b) => {\n const tabindexA = parseInt(a.getAttribute('tabindex'));\n const tabindexB = parseInt(b.getAttribute('tabindex'));\n if (tabindexA > tabindexB) {\n return 1;\n } else if (tabindexA < tabindexB) {\n return -1;\n }\n return 0;\n });\n const otherFocusableElements = Array.from(getPopup().querySelectorAll(focusable)).filter(el => el.getAttribute('tabindex') !== '-1');\n return uniqueArray(focusableElementsWithTabindex.concat(otherFocusableElements)).filter(el => isVisible$1(el));\n };\n\n /**\n * @returns {boolean}\n */\n const isModal = () => {\n return hasClass(document.body, swalClasses.shown) && !hasClass(document.body, swalClasses['toast-shown']) && !hasClass(document.body, swalClasses['no-backdrop']);\n };\n\n /**\n * @returns {boolean}\n */\n const isToast = () => {\n return getPopup() && hasClass(getPopup(), swalClasses.toast);\n };\n\n /**\n * @returns {boolean}\n */\n const isLoading = () => {\n return getPopup().hasAttribute('data-loading');\n };\n\n // Remember state in cases where opening and handling a modal will fiddle with it.\n const states = {\n previousBodyPadding: null\n };\n\n /**\n * Securely set innerHTML of an element\n * https://github.com/sweetalert2/sweetalert2/issues/1926\n *\n * @param {HTMLElement} elem\n * @param {string} html\n */\n const setInnerHtml = (elem, html) => {\n elem.textContent = '';\n if (html) {\n const parser = new DOMParser();\n const parsed = parser.parseFromString(html, `text/html`);\n Array.from(parsed.querySelector('head').childNodes).forEach(child => {\n elem.appendChild(child);\n });\n Array.from(parsed.querySelector('body').childNodes).forEach(child => {\n if (child instanceof HTMLVideoElement || child instanceof HTMLAudioElement) {\n elem.appendChild(child.cloneNode(true)); // https://github.com/sweetalert2/sweetalert2/issues/2507\n } else {\n elem.appendChild(child);\n }\n });\n }\n };\n\n /**\n * @param {HTMLElement} elem\n * @param {string} className\n * @returns {boolean}\n */\n const hasClass = (elem, className) => {\n if (!className) {\n return false;\n }\n const classList = className.split(/\\s+/);\n for (let i = 0; i < classList.length; i++) {\n if (!elem.classList.contains(classList[i])) {\n return false;\n }\n }\n return true;\n };\n\n /**\n * @param {HTMLElement} elem\n * @param {SweetAlertOptions} params\n */\n const removeCustomClasses = (elem, params) => {\n Array.from(elem.classList).forEach(className => {\n if (!Object.values(swalClasses).includes(className) && !Object.values(iconTypes).includes(className) && !Object.values(params.showClass).includes(className)) {\n elem.classList.remove(className);\n }\n });\n };\n\n /**\n * @param {HTMLElement} elem\n * @param {SweetAlertOptions} params\n * @param {string} className\n */\n const applyCustomClass = (elem, params, className) => {\n removeCustomClasses(elem, params);\n if (params.customClass && params.customClass[className]) {\n if (typeof params.customClass[className] !== 'string' && !params.customClass[className].forEach) {\n warn(`Invalid type of customClass.${className}! Expected string or iterable object, got \"${typeof params.customClass[className]}\"`);\n return;\n }\n addClass(elem, params.customClass[className]);\n }\n };\n\n /**\n * @param {HTMLElement} popup\n * @param {import('./renderers/renderInput').InputClass} inputClass\n * @returns {HTMLInputElement | null}\n */\n const getInput$1 = (popup, inputClass) => {\n if (!inputClass) {\n return null;\n }\n switch (inputClass) {\n case 'select':\n case 'textarea':\n case 'file':\n return popup.querySelector(`.${swalClasses.popup} > .${swalClasses[inputClass]}`);\n case 'checkbox':\n return popup.querySelector(`.${swalClasses.popup} > .${swalClasses.checkbox} input`);\n case 'radio':\n return popup.querySelector(`.${swalClasses.popup} > .${swalClasses.radio} input:checked`) || popup.querySelector(`.${swalClasses.popup} > .${swalClasses.radio} input:first-child`);\n case 'range':\n return popup.querySelector(`.${swalClasses.popup} > .${swalClasses.range} input`);\n default:\n return popup.querySelector(`.${swalClasses.popup} > .${swalClasses.input}`);\n }\n };\n\n /**\n * @param {HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement} input\n */\n const focusInput = input => {\n input.focus();\n\n // place cursor at end of text in text input\n if (input.type !== 'file') {\n // http://stackoverflow.com/a/2345915\n const val = input.value;\n input.value = '';\n input.value = val;\n }\n };\n\n /**\n * @param {HTMLElement | HTMLElement[] | null} target\n * @param {string | string[] | readonly string[]} classList\n * @param {boolean} condition\n */\n const toggleClass = (target, classList, condition) => {\n if (!target || !classList) {\n return;\n }\n if (typeof classList === 'string') {\n classList = classList.split(/\\s+/).filter(Boolean);\n }\n classList.forEach(className => {\n if (Array.isArray(target)) {\n target.forEach(elem => {\n condition ? elem.classList.add(className) : elem.classList.remove(className);\n });\n } else {\n condition ? target.classList.add(className) : target.classList.remove(className);\n }\n });\n };\n\n /**\n * @param {HTMLElement | HTMLElement[] | null} target\n * @param {string | string[] | readonly string[]} classList\n */\n const addClass = (target, classList) => {\n toggleClass(target, classList, true);\n };\n\n /**\n * @param {HTMLElement | HTMLElement[] | null} target\n * @param {string | string[] | readonly string[]} classList\n */\n const removeClass = (target, classList) => {\n toggleClass(target, classList, false);\n };\n\n /**\n * Get direct child of an element by class name\n *\n * @param {HTMLElement} elem\n * @param {string} className\n * @returns {HTMLElement | undefined}\n */\n const getDirectChildByClass = (elem, className) => {\n const children = Array.from(elem.children);\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (child instanceof HTMLElement && hasClass(child, className)) {\n return child;\n }\n }\n };\n\n /**\n * @param {HTMLElement} elem\n * @param {string} property\n * @param {*} value\n */\n const applyNumericalStyle = (elem, property, value) => {\n if (value === `${parseInt(value)}`) {\n value = parseInt(value);\n }\n if (value || parseInt(value) === 0) {\n elem.style[property] = typeof value === 'number' ? `${value}px` : value;\n } else {\n elem.style.removeProperty(property);\n }\n };\n\n /**\n * @param {HTMLElement} elem\n * @param {string} display\n */\n const show = function (elem) {\n let display = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'flex';\n elem.style.display = display;\n };\n\n /**\n * @param {HTMLElement} elem\n */\n const hide = elem => {\n elem.style.display = 'none';\n };\n\n /**\n * @param {HTMLElement} parent\n * @param {string} selector\n * @param {string} property\n * @param {string} value\n */\n const setStyle = (parent, selector, property, value) => {\n /** @type {HTMLElement} */\n const el = parent.querySelector(selector);\n if (el) {\n el.style[property] = value;\n }\n };\n\n /**\n * @param {HTMLElement} elem\n * @param {any} condition\n * @param {string} display\n */\n const toggle = function (elem, condition) {\n let display = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'flex';\n condition ? show(elem, display) : hide(elem);\n };\n\n /**\n * borrowed from jquery $(elem).is(':visible') implementation\n *\n * @param {HTMLElement} elem\n * @returns {boolean}\n */\n const isVisible$1 = elem => !!(elem && (elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length));\n\n /**\n * @returns {boolean}\n */\n const allButtonsAreHidden = () => !isVisible$1(getConfirmButton()) && !isVisible$1(getDenyButton()) && !isVisible$1(getCancelButton());\n\n /**\n * @param {HTMLElement} elem\n * @returns {boolean}\n */\n const isScrollable = elem => !!(elem.scrollHeight > elem.clientHeight);\n\n /**\n * borrowed from https://stackoverflow.com/a/46352119\n *\n * @param {HTMLElement} elem\n * @returns {boolean}\n */\n const hasCssAnimation = elem => {\n const style = window.getComputedStyle(elem);\n const animDuration = parseFloat(style.getPropertyValue('animation-duration') || '0');\n const transDuration = parseFloat(style.getPropertyValue('transition-duration') || '0');\n return animDuration > 0 || transDuration > 0;\n };\n\n /**\n * @param {number} timer\n * @param {boolean} reset\n */\n const animateTimerProgressBar = function (timer) {\n let reset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n const timerProgressBar = getTimerProgressBar();\n if (isVisible$1(timerProgressBar)) {\n if (reset) {\n timerProgressBar.style.transition = 'none';\n timerProgressBar.style.width = '100%';\n }\n setTimeout(() => {\n timerProgressBar.style.transition = `width ${timer / 1000}s linear`;\n timerProgressBar.style.width = '0%';\n }, 10);\n }\n };\n const stopTimerProgressBar = () => {\n const timerProgressBar = getTimerProgressBar();\n const timerProgressBarWidth = parseInt(window.getComputedStyle(timerProgressBar).width);\n timerProgressBar.style.removeProperty('transition');\n timerProgressBar.style.width = '100%';\n const timerProgressBarFullWidth = parseInt(window.getComputedStyle(timerProgressBar).width);\n const timerProgressBarPercent = timerProgressBarWidth / timerProgressBarFullWidth * 100;\n timerProgressBar.style.width = `${timerProgressBarPercent}%`;\n };\n\n const RESTORE_FOCUS_TIMEOUT = 100;\n\n /** @type {GlobalState} */\n const globalState = {};\n const focusPreviousActiveElement = () => {\n if (globalState.previousActiveElement instanceof HTMLElement) {\n globalState.previousActiveElement.focus();\n globalState.previousActiveElement = null;\n } else if (document.body) {\n document.body.focus();\n }\n };\n\n /**\n * Restore previous active (focused) element\n *\n * @param {boolean} returnFocus\n * @returns {Promise}\n */\n const restoreActiveElement = returnFocus => {\n return new Promise(resolve => {\n if (!returnFocus) {\n return resolve();\n }\n const x = window.scrollX;\n const y = window.scrollY;\n globalState.restoreFocusTimeout = setTimeout(() => {\n focusPreviousActiveElement();\n resolve();\n }, RESTORE_FOCUS_TIMEOUT); // issues/900\n\n window.scrollTo(x, y);\n });\n };\n\n /**\n * Detect Node env\n *\n * @returns {boolean}\n */\n const isNodeEnv = () => typeof window === 'undefined' || typeof document === 'undefined';\n\n const sweetHTML = `\n
\n \n
    \n
    \n \n

    \n
    \n \n \n
    \n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n`.replace(/(^|\\n)\\s*/g, '');\n\n /**\n * @returns {boolean}\n */\n const resetOldContainer = () => {\n const oldContainer = getContainer();\n if (!oldContainer) {\n return false;\n }\n oldContainer.remove();\n removeClass([document.documentElement, document.body], [swalClasses['no-backdrop'], swalClasses['toast-shown'], swalClasses['has-column']]);\n return true;\n };\n const resetValidationMessage$1 = () => {\n globalState.currentInstance.resetValidationMessage();\n };\n const addInputChangeListeners = () => {\n const popup = getPopup();\n const input = getDirectChildByClass(popup, swalClasses.input);\n const file = getDirectChildByClass(popup, swalClasses.file);\n /** @type {HTMLInputElement} */\n const range = popup.querySelector(`.${swalClasses.range} input`);\n /** @type {HTMLOutputElement} */\n const rangeOutput = popup.querySelector(`.${swalClasses.range} output`);\n const select = getDirectChildByClass(popup, swalClasses.select);\n /** @type {HTMLInputElement} */\n const checkbox = popup.querySelector(`.${swalClasses.checkbox} input`);\n const textarea = getDirectChildByClass(popup, swalClasses.textarea);\n input.oninput = resetValidationMessage$1;\n file.onchange = resetValidationMessage$1;\n select.onchange = resetValidationMessage$1;\n checkbox.onchange = resetValidationMessage$1;\n textarea.oninput = resetValidationMessage$1;\n range.oninput = () => {\n resetValidationMessage$1();\n rangeOutput.value = range.value;\n };\n range.onchange = () => {\n resetValidationMessage$1();\n rangeOutput.value = range.value;\n };\n };\n\n /**\n * @param {string | HTMLElement} target\n * @returns {HTMLElement}\n */\n const getTarget = target => typeof target === 'string' ? document.querySelector(target) : target;\n\n /**\n * @param {SweetAlertOptions} params\n */\n const setupAccessibility = params => {\n const popup = getPopup();\n popup.setAttribute('role', params.toast ? 'alert' : 'dialog');\n popup.setAttribute('aria-live', params.toast ? 'polite' : 'assertive');\n if (!params.toast) {\n popup.setAttribute('aria-modal', 'true');\n }\n };\n\n /**\n * @param {HTMLElement} targetElement\n */\n const setupRTL = targetElement => {\n if (window.getComputedStyle(targetElement).direction === 'rtl') {\n addClass(getContainer(), swalClasses.rtl);\n }\n };\n\n /**\n * Add modal + backdrop + no-war message for Russians to DOM\n *\n * @param {SweetAlertOptions} params\n */\n const init = params => {\n // Clean up the old popup container if it exists\n const oldContainerExisted = resetOldContainer();\n\n /* istanbul ignore if */\n if (isNodeEnv()) {\n error('SweetAlert2 requires document to initialize');\n return;\n }\n const container = document.createElement('div');\n container.className = swalClasses.container;\n if (oldContainerExisted) {\n addClass(container, swalClasses['no-transition']);\n }\n setInnerHtml(container, sweetHTML);\n const targetElement = getTarget(params.target);\n targetElement.appendChild(container);\n setupAccessibility(params);\n setupRTL(targetElement);\n addInputChangeListeners();\n };\n\n /**\n * @param {HTMLElement | object | string} param\n * @param {HTMLElement} target\n */\n const parseHtmlToContainer = (param, target) => {\n // DOM element\n if (param instanceof HTMLElement) {\n target.appendChild(param);\n }\n\n // Object\n else if (typeof param === 'object') {\n handleObject(param, target);\n }\n\n // Plain string\n else if (param) {\n setInnerHtml(target, param);\n }\n };\n\n /**\n * @param {object} param\n * @param {HTMLElement} target\n */\n const handleObject = (param, target) => {\n // JQuery element(s)\n if (param.jquery) {\n handleJqueryElem(target, param);\n }\n\n // For other objects use their string representation\n else {\n setInnerHtml(target, param.toString());\n }\n };\n\n /**\n * @param {HTMLElement} target\n * @param {HTMLElement} elem\n */\n const handleJqueryElem = (target, elem) => {\n target.textContent = '';\n if (0 in elem) {\n for (let i = 0; (i in elem); i++) {\n target.appendChild(elem[i].cloneNode(true));\n }\n } else {\n target.appendChild(elem.cloneNode(true));\n }\n };\n\n /**\n * @returns {'webkitAnimationEnd' | 'animationend' | false}\n */\n const animationEndEvent = (() => {\n // Prevent run in Node env\n /* istanbul ignore if */\n if (isNodeEnv()) {\n return false;\n }\n const testEl = document.createElement('div');\n const transEndEventNames = {\n WebkitAnimation: 'webkitAnimationEnd',\n // Chrome, Safari and Opera\n animation: 'animationend' // Standard syntax\n };\n\n for (const i in transEndEventNames) {\n if (Object.prototype.hasOwnProperty.call(transEndEventNames, i) && typeof testEl.style[i] !== 'undefined') {\n return transEndEventNames[i];\n }\n }\n return false;\n })();\n\n /**\n * Measure scrollbar width for padding body during modal show/hide\n * https://github.com/twbs/bootstrap/blob/master/js/src/modal.js\n *\n * @returns {number}\n */\n const measureScrollbar = () => {\n const scrollDiv = document.createElement('div');\n scrollDiv.className = swalClasses['scrollbar-measure'];\n document.body.appendChild(scrollDiv);\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n };\n\n /**\n * @param {SweetAlert2} instance\n * @param {SweetAlertOptions} params\n */\n const renderActions = (instance, params) => {\n const actions = getActions();\n const loader = getLoader();\n\n // Actions (buttons) wrapper\n if (!params.showConfirmButton && !params.showDenyButton && !params.showCancelButton) {\n hide(actions);\n } else {\n show(actions);\n }\n\n // Custom class\n applyCustomClass(actions, params, 'actions');\n\n // Render all the buttons\n renderButtons(actions, loader, params);\n\n // Loader\n setInnerHtml(loader, params.loaderHtml);\n applyCustomClass(loader, params, 'loader');\n };\n\n /**\n * @param {HTMLElement} actions\n * @param {HTMLElement} loader\n * @param {SweetAlertOptions} params\n */\n function renderButtons(actions, loader, params) {\n const confirmButton = getConfirmButton();\n const denyButton = getDenyButton();\n const cancelButton = getCancelButton();\n\n // Render buttons\n renderButton(confirmButton, 'confirm', params);\n renderButton(denyButton, 'deny', params);\n renderButton(cancelButton, 'cancel', params);\n handleButtonsStyling(confirmButton, denyButton, cancelButton, params);\n if (params.reverseButtons) {\n if (params.toast) {\n actions.insertBefore(cancelButton, confirmButton);\n actions.insertBefore(denyButton, confirmButton);\n } else {\n actions.insertBefore(cancelButton, loader);\n actions.insertBefore(denyButton, loader);\n actions.insertBefore(confirmButton, loader);\n }\n }\n }\n\n /**\n * @param {HTMLElement} confirmButton\n * @param {HTMLElement} denyButton\n * @param {HTMLElement} cancelButton\n * @param {SweetAlertOptions} params\n */\n function handleButtonsStyling(confirmButton, denyButton, cancelButton, params) {\n if (!params.buttonsStyling) {\n removeClass([confirmButton, denyButton, cancelButton], swalClasses.styled);\n return;\n }\n addClass([confirmButton, denyButton, cancelButton], swalClasses.styled);\n\n // Buttons background colors\n if (params.confirmButtonColor) {\n confirmButton.style.backgroundColor = params.confirmButtonColor;\n addClass(confirmButton, swalClasses['default-outline']);\n }\n if (params.denyButtonColor) {\n denyButton.style.backgroundColor = params.denyButtonColor;\n addClass(denyButton, swalClasses['default-outline']);\n }\n if (params.cancelButtonColor) {\n cancelButton.style.backgroundColor = params.cancelButtonColor;\n addClass(cancelButton, swalClasses['default-outline']);\n }\n }\n\n /**\n * @param {HTMLElement} button\n * @param {'confirm' | 'deny' | 'cancel'} buttonType\n * @param {SweetAlertOptions} params\n */\n function renderButton(button, buttonType, params) {\n toggle(button, params[`show${capitalizeFirstLetter(buttonType)}Button`], 'inline-block');\n setInnerHtml(button, params[`${buttonType}ButtonText`]); // Set caption text\n button.setAttribute('aria-label', params[`${buttonType}ButtonAriaLabel`]); // ARIA label\n\n // Add buttons custom classes\n button.className = swalClasses[buttonType];\n applyCustomClass(button, params, `${buttonType}Button`);\n addClass(button, params[`${buttonType}ButtonClass`]);\n }\n\n /**\n * @param {SweetAlert2} instance\n * @param {SweetAlertOptions} params\n */\n const renderCloseButton = (instance, params) => {\n const closeButton = getCloseButton();\n setInnerHtml(closeButton, params.closeButtonHtml);\n\n // Custom class\n applyCustomClass(closeButton, params, 'closeButton');\n toggle(closeButton, params.showCloseButton);\n closeButton.setAttribute('aria-label', params.closeButtonAriaLabel);\n };\n\n /**\n * @param {SweetAlert2} instance\n * @param {SweetAlertOptions} params\n */\n const renderContainer = (instance, params) => {\n const container = getContainer();\n if (!container) {\n return;\n }\n handleBackdropParam(container, params.backdrop);\n handlePositionParam(container, params.position);\n handleGrowParam(container, params.grow);\n\n // Custom class\n applyCustomClass(container, params, 'container');\n };\n\n /**\n * @param {HTMLElement} container\n * @param {SweetAlertOptions['backdrop']} backdrop\n */\n function handleBackdropParam(container, backdrop) {\n if (typeof backdrop === 'string') {\n container.style.background = backdrop;\n } else if (!backdrop) {\n addClass([document.documentElement, document.body], swalClasses['no-backdrop']);\n }\n }\n\n /**\n * @param {HTMLElement} container\n * @param {SweetAlertOptions['position']} position\n */\n function handlePositionParam(container, position) {\n if (position in swalClasses) {\n addClass(container, swalClasses[position]);\n } else {\n warn('The \"position\" parameter is not valid, defaulting to \"center\"');\n addClass(container, swalClasses.center);\n }\n }\n\n /**\n * @param {HTMLElement} container\n * @param {SweetAlertOptions['grow']} grow\n */\n function handleGrowParam(container, grow) {\n if (grow && typeof grow === 'string') {\n const growClass = `grow-${grow}`;\n if (growClass in swalClasses) {\n addClass(container, swalClasses[growClass]);\n }\n }\n }\n\n /// \n\n /** @type {InputClass[]} */\n const inputClasses = ['input', 'file', 'range', 'select', 'radio', 'checkbox', 'textarea'];\n\n /**\n * @param {SweetAlert2} instance\n * @param {SweetAlertOptions} params\n */\n const renderInput = (instance, params) => {\n const popup = getPopup();\n const innerParams = privateProps.innerParams.get(instance);\n const rerender = !innerParams || params.input !== innerParams.input;\n inputClasses.forEach(inputClass => {\n const inputContainer = getDirectChildByClass(popup, swalClasses[inputClass]);\n\n // set attributes\n setAttributes(inputClass, params.inputAttributes);\n\n // set class\n inputContainer.className = swalClasses[inputClass];\n if (rerender) {\n hide(inputContainer);\n }\n });\n if (params.input) {\n if (rerender) {\n showInput(params);\n }\n // set custom class\n setCustomClass(params);\n }\n };\n\n /**\n * @param {SweetAlertOptions} params\n */\n const showInput = params => {\n if (!renderInputType[params.input]) {\n error(`Unexpected type of input! Expected \"text\", \"email\", \"password\", \"number\", \"tel\", \"select\", \"radio\", \"checkbox\", \"textarea\", \"file\" or \"url\", got \"${params.input}\"`);\n return;\n }\n const inputContainer = getInputContainer(params.input);\n const input = renderInputType[params.input](inputContainer, params);\n show(inputContainer);\n\n // input autofocus\n if (params.inputAutoFocus) {\n setTimeout(() => {\n focusInput(input);\n });\n }\n };\n\n /**\n * @param {HTMLInputElement} input\n */\n const removeAttributes = input => {\n for (let i = 0; i < input.attributes.length; i++) {\n const attrName = input.attributes[i].name;\n if (!['type', 'value', 'style'].includes(attrName)) {\n input.removeAttribute(attrName);\n }\n }\n };\n\n /**\n * @param {InputClass} inputClass\n * @param {SweetAlertOptions['inputAttributes']} inputAttributes\n */\n const setAttributes = (inputClass, inputAttributes) => {\n const input = getInput$1(getPopup(), inputClass);\n if (!input) {\n return;\n }\n removeAttributes(input);\n for (const attr in inputAttributes) {\n input.setAttribute(attr, inputAttributes[attr]);\n }\n };\n\n /**\n * @param {SweetAlertOptions} params\n */\n const setCustomClass = params => {\n const inputContainer = getInputContainer(params.input);\n if (typeof params.customClass === 'object') {\n addClass(inputContainer, params.customClass.input);\n }\n };\n\n /**\n * @param {HTMLInputElement | HTMLTextAreaElement} input\n * @param {SweetAlertOptions} params\n */\n const setInputPlaceholder = (input, params) => {\n if (!input.placeholder || params.inputPlaceholder) {\n input.placeholder = params.inputPlaceholder;\n }\n };\n\n /**\n * @param {Input} input\n * @param {Input} prependTo\n * @param {SweetAlertOptions} params\n */\n const setInputLabel = (input, prependTo, params) => {\n if (params.inputLabel) {\n input.id = swalClasses.input;\n const label = document.createElement('label');\n const labelClass = swalClasses['input-label'];\n label.setAttribute('for', input.id);\n label.className = labelClass;\n if (typeof params.customClass === 'object') {\n addClass(label, params.customClass.inputLabel);\n }\n label.innerText = params.inputLabel;\n prependTo.insertAdjacentElement('beforebegin', label);\n }\n };\n\n /**\n * @param {SweetAlertOptions['input']} inputType\n * @returns {HTMLElement}\n */\n const getInputContainer = inputType => {\n return getDirectChildByClass(getPopup(), swalClasses[inputType] || swalClasses.input);\n };\n\n /**\n * @param {HTMLInputElement | HTMLOutputElement | HTMLTextAreaElement} input\n * @param {SweetAlertOptions['inputValue']} inputValue\n */\n const checkAndSetInputValue = (input, inputValue) => {\n if (['string', 'number'].includes(typeof inputValue)) {\n input.value = `${inputValue}`;\n } else if (!isPromise(inputValue)) {\n warn(`Unexpected type of inputValue! Expected \"string\", \"number\" or \"Promise\", got \"${typeof inputValue}\"`);\n }\n };\n\n /** @type {Record Input>} */\n const renderInputType = {};\n\n /**\n * @param {HTMLInputElement} input\n * @param {SweetAlertOptions} params\n * @returns {HTMLInputElement}\n */\n renderInputType.text = renderInputType.email = renderInputType.password = renderInputType.number = renderInputType.tel = renderInputType.url = (input, params) => {\n checkAndSetInputValue(input, params.inputValue);\n setInputLabel(input, input, params);\n setInputPlaceholder(input, params);\n input.type = params.input;\n return input;\n };\n\n /**\n * @param {HTMLInputElement} input\n * @param {SweetAlertOptions} params\n * @returns {HTMLInputElement}\n */\n renderInputType.file = (input, params) => {\n setInputLabel(input, input, params);\n setInputPlaceholder(input, params);\n return input;\n };\n\n /**\n * @param {HTMLInputElement} range\n * @param {SweetAlertOptions} params\n * @returns {HTMLInputElement}\n */\n renderInputType.range = (range, params) => {\n const rangeInput = range.querySelector('input');\n const rangeOutput = range.querySelector('output');\n checkAndSetInputValue(rangeInput, params.inputValue);\n rangeInput.type = params.input;\n checkAndSetInputValue(rangeOutput, params.inputValue);\n setInputLabel(rangeInput, range, params);\n return range;\n };\n\n /**\n * @param {HTMLSelectElement} select\n * @param {SweetAlertOptions} params\n * @returns {HTMLSelectElement}\n */\n renderInputType.select = (select, params) => {\n select.textContent = '';\n if (params.inputPlaceholder) {\n const placeholder = document.createElement('option');\n setInnerHtml(placeholder, params.inputPlaceholder);\n placeholder.value = '';\n placeholder.disabled = true;\n placeholder.selected = true;\n select.appendChild(placeholder);\n }\n setInputLabel(select, select, params);\n return select;\n };\n\n /**\n * @param {HTMLInputElement} radio\n * @returns {HTMLInputElement}\n */\n renderInputType.radio = radio => {\n radio.textContent = '';\n return radio;\n };\n\n /**\n * @param {HTMLLabelElement} checkboxContainer\n * @param {SweetAlertOptions} params\n * @returns {HTMLInputElement}\n */\n renderInputType.checkbox = (checkboxContainer, params) => {\n const checkbox = getInput$1(getPopup(), 'checkbox');\n checkbox.value = '1';\n checkbox.id = swalClasses.checkbox;\n checkbox.checked = Boolean(params.inputValue);\n const label = checkboxContainer.querySelector('span');\n setInnerHtml(label, params.inputPlaceholder);\n return checkbox;\n };\n\n /**\n * @param {HTMLTextAreaElement} textarea\n * @param {SweetAlertOptions} params\n * @returns {HTMLTextAreaElement}\n */\n renderInputType.textarea = (textarea, params) => {\n checkAndSetInputValue(textarea, params.inputValue);\n setInputPlaceholder(textarea, params);\n setInputLabel(textarea, textarea, params);\n\n /**\n * @param {HTMLElement} el\n * @returns {number}\n */\n const getMargin = el => parseInt(window.getComputedStyle(el).marginLeft) + parseInt(window.getComputedStyle(el).marginRight);\n\n // https://github.com/sweetalert2/sweetalert2/issues/2291\n setTimeout(() => {\n // https://github.com/sweetalert2/sweetalert2/issues/1699\n if ('MutationObserver' in window) {\n const initialPopupWidth = parseInt(window.getComputedStyle(getPopup()).width);\n const textareaResizeHandler = () => {\n const textareaWidth = textarea.offsetWidth + getMargin(textarea);\n if (textareaWidth > initialPopupWidth) {\n getPopup().style.width = `${textareaWidth}px`;\n } else {\n getPopup().style.width = null;\n }\n };\n new MutationObserver(textareaResizeHandler).observe(textarea, {\n attributes: true,\n attributeFilter: ['style']\n });\n }\n });\n return textarea;\n };\n\n /**\n * @param {SweetAlert2} instance\n * @param {SweetAlertOptions} params\n */\n const renderContent = (instance, params) => {\n const htmlContainer = getHtmlContainer();\n applyCustomClass(htmlContainer, params, 'htmlContainer');\n\n // Content as HTML\n if (params.html) {\n parseHtmlToContainer(params.html, htmlContainer);\n show(htmlContainer, 'block');\n }\n\n // Content as plain text\n else if (params.text) {\n htmlContainer.textContent = params.text;\n show(htmlContainer, 'block');\n }\n\n // No content\n else {\n hide(htmlContainer);\n }\n renderInput(instance, params);\n };\n\n /**\n * @param {SweetAlert2} instance\n * @param {SweetAlertOptions} params\n */\n const renderFooter = (instance, params) => {\n const footer = getFooter();\n toggle(footer, params.footer);\n if (params.footer) {\n parseHtmlToContainer(params.footer, footer);\n }\n\n // Custom class\n applyCustomClass(footer, params, 'footer');\n };\n\n /**\n * @param {SweetAlert2} instance\n * @param {SweetAlertOptions} params\n */\n const renderIcon = (instance, params) => {\n const innerParams = privateProps.innerParams.get(instance);\n const icon = getIcon();\n\n // if the given icon already rendered, apply the styling without re-rendering the icon\n if (innerParams && params.icon === innerParams.icon) {\n // Custom or default content\n setContent(icon, params);\n applyStyles(icon, params);\n return;\n }\n if (!params.icon && !params.iconHtml) {\n hide(icon);\n return;\n }\n if (params.icon && Object.keys(iconTypes).indexOf(params.icon) === -1) {\n error(`Unknown icon! Expected \"success\", \"error\", \"warning\", \"info\" or \"question\", got \"${params.icon}\"`);\n hide(icon);\n return;\n }\n show(icon);\n\n // Custom or default content\n setContent(icon, params);\n applyStyles(icon, params);\n\n // Animate icon\n addClass(icon, params.showClass.icon);\n };\n\n /**\n * @param {HTMLElement} icon\n * @param {SweetAlertOptions} params\n */\n const applyStyles = (icon, params) => {\n for (const iconType in iconTypes) {\n if (params.icon !== iconType) {\n removeClass(icon, iconTypes[iconType]);\n }\n }\n addClass(icon, iconTypes[params.icon]);\n\n // Icon color\n setColor(icon, params);\n\n // Success icon background color\n adjustSuccessIconBackgroundColor();\n\n // Custom class\n applyCustomClass(icon, params, 'icon');\n };\n\n // Adjust success icon background color to match the popup background color\n const adjustSuccessIconBackgroundColor = () => {\n const popup = getPopup();\n const popupBackgroundColor = window.getComputedStyle(popup).getPropertyValue('background-color');\n /** @type {NodeListOf} */\n const successIconParts = popup.querySelectorAll('[class^=swal2-success-circular-line], .swal2-success-fix');\n for (let i = 0; i < successIconParts.length; i++) {\n successIconParts[i].style.backgroundColor = popupBackgroundColor;\n }\n };\n const successIconHtml = `\n
    \n \n
    \n
    \n`;\n const errorIconHtml = `\n \n \n \n \n`;\n\n /**\n * @param {HTMLElement} icon\n * @param {SweetAlertOptions} params\n */\n const setContent = (icon, params) => {\n let oldContent = icon.innerHTML;\n let newContent;\n if (params.iconHtml) {\n newContent = iconContent(params.iconHtml);\n } else if (params.icon === 'success') {\n newContent = successIconHtml;\n oldContent = oldContent.replace(/ style=\".*?\"/g, ''); // undo adjustSuccessIconBackgroundColor()\n } else if (params.icon === 'error') {\n newContent = errorIconHtml;\n } else {\n const defaultIconHtml = {\n question: '?',\n warning: '!',\n info: 'i'\n };\n newContent = iconContent(defaultIconHtml[params.icon]);\n }\n if (oldContent.trim() !== newContent.trim()) {\n setInnerHtml(icon, newContent);\n }\n };\n\n /**\n * @param {HTMLElement} icon\n * @param {SweetAlertOptions} params\n */\n const setColor = (icon, params) => {\n if (!params.iconColor) {\n return;\n }\n icon.style.color = params.iconColor;\n icon.style.borderColor = params.iconColor;\n for (const sel of ['.swal2-success-line-tip', '.swal2-success-line-long', '.swal2-x-mark-line-left', '.swal2-x-mark-line-right']) {\n setStyle(icon, sel, 'backgroundColor', params.iconColor);\n }\n setStyle(icon, '.swal2-success-ring', 'borderColor', params.iconColor);\n };\n\n /**\n * @param {string} content\n * @returns {string}\n */\n const iconContent = content => `
    ${content}
    `;\n\n /**\n * @param {SweetAlert2} instance\n * @param {SweetAlertOptions} params\n */\n const renderImage = (instance, params) => {\n const image = getImage();\n if (!params.imageUrl) {\n hide(image);\n return;\n }\n show(image, '');\n\n // Src, alt\n image.setAttribute('src', params.imageUrl);\n image.setAttribute('alt', params.imageAlt);\n\n // Width, height\n applyNumericalStyle(image, 'width', params.imageWidth);\n applyNumericalStyle(image, 'height', params.imageHeight);\n\n // Class\n image.className = swalClasses.image;\n applyCustomClass(image, params, 'image');\n };\n\n /**\n * @param {SweetAlert2} instance\n * @param {SweetAlertOptions} params\n */\n const renderPopup = (instance, params) => {\n const container = getContainer();\n const popup = getPopup();\n\n // Width\n // https://github.com/sweetalert2/sweetalert2/issues/2170\n if (params.toast) {\n applyNumericalStyle(container, 'width', params.width);\n popup.style.width = '100%';\n popup.insertBefore(getLoader(), getIcon());\n } else {\n applyNumericalStyle(popup, 'width', params.width);\n }\n\n // Padding\n applyNumericalStyle(popup, 'padding', params.padding);\n\n // Color\n if (params.color) {\n popup.style.color = params.color;\n }\n\n // Background\n if (params.background) {\n popup.style.background = params.background;\n }\n hide(getValidationMessage());\n\n // Classes\n addClasses$1(popup, params);\n };\n\n /**\n * @param {HTMLElement} popup\n * @param {SweetAlertOptions} params\n */\n const addClasses$1 = (popup, params) => {\n // Default Class + showClass when updating Swal.update({})\n popup.className = `${swalClasses.popup} ${isVisible$1(popup) ? params.showClass.popup : ''}`;\n if (params.toast) {\n addClass([document.documentElement, document.body], swalClasses['toast-shown']);\n addClass(popup, swalClasses.toast);\n } else {\n addClass(popup, swalClasses.modal);\n }\n\n // Custom class\n applyCustomClass(popup, params, 'popup');\n if (typeof params.customClass === 'string') {\n addClass(popup, params.customClass);\n }\n\n // Icon class (#1842)\n if (params.icon) {\n addClass(popup, swalClasses[`icon-${params.icon}`]);\n }\n };\n\n /**\n * @param {SweetAlert2} instance\n * @param {SweetAlertOptions} params\n */\n const renderProgressSteps = (instance, params) => {\n const progressStepsContainer = getProgressSteps();\n if (!params.progressSteps || params.progressSteps.length === 0) {\n hide(progressStepsContainer);\n return;\n }\n show(progressStepsContainer);\n progressStepsContainer.textContent = '';\n if (params.currentProgressStep >= params.progressSteps.length) {\n warn('Invalid currentProgressStep parameter, it should be less than progressSteps.length ' + '(currentProgressStep like JS arrays starts from 0)');\n }\n params.progressSteps.forEach((step, index) => {\n const stepEl = createStepElement(step);\n progressStepsContainer.appendChild(stepEl);\n if (index === params.currentProgressStep) {\n addClass(stepEl, swalClasses['active-progress-step']);\n }\n if (index !== params.progressSteps.length - 1) {\n const lineEl = createLineElement(params);\n progressStepsContainer.appendChild(lineEl);\n }\n });\n };\n\n /**\n * @param {string} step\n * @returns {HTMLLIElement}\n */\n const createStepElement = step => {\n const stepEl = document.createElement('li');\n addClass(stepEl, swalClasses['progress-step']);\n setInnerHtml(stepEl, step);\n return stepEl;\n };\n\n /**\n * @param {SweetAlertOptions} params\n * @returns {HTMLLIElement}\n */\n const createLineElement = params => {\n const lineEl = document.createElement('li');\n addClass(lineEl, swalClasses['progress-step-line']);\n if (params.progressStepsDistance) {\n applyNumericalStyle(lineEl, 'width', params.progressStepsDistance);\n }\n return lineEl;\n };\n\n /**\n * @param {SweetAlert2} instance\n * @param {SweetAlertOptions} params\n */\n const renderTitle = (instance, params) => {\n const title = getTitle();\n toggle(title, params.title || params.titleText, 'block');\n if (params.title) {\n parseHtmlToContainer(params.title, title);\n }\n if (params.titleText) {\n title.innerText = params.titleText;\n }\n\n // Custom class\n applyCustomClass(title, params, 'title');\n };\n\n /**\n * @param {SweetAlert2} instance\n * @param {SweetAlertOptions} params\n */\n const render = (instance, params) => {\n renderPopup(instance, params);\n renderContainer(instance, params);\n renderProgressSteps(instance, params);\n renderIcon(instance, params);\n renderImage(instance, params);\n renderTitle(instance, params);\n renderCloseButton(instance, params);\n renderContent(instance, params);\n renderActions(instance, params);\n renderFooter(instance, params);\n if (typeof params.didRender === 'function') {\n params.didRender(getPopup());\n }\n };\n\n /**\n * Hides loader and shows back the button which was hidden by .showLoading()\n */\n function hideLoading() {\n // do nothing if popup is closed\n const innerParams = privateProps.innerParams.get(this);\n if (!innerParams) {\n return;\n }\n const domCache = privateProps.domCache.get(this);\n hide(domCache.loader);\n if (isToast()) {\n if (innerParams.icon) {\n show(getIcon());\n }\n } else {\n showRelatedButton(domCache);\n }\n removeClass([domCache.popup, domCache.actions], swalClasses.loading);\n domCache.popup.removeAttribute('aria-busy');\n domCache.popup.removeAttribute('data-loading');\n domCache.confirmButton.disabled = false;\n domCache.denyButton.disabled = false;\n domCache.cancelButton.disabled = false;\n }\n const showRelatedButton = domCache => {\n const buttonToReplace = domCache.popup.getElementsByClassName(domCache.loader.getAttribute('data-button-to-replace'));\n if (buttonToReplace.length) {\n show(buttonToReplace[0], 'inline-block');\n } else if (allButtonsAreHidden()) {\n hide(domCache.actions);\n }\n };\n\n /**\n * Gets the input DOM node, this method works with input parameter.\n *\n * @param {SweetAlert2} instance\n * @returns {HTMLElement | null}\n */\n function getInput(instance) {\n const innerParams = privateProps.innerParams.get(instance || this);\n const domCache = privateProps.domCache.get(instance || this);\n if (!domCache) {\n return null;\n }\n return getInput$1(domCache.popup, innerParams.input);\n }\n\n /*\n * Global function to determine if SweetAlert2 popup is shown\n */\n const isVisible = () => {\n return isVisible$1(getPopup());\n };\n\n /*\n * Global function to click 'Confirm' button\n */\n const clickConfirm = () => getConfirmButton() && getConfirmButton().click();\n\n /*\n * Global function to click 'Deny' button\n */\n const clickDeny = () => getDenyButton() && getDenyButton().click();\n\n /*\n * Global function to click 'Cancel' button\n */\n const clickCancel = () => getCancelButton() && getCancelButton().click();\n\n const DismissReason = Object.freeze({\n cancel: 'cancel',\n backdrop: 'backdrop',\n close: 'close',\n esc: 'esc',\n timer: 'timer'\n });\n\n /**\n * @param {GlobalState} globalState\n */\n const removeKeydownHandler = globalState => {\n if (globalState.keydownTarget && globalState.keydownHandlerAdded) {\n globalState.keydownTarget.removeEventListener('keydown', globalState.keydownHandler, {\n capture: globalState.keydownListenerCapture\n });\n globalState.keydownHandlerAdded = false;\n }\n };\n\n /**\n * @param {SweetAlert2} instance\n * @param {GlobalState} globalState\n * @param {SweetAlertOptions} innerParams\n * @param {*} dismissWith\n */\n const addKeydownHandler = (instance, globalState, innerParams, dismissWith) => {\n removeKeydownHandler(globalState);\n if (!innerParams.toast) {\n globalState.keydownHandler = e => keydownHandler(instance, e, dismissWith);\n globalState.keydownTarget = innerParams.keydownListenerCapture ? window : getPopup();\n globalState.keydownListenerCapture = innerParams.keydownListenerCapture;\n globalState.keydownTarget.addEventListener('keydown', globalState.keydownHandler, {\n capture: globalState.keydownListenerCapture\n });\n globalState.keydownHandlerAdded = true;\n }\n };\n\n /**\n * @param {number} index\n * @param {number} increment\n */\n const setFocus = (index, increment) => {\n const focusableElements = getFocusableElements();\n // search for visible elements and select the next possible match\n if (focusableElements.length) {\n index = index + increment;\n\n // rollover to first item\n if (index === focusableElements.length) {\n index = 0;\n\n // go to last item\n } else if (index === -1) {\n index = focusableElements.length - 1;\n }\n focusableElements[index].focus();\n return;\n }\n // no visible focusable elements, focus the popup\n getPopup().focus();\n };\n const arrowKeysNextButton = ['ArrowRight', 'ArrowDown'];\n const arrowKeysPreviousButton = ['ArrowLeft', 'ArrowUp'];\n\n /**\n * @param {SweetAlert2} instance\n * @param {KeyboardEvent} event\n * @param {Function} dismissWith\n */\n const keydownHandler = (instance, event, dismissWith) => {\n const innerParams = privateProps.innerParams.get(instance);\n if (!innerParams) {\n return; // This instance has already been destroyed\n }\n\n // Ignore keydown during IME composition\n // https://developer.mozilla.org/en-US/docs/Web/API/Document/keydown_event#ignoring_keydown_during_ime_composition\n // https://github.com/sweetalert2/sweetalert2/issues/720\n // https://github.com/sweetalert2/sweetalert2/issues/2406\n if (event.isComposing || event.keyCode === 229) {\n return;\n }\n if (innerParams.stopKeydownPropagation) {\n event.stopPropagation();\n }\n\n // ENTER\n if (event.key === 'Enter') {\n handleEnter(instance, event, innerParams);\n }\n\n // TAB\n else if (event.key === 'Tab') {\n handleTab(event);\n }\n\n // ARROWS - switch focus between buttons\n else if ([...arrowKeysNextButton, ...arrowKeysPreviousButton].includes(event.key)) {\n handleArrows(event.key);\n }\n\n // ESC\n else if (event.key === 'Escape') {\n handleEsc(event, innerParams, dismissWith);\n }\n };\n\n /**\n * @param {SweetAlert2} instance\n * @param {KeyboardEvent} event\n * @param {SweetAlertOptions} innerParams\n */\n const handleEnter = (instance, event, innerParams) => {\n // https://github.com/sweetalert2/sweetalert2/issues/2386\n if (!callIfFunction(innerParams.allowEnterKey)) {\n return;\n }\n if (event.target && instance.getInput() && event.target instanceof HTMLElement && event.target.outerHTML === instance.getInput().outerHTML) {\n if (['textarea', 'file'].includes(innerParams.input)) {\n return; // do not submit\n }\n\n clickConfirm();\n event.preventDefault();\n }\n };\n\n /**\n * @param {KeyboardEvent} event\n */\n const handleTab = event => {\n const targetElement = event.target;\n const focusableElements = getFocusableElements();\n let btnIndex = -1;\n for (let i = 0; i < focusableElements.length; i++) {\n if (targetElement === focusableElements[i]) {\n btnIndex = i;\n break;\n }\n }\n\n // Cycle to the next button\n if (!event.shiftKey) {\n setFocus(btnIndex, 1);\n }\n\n // Cycle to the prev button\n else {\n setFocus(btnIndex, -1);\n }\n event.stopPropagation();\n event.preventDefault();\n };\n\n /**\n * @param {string} key\n */\n const handleArrows = key => {\n const confirmButton = getConfirmButton();\n const denyButton = getDenyButton();\n const cancelButton = getCancelButton();\n /** @type HTMLElement[] */\n const buttons = [confirmButton, denyButton, cancelButton];\n if (document.activeElement instanceof HTMLElement && !buttons.includes(document.activeElement)) {\n return;\n }\n const sibling = arrowKeysNextButton.includes(key) ? 'nextElementSibling' : 'previousElementSibling';\n let buttonToFocus = document.activeElement;\n for (let i = 0; i < getActions().children.length; i++) {\n buttonToFocus = buttonToFocus[sibling];\n if (!buttonToFocus) {\n return;\n }\n if (buttonToFocus instanceof HTMLButtonElement && isVisible$1(buttonToFocus)) {\n break;\n }\n }\n if (buttonToFocus instanceof HTMLButtonElement) {\n buttonToFocus.focus();\n }\n };\n\n /**\n * @param {KeyboardEvent} event\n * @param {SweetAlertOptions} innerParams\n * @param {Function} dismissWith\n */\n const handleEsc = (event, innerParams, dismissWith) => {\n if (callIfFunction(innerParams.allowEscapeKey)) {\n event.preventDefault();\n dismissWith(DismissReason.esc);\n }\n };\n\n /**\n * This module contains `WeakMap`s for each effectively-\"private property\" that a `Swal` has.\n * For example, to set the private property \"foo\" of `this` to \"bar\", you can `privateProps.foo.set(this, 'bar')`\n * This is the approach that Babel will probably take to implement private methods/fields\n * https://github.com/tc39/proposal-private-methods\n * https://github.com/babel/babel/pull/7555\n * Once we have the changes from that PR in Babel, and our core class fits reasonable in *one module*\n * then we can use that language feature.\n */\n\n var privateMethods = {\n swalPromiseResolve: new WeakMap(),\n swalPromiseReject: new WeakMap()\n };\n\n // From https://developer.paciellogroup.com/blog/2018/06/the-current-state-of-modal-dialog-accessibility/\n // Adding aria-hidden=\"true\" to elements outside of the active modal dialog ensures that\n // elements not within the active modal dialog will not be surfaced if a user opens a screen\n // reader’s list of elements (headings, form controls, landmarks, etc.) in the document.\n\n const setAriaHidden = () => {\n const bodyChildren = Array.from(document.body.children);\n bodyChildren.forEach(el => {\n if (el === getContainer() || el.contains(getContainer())) {\n return;\n }\n if (el.hasAttribute('aria-hidden')) {\n el.setAttribute('data-previous-aria-hidden', el.getAttribute('aria-hidden'));\n }\n el.setAttribute('aria-hidden', 'true');\n });\n };\n const unsetAriaHidden = () => {\n const bodyChildren = Array.from(document.body.children);\n bodyChildren.forEach(el => {\n if (el.hasAttribute('data-previous-aria-hidden')) {\n el.setAttribute('aria-hidden', el.getAttribute('data-previous-aria-hidden'));\n el.removeAttribute('data-previous-aria-hidden');\n } else {\n el.removeAttribute('aria-hidden');\n }\n });\n };\n\n /* istanbul ignore file */\n\n // Fix iOS scrolling http://stackoverflow.com/q/39626302\n\n const iOSfix = () => {\n const iOS =\n // @ts-ignore\n /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream || navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1;\n if (iOS && !hasClass(document.body, swalClasses.iosfix)) {\n const offset = document.body.scrollTop;\n document.body.style.top = `${offset * -1}px`;\n addClass(document.body, swalClasses.iosfix);\n lockBodyScroll();\n addBottomPaddingForTallPopups();\n }\n };\n\n /**\n * https://github.com/sweetalert2/sweetalert2/issues/1948\n */\n const addBottomPaddingForTallPopups = () => {\n const ua = navigator.userAgent;\n const iOS = !!ua.match(/iPad/i) || !!ua.match(/iPhone/i);\n const webkit = !!ua.match(/WebKit/i);\n const iOSSafari = iOS && webkit && !ua.match(/CriOS/i);\n if (iOSSafari) {\n const bottomPanelHeight = 44;\n if (getPopup().scrollHeight > window.innerHeight - bottomPanelHeight) {\n getContainer().style.paddingBottom = `${bottomPanelHeight}px`;\n }\n }\n };\n\n /**\n * https://github.com/sweetalert2/sweetalert2/issues/1246\n */\n const lockBodyScroll = () => {\n const container = getContainer();\n let preventTouchMove;\n /**\n * @param {TouchEvent} event\n */\n container.ontouchstart = event => {\n preventTouchMove = shouldPreventTouchMove(event);\n };\n /**\n * @param {TouchEvent} event\n */\n container.ontouchmove = event => {\n if (preventTouchMove) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n };\n\n /**\n * @param {TouchEvent} event\n * @returns {boolean}\n */\n const shouldPreventTouchMove = event => {\n const target = event.target;\n const container = getContainer();\n if (isStylus(event) || isZoom(event)) {\n return false;\n }\n if (target === container) {\n return true;\n }\n if (!isScrollable(container) && target instanceof HTMLElement && target.tagName !== 'INPUT' &&\n // #1603\n target.tagName !== 'TEXTAREA' &&\n // #2266\n !(isScrollable(getHtmlContainer()) &&\n // #1944\n getHtmlContainer().contains(target))) {\n return true;\n }\n return false;\n };\n\n /**\n * https://github.com/sweetalert2/sweetalert2/issues/1786\n *\n * @param {*} event\n * @returns {boolean}\n */\n const isStylus = event => {\n return event.touches && event.touches.length && event.touches[0].touchType === 'stylus';\n };\n\n /**\n * https://github.com/sweetalert2/sweetalert2/issues/1891\n *\n * @param {TouchEvent} event\n * @returns {boolean}\n */\n const isZoom = event => {\n return event.touches && event.touches.length > 1;\n };\n const undoIOSfix = () => {\n if (hasClass(document.body, swalClasses.iosfix)) {\n const offset = parseInt(document.body.style.top, 10);\n removeClass(document.body, swalClasses.iosfix);\n document.body.style.top = '';\n document.body.scrollTop = offset * -1;\n }\n };\n\n const fixScrollbar = () => {\n // for queues, do not do this more than once\n if (states.previousBodyPadding !== null) {\n return;\n }\n // if the body has overflow\n if (document.body.scrollHeight > window.innerHeight) {\n // add padding so the content doesn't shift after removal of scrollbar\n states.previousBodyPadding = parseInt(window.getComputedStyle(document.body).getPropertyValue('padding-right'));\n document.body.style.paddingRight = `${states.previousBodyPadding + measureScrollbar()}px`;\n }\n };\n const undoScrollbar = () => {\n if (states.previousBodyPadding !== null) {\n document.body.style.paddingRight = `${states.previousBodyPadding}px`;\n states.previousBodyPadding = null;\n }\n };\n\n /*\n * Instance method to close sweetAlert\n */\n\n function removePopupAndResetState(instance, container, returnFocus, didClose) {\n if (isToast()) {\n triggerDidCloseAndDispose(instance, didClose);\n } else {\n restoreActiveElement(returnFocus).then(() => triggerDidCloseAndDispose(instance, didClose));\n removeKeydownHandler(globalState);\n }\n const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n // workaround for #2088\n // for some reason removing the container in Safari will scroll the document to bottom\n if (isSafari) {\n container.setAttribute('style', 'display:none !important');\n container.removeAttribute('class');\n container.innerHTML = '';\n } else {\n container.remove();\n }\n if (isModal()) {\n undoScrollbar();\n undoIOSfix();\n unsetAriaHidden();\n }\n removeBodyClasses();\n }\n function removeBodyClasses() {\n removeClass([document.documentElement, document.body], [swalClasses.shown, swalClasses['height-auto'], swalClasses['no-backdrop'], swalClasses['toast-shown']]);\n }\n function close(resolveValue) {\n resolveValue = prepareResolveValue(resolveValue);\n const swalPromiseResolve = privateMethods.swalPromiseResolve.get(this);\n const didClose = triggerClosePopup(this);\n if (this.isAwaitingPromise()) {\n // A swal awaiting for a promise (after a click on Confirm or Deny) cannot be dismissed anymore #2335\n if (!resolveValue.isDismissed) {\n handleAwaitingPromise(this);\n swalPromiseResolve(resolveValue);\n }\n } else if (didClose) {\n // Resolve Swal promise\n swalPromiseResolve(resolveValue);\n }\n }\n function isAwaitingPromise() {\n return !!privateProps.awaitingPromise.get(this);\n }\n const triggerClosePopup = instance => {\n const popup = getPopup();\n if (!popup) {\n return false;\n }\n const innerParams = privateProps.innerParams.get(instance);\n if (!innerParams || hasClass(popup, innerParams.hideClass.popup)) {\n return false;\n }\n removeClass(popup, innerParams.showClass.popup);\n addClass(popup, innerParams.hideClass.popup);\n const backdrop = getContainer();\n removeClass(backdrop, innerParams.showClass.backdrop);\n addClass(backdrop, innerParams.hideClass.backdrop);\n handlePopupAnimation(instance, popup, innerParams);\n return true;\n };\n function rejectPromise(error) {\n const rejectPromise = privateMethods.swalPromiseReject.get(this);\n handleAwaitingPromise(this);\n if (rejectPromise) {\n // Reject Swal promise\n rejectPromise(error);\n }\n }\n const handleAwaitingPromise = instance => {\n if (instance.isAwaitingPromise()) {\n privateProps.awaitingPromise.delete(instance);\n // The instance might have been previously partly destroyed, we must resume the destroy process in this case #2335\n if (!privateProps.innerParams.get(instance)) {\n instance._destroy();\n }\n }\n };\n const prepareResolveValue = resolveValue => {\n // When user calls Swal.close()\n if (typeof resolveValue === 'undefined') {\n return {\n isConfirmed: false,\n isDenied: false,\n isDismissed: true\n };\n }\n return Object.assign({\n isConfirmed: false,\n isDenied: false,\n isDismissed: false\n }, resolveValue);\n };\n const handlePopupAnimation = (instance, popup, innerParams) => {\n const container = getContainer();\n // If animation is supported, animate\n const animationIsSupported = animationEndEvent && hasCssAnimation(popup);\n if (typeof innerParams.willClose === 'function') {\n innerParams.willClose(popup);\n }\n if (animationIsSupported) {\n animatePopup(instance, popup, container, innerParams.returnFocus, innerParams.didClose);\n } else {\n // Otherwise, remove immediately\n removePopupAndResetState(instance, container, innerParams.returnFocus, innerParams.didClose);\n }\n };\n const animatePopup = (instance, popup, container, returnFocus, didClose) => {\n globalState.swalCloseEventFinishedCallback = removePopupAndResetState.bind(null, instance, container, returnFocus, didClose);\n popup.addEventListener(animationEndEvent, function (e) {\n if (e.target === popup) {\n globalState.swalCloseEventFinishedCallback();\n delete globalState.swalCloseEventFinishedCallback;\n }\n });\n };\n const triggerDidCloseAndDispose = (instance, didClose) => {\n setTimeout(() => {\n if (typeof didClose === 'function') {\n didClose.bind(instance.params)();\n }\n instance._destroy();\n });\n };\n\n /**\n * @param {SweetAlert2} instance\n * @param {string[]} buttons\n * @param {boolean} disabled\n */\n function setButtonsDisabled(instance, buttons, disabled) {\n const domCache = privateProps.domCache.get(instance);\n buttons.forEach(button => {\n domCache[button].disabled = disabled;\n });\n }\n\n /**\n * @param {HTMLInputElement} input\n * @param {boolean} disabled\n */\n function setInputDisabled(input, disabled) {\n if (!input) {\n return;\n }\n if (input.type === 'radio') {\n const radiosContainer = input.parentNode.parentNode;\n const radios = radiosContainer.querySelectorAll('input');\n for (let i = 0; i < radios.length; i++) {\n radios[i].disabled = disabled;\n }\n } else {\n input.disabled = disabled;\n }\n }\n function enableButtons() {\n setButtonsDisabled(this, ['confirmButton', 'denyButton', 'cancelButton'], false);\n }\n function disableButtons() {\n setButtonsDisabled(this, ['confirmButton', 'denyButton', 'cancelButton'], true);\n }\n function enableInput() {\n setInputDisabled(this.getInput(), false);\n }\n function disableInput() {\n setInputDisabled(this.getInput(), true);\n }\n\n /**\n * Show block with validation message\n *\n * @param {string} error\n */\n function showValidationMessage(error) {\n const domCache = privateProps.domCache.get(this);\n const params = privateProps.innerParams.get(this);\n setInnerHtml(domCache.validationMessage, error);\n domCache.validationMessage.className = swalClasses['validation-message'];\n if (params.customClass && params.customClass.validationMessage) {\n addClass(domCache.validationMessage, params.customClass.validationMessage);\n }\n show(domCache.validationMessage);\n const input = this.getInput();\n if (input) {\n input.setAttribute('aria-invalid', true);\n input.setAttribute('aria-describedby', swalClasses['validation-message']);\n focusInput(input);\n addClass(input, swalClasses.inputerror);\n }\n }\n\n /**\n * Hide block with validation message\n */\n function resetValidationMessage() {\n const domCache = privateProps.domCache.get(this);\n if (domCache.validationMessage) {\n hide(domCache.validationMessage);\n }\n const input = this.getInput();\n if (input) {\n input.removeAttribute('aria-invalid');\n input.removeAttribute('aria-describedby');\n removeClass(input, swalClasses.inputerror);\n }\n }\n\n const defaultParams = {\n title: '',\n titleText: '',\n text: '',\n html: '',\n footer: '',\n icon: undefined,\n iconColor: undefined,\n iconHtml: undefined,\n template: undefined,\n toast: false,\n showClass: {\n popup: 'swal2-show',\n backdrop: 'swal2-backdrop-show',\n icon: 'swal2-icon-show'\n },\n hideClass: {\n popup: 'swal2-hide',\n backdrop: 'swal2-backdrop-hide',\n icon: 'swal2-icon-hide'\n },\n customClass: {},\n target: 'body',\n color: undefined,\n backdrop: true,\n heightAuto: true,\n allowOutsideClick: true,\n allowEscapeKey: true,\n allowEnterKey: true,\n stopKeydownPropagation: true,\n keydownListenerCapture: false,\n showConfirmButton: true,\n showDenyButton: false,\n showCancelButton: false,\n preConfirm: undefined,\n preDeny: undefined,\n confirmButtonText: 'OK',\n confirmButtonAriaLabel: '',\n confirmButtonColor: undefined,\n denyButtonText: 'No',\n denyButtonAriaLabel: '',\n denyButtonColor: undefined,\n cancelButtonText: 'Cancel',\n cancelButtonAriaLabel: '',\n cancelButtonColor: undefined,\n buttonsStyling: true,\n reverseButtons: false,\n focusConfirm: true,\n focusDeny: false,\n focusCancel: false,\n returnFocus: true,\n showCloseButton: false,\n closeButtonHtml: '×',\n closeButtonAriaLabel: 'Close this dialog',\n loaderHtml: '',\n showLoaderOnConfirm: false,\n showLoaderOnDeny: false,\n imageUrl: undefined,\n imageWidth: undefined,\n imageHeight: undefined,\n imageAlt: '',\n timer: undefined,\n timerProgressBar: false,\n width: undefined,\n padding: undefined,\n background: undefined,\n input: undefined,\n inputPlaceholder: '',\n inputLabel: '',\n inputValue: '',\n inputOptions: {},\n inputAutoFocus: true,\n inputAutoTrim: true,\n inputAttributes: {},\n inputValidator: undefined,\n returnInputValueOnDeny: false,\n validationMessage: undefined,\n grow: false,\n position: 'center',\n progressSteps: [],\n currentProgressStep: undefined,\n progressStepsDistance: undefined,\n willOpen: undefined,\n didOpen: undefined,\n didRender: undefined,\n willClose: undefined,\n didClose: undefined,\n didDestroy: undefined,\n scrollbarPadding: true\n };\n const updatableParams = ['allowEscapeKey', 'allowOutsideClick', 'background', 'buttonsStyling', 'cancelButtonAriaLabel', 'cancelButtonColor', 'cancelButtonText', 'closeButtonAriaLabel', 'closeButtonHtml', 'color', 'confirmButtonAriaLabel', 'confirmButtonColor', 'confirmButtonText', 'currentProgressStep', 'customClass', 'denyButtonAriaLabel', 'denyButtonColor', 'denyButtonText', 'didClose', 'didDestroy', 'footer', 'hideClass', 'html', 'icon', 'iconColor', 'iconHtml', 'imageAlt', 'imageHeight', 'imageUrl', 'imageWidth', 'preConfirm', 'preDeny', 'progressSteps', 'returnFocus', 'reverseButtons', 'showCancelButton', 'showCloseButton', 'showConfirmButton', 'showDenyButton', 'text', 'title', 'titleText', 'willClose'];\n const deprecatedParams = {};\n const toastIncompatibleParams = ['allowOutsideClick', 'allowEnterKey', 'backdrop', 'focusConfirm', 'focusDeny', 'focusCancel', 'returnFocus', 'heightAuto', 'keydownListenerCapture'];\n\n /**\n * Is valid parameter\n *\n * @param {string} paramName\n * @returns {boolean}\n */\n const isValidParameter = paramName => {\n return Object.prototype.hasOwnProperty.call(defaultParams, paramName);\n };\n\n /**\n * Is valid parameter for Swal.update() method\n *\n * @param {string} paramName\n * @returns {boolean}\n */\n const isUpdatableParameter = paramName => {\n return updatableParams.indexOf(paramName) !== -1;\n };\n\n /**\n * Is deprecated parameter\n *\n * @param {string} paramName\n * @returns {string | undefined}\n */\n const isDeprecatedParameter = paramName => {\n return deprecatedParams[paramName];\n };\n\n /**\n * @param {string} param\n */\n const checkIfParamIsValid = param => {\n if (!isValidParameter(param)) {\n warn(`Unknown parameter \"${param}\"`);\n }\n };\n\n /**\n * @param {string} param\n */\n const checkIfToastParamIsValid = param => {\n if (toastIncompatibleParams.includes(param)) {\n warn(`The parameter \"${param}\" is incompatible with toasts`);\n }\n };\n\n /**\n * @param {string} param\n */\n const checkIfParamIsDeprecated = param => {\n if (isDeprecatedParameter(param)) {\n warnAboutDeprecation(param, isDeprecatedParameter(param));\n }\n };\n\n /**\n * Show relevant warnings for given params\n *\n * @param {SweetAlertOptions} params\n */\n const showWarningsForParams = params => {\n if (params.backdrop === false && params.allowOutsideClick) {\n warn('\"allowOutsideClick\" parameter requires `backdrop` parameter to be set to `true`');\n }\n for (const param in params) {\n checkIfParamIsValid(param);\n if (params.toast) {\n checkIfToastParamIsValid(param);\n }\n checkIfParamIsDeprecated(param);\n }\n };\n\n /**\n * Updates popup parameters.\n *\n * @param {SweetAlertOptions} params\n */\n function update(params) {\n const popup = getPopup();\n const innerParams = privateProps.innerParams.get(this);\n if (!popup || hasClass(popup, innerParams.hideClass.popup)) {\n warn(`You're trying to update the closed or closing popup, that won't work. Use the update() method in preConfirm parameter or show a new popup.`);\n return;\n }\n const validUpdatableParams = filterValidParams(params);\n const updatedParams = Object.assign({}, innerParams, validUpdatableParams);\n render(this, updatedParams);\n privateProps.innerParams.set(this, updatedParams);\n Object.defineProperties(this, {\n params: {\n value: Object.assign({}, this.params, params),\n writable: false,\n enumerable: true\n }\n });\n }\n\n /**\n * @param {SweetAlertOptions} params\n * @returns {SweetAlertOptions}\n */\n const filterValidParams = params => {\n const validUpdatableParams = {};\n Object.keys(params).forEach(param => {\n if (isUpdatableParameter(param)) {\n validUpdatableParams[param] = params[param];\n } else {\n warn(`Invalid parameter to update: ${param}`);\n }\n });\n return validUpdatableParams;\n };\n\n /**\n * Dispose the current SweetAlert2 instance\n */\n function _destroy() {\n const domCache = privateProps.domCache.get(this);\n const innerParams = privateProps.innerParams.get(this);\n if (!innerParams) {\n disposeWeakMaps(this); // The WeakMaps might have been partly destroyed, we must recall it to dispose any remaining WeakMaps #2335\n return; // This instance has already been destroyed\n }\n\n // Check if there is another Swal closing\n if (domCache.popup && globalState.swalCloseEventFinishedCallback) {\n globalState.swalCloseEventFinishedCallback();\n delete globalState.swalCloseEventFinishedCallback;\n }\n if (typeof innerParams.didDestroy === 'function') {\n innerParams.didDestroy();\n }\n disposeSwal(this);\n }\n\n /**\n * @param {SweetAlert2} instance\n */\n const disposeSwal = instance => {\n disposeWeakMaps(instance);\n // Unset this.params so GC will dispose it (#1569)\n // @ts-ignore\n delete instance.params;\n // Unset globalState props so GC will dispose globalState (#1569)\n delete globalState.keydownHandler;\n delete globalState.keydownTarget;\n // Unset currentInstance\n delete globalState.currentInstance;\n };\n\n /**\n * @param {SweetAlert2} instance\n */\n const disposeWeakMaps = instance => {\n // If the current instance is awaiting a promise result, we keep the privateMethods to call them once the promise result is retrieved #2335\n // @ts-ignore\n if (instance.isAwaitingPromise()) {\n unsetWeakMaps(privateProps, instance);\n privateProps.awaitingPromise.set(instance, true);\n } else {\n unsetWeakMaps(privateMethods, instance);\n unsetWeakMaps(privateProps, instance);\n }\n };\n\n /**\n * @param {object} obj\n * @param {SweetAlert2} instance\n */\n const unsetWeakMaps = (obj, instance) => {\n for (const i in obj) {\n obj[i].delete(instance);\n }\n };\n\n var instanceMethods = /*#__PURE__*/Object.freeze({\n __proto__: null,\n hideLoading: hideLoading,\n disableLoading: hideLoading,\n getInput: getInput,\n close: close,\n isAwaitingPromise: isAwaitingPromise,\n rejectPromise: rejectPromise,\n handleAwaitingPromise: handleAwaitingPromise,\n closePopup: close,\n closeModal: close,\n closeToast: close,\n enableButtons: enableButtons,\n disableButtons: disableButtons,\n enableInput: enableInput,\n disableInput: disableInput,\n showValidationMessage: showValidationMessage,\n resetValidationMessage: resetValidationMessage,\n update: update,\n _destroy: _destroy\n });\n\n /**\n * Shows loader (spinner), this is useful with AJAX requests.\n * By default the loader be shown instead of the \"Confirm\" button.\n *\n * @param {HTMLButtonElement} [buttonToReplace]\n */\n const showLoading = buttonToReplace => {\n let popup = getPopup();\n if (!popup) {\n new Swal(); // eslint-disable-line no-new\n }\n\n popup = getPopup();\n const loader = getLoader();\n if (isToast()) {\n hide(getIcon());\n } else {\n replaceButton(popup, buttonToReplace);\n }\n show(loader);\n popup.setAttribute('data-loading', 'true');\n popup.setAttribute('aria-busy', 'true');\n popup.focus();\n };\n\n /**\n * @param {HTMLElement} popup\n * @param {HTMLButtonElement} [buttonToReplace]\n */\n const replaceButton = (popup, buttonToReplace) => {\n const actions = getActions();\n const loader = getLoader();\n if (!buttonToReplace && isVisible$1(getConfirmButton())) {\n buttonToReplace = getConfirmButton();\n }\n show(actions);\n if (buttonToReplace) {\n hide(buttonToReplace);\n loader.setAttribute('data-button-to-replace', buttonToReplace.className);\n }\n loader.parentNode.insertBefore(loader, buttonToReplace);\n addClass([popup, actions], swalClasses.loading);\n };\n\n /**\n * @typedef { string | number | boolean } InputValue\n */\n\n /**\n * @param {SweetAlert2} instance\n * @param {SweetAlertOptions} params\n */\n const handleInputOptionsAndValue = (instance, params) => {\n if (params.input === 'select' || params.input === 'radio') {\n handleInputOptions(instance, params);\n } else if (['text', 'email', 'number', 'tel', 'textarea'].includes(params.input) && (hasToPromiseFn(params.inputValue) || isPromise(params.inputValue))) {\n showLoading(getConfirmButton());\n handleInputValue(instance, params);\n }\n };\n\n /**\n * @param {SweetAlert2} instance\n * @param {SweetAlertOptions} innerParams\n * @returns {string | number | File | FileList | null}\n */\n const getInputValue = (instance, innerParams) => {\n const input = instance.getInput();\n if (!input) {\n return null;\n }\n switch (innerParams.input) {\n case 'checkbox':\n return getCheckboxValue(input);\n case 'radio':\n return getRadioValue(input);\n case 'file':\n return getFileValue(input);\n default:\n return innerParams.inputAutoTrim ? input.value.trim() : input.value;\n }\n };\n\n /**\n * @param {HTMLInputElement} input\n * @returns {number}\n */\n const getCheckboxValue = input => input.checked ? 1 : 0;\n\n /**\n * @param {HTMLInputElement} input\n * @returns {string | null}\n */\n const getRadioValue = input => input.checked ? input.value : null;\n\n /**\n * @param {HTMLInputElement} input\n * @returns {FileList | File | null}\n */\n const getFileValue = input => input.files.length ? input.getAttribute('multiple') !== null ? input.files : input.files[0] : null;\n\n /**\n * @param {SweetAlert2} instance\n * @param {SweetAlertOptions} params\n */\n const handleInputOptions = (instance, params) => {\n const popup = getPopup();\n /**\n * @param {Record} inputOptions\n */\n const processInputOptions = inputOptions => {\n populateInputOptions[params.input](popup, formatInputOptions(inputOptions), params);\n };\n if (hasToPromiseFn(params.inputOptions) || isPromise(params.inputOptions)) {\n showLoading(getConfirmButton());\n asPromise(params.inputOptions).then(inputOptions => {\n instance.hideLoading();\n processInputOptions(inputOptions);\n });\n } else if (typeof params.inputOptions === 'object') {\n processInputOptions(params.inputOptions);\n } else {\n error(`Unexpected type of inputOptions! Expected object, Map or Promise, got ${typeof params.inputOptions}`);\n }\n };\n\n /**\n * @param {SweetAlert2} instance\n * @param {SweetAlertOptions} params\n */\n const handleInputValue = (instance, params) => {\n const input = instance.getInput();\n hide(input);\n asPromise(params.inputValue).then(inputValue => {\n input.value = params.input === 'number' ? `${parseFloat(inputValue) || 0}` : `${inputValue}`;\n show(input);\n input.focus();\n instance.hideLoading();\n }).catch(err => {\n error(`Error in inputValue promise: ${err}`);\n input.value = '';\n show(input);\n input.focus();\n instance.hideLoading();\n });\n };\n const populateInputOptions = {\n /**\n * @param {HTMLElement} popup\n * @param {Record} inputOptions\n * @param {SweetAlertOptions} params\n */\n select: (popup, inputOptions, params) => {\n const select = getDirectChildByClass(popup, swalClasses.select);\n /**\n * @param {HTMLElement} parent\n * @param {string} optionLabel\n * @param {string} optionValue\n */\n const renderOption = (parent, optionLabel, optionValue) => {\n const option = document.createElement('option');\n option.value = optionValue;\n setInnerHtml(option, optionLabel);\n option.selected = isSelected(optionValue, params.inputValue);\n parent.appendChild(option);\n };\n inputOptions.forEach(inputOption => {\n const optionValue = inputOption[0];\n const optionLabel = inputOption[1];\n // spec:\n // https://www.w3.org/TR/html401/interact/forms.html#h-17.6\n // \"...all OPTGROUP elements must be specified directly within a SELECT element (i.e., groups may not be nested)...\"\n // check whether this is a \n if (Array.isArray(optionLabel)) {\n // if it is an array, then it is an \n const optgroup = document.createElement('optgroup');\n optgroup.label = optionValue;\n optgroup.disabled = false; // not configurable for now\n select.appendChild(optgroup);\n optionLabel.forEach(o => renderOption(optgroup, o[1], o[0]));\n } else {\n // case of
  • \n \n {pageLabelBuilder(page)}\n \n
  • \n );\n};\n\nPageView.propTypes = {\n pageSelectedHandler: PropTypes.func.isRequired,\n selected: PropTypes.bool.isRequired,\n pageClassName: PropTypes.string,\n pageLinkClassName: PropTypes.string,\n activeClassName: PropTypes.string,\n activeLinkClassName: PropTypes.string,\n extraAriaContext: PropTypes.string,\n href: PropTypes.string,\n ariaLabel: PropTypes.string,\n page: PropTypes.number.isRequired,\n getEventListener: PropTypes.func.isRequired,\n pageLabelBuilder: PropTypes.func.isRequired,\n rel: PropTypes.string,\n};\n\nexport default PageView;\n","'use strict';\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nconst BreakView = (props) => {\n const {\n breakLabel,\n breakAriaLabel,\n breakClassName,\n breakLinkClassName,\n breakHandler,\n getEventListener,\n } = props;\n const className = breakClassName || 'break';\n\n return (\n
  • \n \n {breakLabel}\n \n
  • \n );\n};\n\nBreakView.propTypes = {\n breakLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n breakAriaLabel: PropTypes.string,\n breakClassName: PropTypes.string,\n breakLinkClassName: PropTypes.string,\n breakHandler: PropTypes.func.isRequired,\n getEventListener: PropTypes.func.isRequired,\n};\n\nexport default BreakView;\n","export function classNameIfDefined(className, orClassName = '') {\n return className !== undefined && className !== null\n ? className\n : orClassName;\n}\n","'use strict';\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport PageView from './PageView';\nimport BreakView from './BreakView';\nimport { classNameIfDefined } from './utils';\n\nexport default class PaginationBoxView extends Component {\n static propTypes = {\n pageCount: PropTypes.number.isRequired,\n pageRangeDisplayed: PropTypes.number,\n marginPagesDisplayed: PropTypes.number,\n previousLabel: PropTypes.node,\n previousAriaLabel: PropTypes.string,\n prevPageRel: PropTypes.string,\n prevRel: PropTypes.string,\n nextLabel: PropTypes.node,\n nextAriaLabel: PropTypes.string,\n nextPageRel: PropTypes.string,\n nextRel: PropTypes.string,\n breakLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n breakAriaLabels: PropTypes.shape({\n forward: PropTypes.string,\n backward: PropTypes.string,\n }),\n hrefBuilder: PropTypes.func,\n hrefAllControls: PropTypes.bool,\n onPageChange: PropTypes.func,\n onPageActive: PropTypes.func,\n onClick: PropTypes.func,\n initialPage: PropTypes.number,\n forcePage: PropTypes.number,\n disableInitialCallback: PropTypes.bool,\n containerClassName: PropTypes.string,\n className: PropTypes.string,\n pageClassName: PropTypes.string,\n pageLinkClassName: PropTypes.string,\n pageLabelBuilder: PropTypes.func,\n activeClassName: PropTypes.string,\n activeLinkClassName: PropTypes.string,\n previousClassName: PropTypes.string,\n nextClassName: PropTypes.string,\n previousLinkClassName: PropTypes.string,\n nextLinkClassName: PropTypes.string,\n disabledClassName: PropTypes.string,\n disabledLinkClassName: PropTypes.string,\n breakClassName: PropTypes.string,\n breakLinkClassName: PropTypes.string,\n extraAriaContext: PropTypes.string,\n ariaLabelBuilder: PropTypes.func,\n eventListener: PropTypes.string,\n renderOnZeroPageCount: PropTypes.func,\n selectedPageRel: PropTypes.string,\n };\n\n static defaultProps = {\n pageRangeDisplayed: 2,\n marginPagesDisplayed: 3,\n activeClassName: 'selected',\n previousLabel: 'Previous',\n previousClassName: 'previous',\n previousAriaLabel: 'Previous page',\n prevPageRel: 'prev',\n prevRel: 'prev',\n nextLabel: 'Next',\n nextClassName: 'next',\n nextAriaLabel: 'Next page',\n nextPageRel: 'next',\n nextRel: 'next',\n breakLabel: '...',\n breakAriaLabels: { forward: 'Jump forward', backward: 'Jump backward' },\n disabledClassName: 'disabled',\n disableInitialCallback: false,\n pageLabelBuilder: (page) => page,\n eventListener: 'onClick',\n renderOnZeroPageCount: undefined,\n selectedPageRel: 'canonical',\n hrefAllControls: false,\n };\n\n constructor(props) {\n super(props);\n\n if (props.initialPage !== undefined && props.forcePage !== undefined) {\n console.warn(\n `(react-paginate): Both initialPage (${props.initialPage}) and forcePage (${props.forcePage}) props are provided, which is discouraged.` +\n ' Use exclusively forcePage prop for a controlled component.\\nSee https://reactjs.org/docs/forms.html#controlled-components'\n );\n }\n\n let initialSelected;\n if (props.initialPage) {\n initialSelected = props.initialPage;\n } else if (props.forcePage) {\n initialSelected = props.forcePage;\n } else {\n initialSelected = 0;\n }\n\n this.state = {\n selected: initialSelected,\n };\n }\n\n componentDidMount() {\n const {\n initialPage,\n disableInitialCallback,\n extraAriaContext,\n pageCount,\n forcePage,\n } = this.props;\n // Call the callback with the initialPage item:\n if (typeof initialPage !== 'undefined' && !disableInitialCallback) {\n this.callCallback(initialPage);\n }\n\n if (extraAriaContext) {\n console.warn(\n 'DEPRECATED (react-paginate): The extraAriaContext prop is deprecated. You should now use the ariaLabelBuilder instead.'\n );\n }\n\n if (!Number.isInteger(pageCount)) {\n console.warn(\n `(react-paginate): The pageCount prop value provided is not an integer (${pageCount}). Did you forget a Math.ceil()?`\n );\n }\n\n if (initialPage !== undefined && initialPage > pageCount - 1) {\n console.warn(\n `(react-paginate): The initialPage prop provided is greater than the maximum page index from pageCount prop (${initialPage} > ${\n pageCount - 1\n }).`\n );\n }\n\n if (forcePage !== undefined && forcePage > pageCount - 1) {\n console.warn(\n `(react-paginate): The forcePage prop provided is greater than the maximum page index from pageCount prop (${forcePage} > ${\n pageCount - 1\n }).`\n );\n }\n }\n\n componentDidUpdate(prevProps) {\n if (\n this.props.forcePage !== undefined &&\n this.props.forcePage !== prevProps.forcePage\n ) {\n if (this.props.forcePage > this.props.pageCount - 1) {\n console.warn(\n `(react-paginate): The forcePage prop provided is greater than the maximum page index from pageCount prop (${\n this.props.forcePage\n } > ${this.props.pageCount - 1}).`\n );\n }\n\n this.setState({ selected: this.props.forcePage });\n }\n\n if (\n Number.isInteger(prevProps.pageCount) &&\n !Number.isInteger(this.props.pageCount)\n ) {\n console.warn(\n `(react-paginate): The pageCount prop value provided is not an integer (${this.props.pageCount}). Did you forget a Math.ceil()?`\n );\n }\n }\n\n handlePreviousPage = (event) => {\n const { selected } = this.state;\n\n this.handleClick(event, null, selected > 0 ? selected - 1 : undefined, {\n isPrevious: true,\n });\n };\n\n handleNextPage = (event) => {\n const { selected } = this.state;\n const { pageCount } = this.props;\n\n this.handleClick(\n event,\n null,\n selected < pageCount - 1 ? selected + 1 : undefined,\n { isNext: true }\n );\n };\n\n handlePageSelected = (selected, event) => {\n if (this.state.selected === selected) {\n this.callActiveCallback(selected);\n this.handleClick(event, null, undefined, { isActive: true });\n return;\n }\n\n this.handleClick(event, null, selected);\n };\n\n handlePageChange = (selected) => {\n if (this.state.selected === selected) {\n return;\n }\n this.setState({ selected });\n\n // Call the callback with the new selected item:\n this.callCallback(selected);\n };\n\n getEventListener = (handlerFunction) => {\n const { eventListener } = this.props;\n return {\n [eventListener]: handlerFunction,\n };\n };\n\n getForwardJump() {\n const { selected } = this.state;\n const { pageCount, pageRangeDisplayed } = this.props;\n\n const forwardJump = selected + pageRangeDisplayed;\n return forwardJump >= pageCount ? pageCount - 1 : forwardJump;\n }\n\n getBackwardJump() {\n const { selected } = this.state;\n const { pageRangeDisplayed } = this.props;\n\n const backwardJump = selected - pageRangeDisplayed;\n return backwardJump < 0 ? 0 : backwardJump;\n }\n\n handleClick = (\n event,\n index,\n nextSelectedPage,\n {\n isPrevious = false,\n isNext = false,\n isBreak = false,\n isActive = false,\n } = {}\n ) => {\n event.preventDefault ? event.preventDefault() : (event.returnValue = false);\n const { selected } = this.state;\n const { onClick } = this.props;\n\n let newPage = nextSelectedPage;\n\n if (onClick) {\n const onClickReturn = onClick({\n index,\n selected,\n nextSelectedPage,\n event,\n isPrevious,\n isNext,\n isBreak,\n isActive,\n });\n if (onClickReturn === false) {\n // We abord standard behavior and let parent handle\n // all behavior.\n return;\n }\n if (Number.isInteger(onClickReturn)) {\n // We assume parent want to go to the returned page.\n newPage = onClickReturn;\n }\n }\n\n if (newPage !== undefined) {\n this.handlePageChange(newPage);\n }\n };\n\n handleBreakClick = (index, event) => {\n const { selected } = this.state;\n\n this.handleClick(\n event,\n index,\n selected < index ? this.getForwardJump() : this.getBackwardJump(),\n { isBreak: true }\n );\n };\n\n getElementHref(pageIndex) {\n const { hrefBuilder, pageCount, hrefAllControls } = this.props;\n if (!hrefBuilder) return;\n if (hrefAllControls || (pageIndex >= 0 && pageIndex < pageCount)) {\n return hrefBuilder(pageIndex + 1, pageCount, this.state.selected);\n }\n }\n\n ariaLabelBuilder(pageIndex) {\n const selected = pageIndex === this.state.selected;\n if (\n this.props.ariaLabelBuilder &&\n pageIndex >= 0 &&\n pageIndex < this.props.pageCount\n ) {\n let label = this.props.ariaLabelBuilder(pageIndex + 1, selected);\n // DEPRECATED: The extraAriaContext prop was used to add additional context\n // to the aria-label. Users should now use the ariaLabelBuilder instead.\n if (this.props.extraAriaContext && !selected) {\n label = label + ' ' + this.props.extraAriaContext;\n }\n return label;\n }\n }\n\n callCallback = (selectedItem) => {\n if (\n this.props.onPageChange !== undefined &&\n typeof this.props.onPageChange === 'function'\n ) {\n this.props.onPageChange({ selected: selectedItem });\n }\n };\n\n callActiveCallback = (selectedItem) => {\n if (\n this.props.onPageActive !== undefined &&\n typeof this.props.onPageActive === 'function'\n ) {\n this.props.onPageActive({ selected: selectedItem });\n }\n };\n\n getElementPageRel = (index) => {\n const { selected } = this.state;\n const { nextPageRel, prevPageRel, selectedPageRel } = this.props;\n\n if (selected - 1 === index) {\n return prevPageRel;\n } else if (selected === index) {\n return selectedPageRel;\n } else if (selected + 1 === index) {\n return nextPageRel;\n }\n return undefined;\n };\n\n getPageElement(index) {\n const { selected } = this.state;\n const {\n pageClassName,\n pageLinkClassName,\n activeClassName,\n activeLinkClassName,\n extraAriaContext,\n pageLabelBuilder,\n } = this.props;\n\n return (\n \n );\n }\n\n pagination = () => {\n const items = [];\n const {\n pageRangeDisplayed,\n pageCount,\n marginPagesDisplayed,\n breakLabel,\n breakClassName,\n breakLinkClassName,\n breakAriaLabels,\n } = this.props;\n\n const { selected } = this.state;\n\n if (pageCount <= pageRangeDisplayed) {\n for (let index = 0; index < pageCount; index++) {\n items.push(this.getPageElement(index));\n }\n } else {\n let leftSide = pageRangeDisplayed / 2;\n let rightSide = pageRangeDisplayed - leftSide;\n\n // If the selected page index is on the default right side of the pagination,\n // we consider that the new right side is made up of it (= only one break element).\n // If the selected page index is on the default left side of the pagination,\n // we consider that the new left side is made up of it (= only one break element).\n if (selected > pageCount - pageRangeDisplayed / 2) {\n rightSide = pageCount - selected;\n leftSide = pageRangeDisplayed - rightSide;\n } else if (selected < pageRangeDisplayed / 2) {\n leftSide = selected;\n rightSide = pageRangeDisplayed - leftSide;\n }\n\n let createPageView = (index) => this.getPageElement(index);\n let index;\n let breakView;\n\n // First pass: process the pages or breaks to display (or not).\n const pagesBreaking = [];\n for (index = 0; index < pageCount; index++) {\n const page = index + 1;\n\n // If the page index is lower than the margin defined,\n // the page has to be displayed on the left side of\n // the pagination.\n if (page <= marginPagesDisplayed) {\n pagesBreaking.push({\n type: 'page',\n index,\n display: createPageView(index),\n });\n continue;\n }\n\n // If the page index is greater than the page count\n // minus the margin defined, the page has to be\n // displayed on the right side of the pagination.\n if (page > pageCount - marginPagesDisplayed) {\n pagesBreaking.push({\n type: 'page',\n index,\n display: createPageView(index),\n });\n continue;\n }\n\n // If it is the first element of the array the rightSide need to be adjusted,\n // otherwise an extra element will be rendered\n const adjustedRightSide =\n selected === 0 && pageRangeDisplayed > 1 ? rightSide - 1 : rightSide;\n\n // If the page index is near the selected page index\n // and inside the defined range (pageRangeDisplayed)\n // we have to display it (it will create the center\n // part of the pagination).\n if (\n index >= selected - leftSide &&\n index <= selected + adjustedRightSide\n ) {\n pagesBreaking.push({\n type: 'page',\n index,\n display: createPageView(index),\n });\n continue;\n }\n\n // If the page index doesn't meet any of the conditions above,\n // we check if the last item of the current \"items\" array\n // is a break element. If not, we add a break element, else,\n // we do nothing (because we don't want to display the page).\n if (\n breakLabel &&\n pagesBreaking.length > 0 &&\n pagesBreaking[pagesBreaking.length - 1].display !== breakView &&\n // We do not show break if only one active page is displayed.\n (pageRangeDisplayed > 0 || marginPagesDisplayed > 0)\n ) {\n const useBreakAriaLabel =\n index < selected\n ? breakAriaLabels.backward\n : breakAriaLabels.forward;\n breakView = (\n \n );\n pagesBreaking.push({ type: 'break', index, display: breakView });\n }\n }\n // Second pass: we remove breaks containing one page to the actual page.\n pagesBreaking.forEach((pageElement, i) => {\n let actualPageElement = pageElement;\n // 1 2 3 4 5 6 7 ... 9 10\n // |\n // 1 2 ... 4 5 6 7 8 9 10\n // |\n // The break should be replaced by the page.\n if (\n pageElement.type === 'break' &&\n pagesBreaking[i - 1] &&\n pagesBreaking[i - 1].type === 'page' &&\n pagesBreaking[i + 1] &&\n pagesBreaking[i + 1].type === 'page' &&\n pagesBreaking[i + 1].index - pagesBreaking[i - 1].index <= 2\n ) {\n actualPageElement = {\n type: 'page',\n index: pageElement.index,\n display: createPageView(pageElement.index),\n };\n }\n // We add the displayed elements in the same pass, to avoid another iteration.\n items.push(actualPageElement.display);\n });\n }\n\n return items;\n };\n\n render() {\n const { renderOnZeroPageCount } = this.props;\n if (this.props.pageCount === 0 && renderOnZeroPageCount !== undefined) {\n return renderOnZeroPageCount\n ? renderOnZeroPageCount(this.props)\n : renderOnZeroPageCount;\n }\n const {\n disabledClassName,\n disabledLinkClassName,\n pageCount,\n className,\n containerClassName,\n previousLabel,\n previousClassName,\n previousLinkClassName,\n previousAriaLabel,\n prevRel,\n nextLabel,\n nextClassName,\n nextLinkClassName,\n nextAriaLabel,\n nextRel,\n } = this.props;\n\n const { selected } = this.state;\n\n const isPreviousDisabled = selected === 0;\n const isNextDisabled = selected === pageCount - 1;\n\n const previousClasses = `${classNameIfDefined(previousClassName)}${\n isPreviousDisabled ? ` ${classNameIfDefined(disabledClassName)}` : ''\n }`;\n const nextClasses = `${classNameIfDefined(nextClassName)}${\n isNextDisabled ? ` ${classNameIfDefined(disabledClassName)}` : ''\n }`;\n\n const previousLinkClasses = `${classNameIfDefined(previousLinkClassName)}${\n isPreviousDisabled ? ` ${classNameIfDefined(disabledLinkClassName)}` : ''\n }`;\n const nextLinkClasses = `${classNameIfDefined(nextLinkClassName)}${\n isNextDisabled ? ` ${classNameIfDefined(disabledLinkClassName)}` : ''\n }`;\n\n const previousAriaDisabled = isPreviousDisabled ? 'true' : 'false';\n const nextAriaDisabled = isNextDisabled ? 'true' : 'false';\n\n return (\n \n
  • \n \n {previousLabel}\n \n
  • \n\n {this.pagination()}\n\n
  • \n \n {nextLabel}\n \n
  • \n \n );\n }\n}\n","import PaginationBoxView from './PaginationBoxView';\n\nexport default PaginationBoxView;\n","import _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport createContext from '@hypnosphi/create-react-context';\nexport var ManagerReferenceNodeContext = createContext();\nexport var ManagerReferenceNodeSetterContext = createContext();\n\nvar Manager =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Manager, _React$Component);\n\n function Manager() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"referenceNode\", void 0);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"setReferenceNode\", function (newReferenceNode) {\n if (newReferenceNode && _this.referenceNode !== newReferenceNode) {\n _this.referenceNode = newReferenceNode;\n\n _this.forceUpdate();\n }\n });\n\n return _this;\n }\n\n var _proto = Manager.prototype;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.referenceNode = null;\n };\n\n _proto.render = function render() {\n return React.createElement(ManagerReferenceNodeContext.Provider, {\n value: this.referenceNode\n }, React.createElement(ManagerReferenceNodeSetterContext.Provider, {\n value: this.setReferenceNode\n }, this.props.children));\n };\n\n return Manager;\n}(React.Component);\n\nexport { Manager as default };","export default function buildMatchPatternFn(args) {\n return function (string) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n var matchedString = matchResult[0];\n var parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n value = options.valueCallback ? options.valueCallback(value) : value;\n var rest = string.slice(matchedString.length);\n return {\n value: value,\n rest: rest\n };\n };\n}","import addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subMilliseconds\n * @category Millisecond Helpers\n * @summary Subtract the specified number of milliseconds from the given date.\n *\n * @description\n * Subtract the specified number of milliseconds from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:\n * const result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:29.250\n */\n\nexport default function subMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, -amount);\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nexport default function getUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getUTCFullYear();\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCISOWeek(fourthOfJanuaryOfNextYear);\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCISOWeek(fourthOfJanuaryOfThisYear);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfQuarter\n * @category Quarter Helpers\n * @summary Return the start of a year quarter for the given date.\n *\n * @description\n * Return the start of a year quarter for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a quarter\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a quarter for 2 September 2014 11:55:00:\n * const result = startOfQuarter(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Jul 01 2014 00:00:00\n */\n\nexport default function startOfQuarter(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var currentMonth = date.getMonth();\n var month = currentMonth - currentMonth % 3;\n date.setMonth(month, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'less than a second',\n other: 'less than {{count}} seconds'\n },\n xSeconds: {\n one: '1 second',\n other: '{{count}} seconds'\n },\n halfAMinute: 'half a minute',\n lessThanXMinutes: {\n one: 'less than a minute',\n other: 'less than {{count}} minutes'\n },\n xMinutes: {\n one: '1 minute',\n other: '{{count}} minutes'\n },\n aboutXHours: {\n one: 'about 1 hour',\n other: 'about {{count}} hours'\n },\n xHours: {\n one: '1 hour',\n other: '{{count}} hours'\n },\n xDays: {\n one: '1 day',\n other: '{{count}} days'\n },\n aboutXWeeks: {\n one: 'about 1 week',\n other: 'about {{count}} weeks'\n },\n xWeeks: {\n one: '1 week',\n other: '{{count}} weeks'\n },\n aboutXMonths: {\n one: 'about 1 month',\n other: 'about {{count}} months'\n },\n xMonths: {\n one: '1 month',\n other: '{{count}} months'\n },\n aboutXYears: {\n one: 'about 1 year',\n other: 'about {{count}} years'\n },\n xYears: {\n one: '1 year',\n other: '{{count}} years'\n },\n overXYears: {\n one: 'over 1 year',\n other: 'over {{count}} years'\n },\n almostXYears: {\n one: 'almost 1 year',\n other: 'almost {{count}} years'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', count.toString());\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'in ' + result;\n } else {\n return result + ' ago';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['B', 'A'],\n abbreviated: ['BC', 'AD'],\n wide: ['Before Christ', 'Anno Domini']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter']\n}; // Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\n\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber); // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n var rem100 = number % 100;\n\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'st';\n\n case 2:\n return number + 'nd';\n\n case 3:\n return number + 'rd';\n }\n }\n\n return number + 'th';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\nvar locale = {\n code: 'en-US',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0\n /* Sunday */\n ,\n firstWeekContainsDate: 1\n }\n};\nexport default locale;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import defaultLocale from \"../../locale/en-US/index.js\";\nexport default defaultLocale;","import * as cookie from 'cookie';\nexport function hasDocumentCookie() {\n // Can we get/set cookies on document.cookie?\n return typeof document === 'object' && typeof document.cookie === 'string';\n}\nexport function cleanCookies() {\n document.cookie.split(';').forEach(function (c) {\n document.cookie = c\n .replace(/^ +/, '')\n .replace(/=.*/, '=;expires=' + new Date().toUTCString() + ';path=/');\n });\n}\nexport function parseCookies(cookies) {\n if (typeof cookies === 'string') {\n return cookie.parse(cookies);\n }\n else if (typeof cookies === 'object' && cookies !== null) {\n return cookies;\n }\n else {\n return {};\n }\n}\nexport function readCookie(value, options = {}) {\n const cleanValue = cleanupCookieValue(value);\n if (!options.doNotParse) {\n try {\n return JSON.parse(cleanValue);\n }\n catch (e) {\n // At least we tried\n }\n }\n // Ignore clean value if we failed the deserialization\n // It is not relevant anymore to trim those values\n return value;\n}\nfunction cleanupCookieValue(value) {\n // express prepend j: before serializing a cookie\n if (value && value[0] === 'j' && value[1] === ':') {\n return value.substr(2);\n }\n return value;\n}\n","import * as cookie from 'cookie';\nimport { hasDocumentCookie, parseCookies, readCookie } from './utils';\nexport default class Cookies {\n constructor(cookies, defaultSetOptions = {}) {\n this.changeListeners = [];\n this.HAS_DOCUMENT_COOKIE = false;\n this.update = () => {\n if (!this.HAS_DOCUMENT_COOKIE) {\n return;\n }\n const previousCookies = this.cookies;\n this.cookies = cookie.parse(document.cookie);\n this._checkChanges(previousCookies);\n };\n const domCookies = typeof document === 'undefined' ? '' : document.cookie;\n this.cookies = parseCookies(cookies || domCookies);\n this.defaultSetOptions = defaultSetOptions;\n this.HAS_DOCUMENT_COOKIE = hasDocumentCookie();\n }\n _emitChange(params) {\n for (let i = 0; i < this.changeListeners.length; ++i) {\n this.changeListeners[i](params);\n }\n }\n _checkChanges(newCookies) {\n const names = new Set(Object.keys(newCookies).concat(Object.keys(this.cookies)));\n names.forEach((name) => {\n if (newCookies[name] !== this.cookies[name]) {\n this._emitChange({\n name,\n value: readCookie(newCookies[name]),\n });\n }\n });\n }\n _startPolling() {\n this.pollingInterval = setInterval(this.update, 300);\n }\n _stopPolling() {\n if (this.pollingInterval) {\n clearInterval(this.pollingInterval);\n }\n }\n get(name, options = {}) {\n if (!options.doNotUpdate) {\n this.update();\n }\n return readCookie(this.cookies[name], options);\n }\n getAll(options = {}) {\n if (!options.doNotUpdate) {\n this.update();\n }\n const result = {};\n for (let name in this.cookies) {\n result[name] = readCookie(this.cookies[name], options);\n }\n return result;\n }\n set(name, value, options) {\n if (options) {\n options = Object.assign(Object.assign({}, this.defaultSetOptions), options);\n }\n else {\n options = this.defaultSetOptions;\n }\n const stringValue = typeof value === 'string' ? value : JSON.stringify(value);\n this.cookies = Object.assign(Object.assign({}, this.cookies), { [name]: stringValue });\n if (this.HAS_DOCUMENT_COOKIE) {\n document.cookie = cookie.serialize(name, stringValue, options);\n }\n this._emitChange({ name, value, options });\n }\n remove(name, options) {\n const finalOptions = (options = Object.assign(Object.assign({}, options), { expires: new Date(1970, 1, 1, 0, 0, 1), maxAge: 0 }));\n this.cookies = Object.assign({}, this.cookies);\n delete this.cookies[name];\n if (this.HAS_DOCUMENT_COOKIE) {\n document.cookie = cookie.serialize(name, '', finalOptions);\n }\n this._emitChange({ name, value: undefined, options });\n }\n addChangeListener(callback) {\n this.changeListeners.push(callback);\n if (this.changeListeners.length === 1) {\n if (typeof window === 'object' && 'cookieStore' in window) {\n window.cookieStore.addEventListener('change', this.update);\n }\n else {\n this._startPolling();\n }\n }\n }\n removeChangeListener(callback) {\n const idx = this.changeListeners.indexOf(callback);\n if (idx >= 0) {\n this.changeListeners.splice(idx, 1);\n }\n if (this.changeListeners.length === 0) {\n if (typeof window === 'object' && 'cookieStore' in window) {\n window.cookieStore.removeEventListener('change', this.update);\n }\n else {\n this._stopPolling();\n }\n }\n }\n}\n","import Cookies from './Cookies';\nexport default Cookies;\nexport * from './types';\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import type { MouseEvent } from 'react';\nimport type {\n ChartType,\n ChartData,\n DefaultDataPoint,\n ChartDataset,\n ChartOptions,\n Chart,\n} from 'chart.js';\n\nimport type { ForwardedRef } from './types';\n\nconst defaultDatasetIdKey = 'label';\n\nexport function reforwardRef(ref: ForwardedRef, value: T) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}\n\nexport function setOptions<\n TType extends ChartType = ChartType,\n TData = DefaultDataPoint,\n TLabel = unknown\n>(chart: Chart, nextOptions: ChartOptions) {\n Object.assign(chart.options, nextOptions);\n}\n\nexport function setLabels<\n TType extends ChartType = ChartType,\n TData = DefaultDataPoint,\n TLabel = unknown\n>(\n currentData: ChartData,\n nextLabels: TLabel[] | undefined\n) {\n currentData.labels = nextLabels;\n}\n\nexport function setDatasets<\n TType extends ChartType = ChartType,\n TData = DefaultDataPoint,\n TLabel = unknown\n>(\n currentData: ChartData,\n nextDatasets: ChartDataset[],\n datasetIdKey = defaultDatasetIdKey\n) {\n const addedDatasets: ChartDataset[] = [];\n\n currentData.datasets = nextDatasets.map(\n (nextDataset: Record) => {\n // given the new set, find it's current match\n const currentDataset = currentData.datasets.find(\n (dataset: Record) =>\n dataset[datasetIdKey] === nextDataset[datasetIdKey]\n );\n\n // There is no original to update, so simply add new one\n if (\n !currentDataset ||\n !nextDataset.data ||\n addedDatasets.includes(currentDataset)\n ) {\n return { ...nextDataset } as ChartDataset;\n }\n\n addedDatasets.push(currentDataset);\n\n Object.assign(currentDataset, nextDataset);\n\n return currentDataset;\n }\n );\n}\n\nexport function cloneData<\n TType extends ChartType = ChartType,\n TData = DefaultDataPoint,\n TLabel = unknown\n>(data: ChartData, datasetIdKey = defaultDatasetIdKey) {\n const nextData: ChartData = {\n labels: [],\n datasets: [],\n };\n\n setLabels(nextData, data.labels);\n setDatasets(nextData, data.datasets, datasetIdKey);\n\n return nextData;\n}\n\n/**\n * Get dataset from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */\nexport function getDatasetAtEvent(\n chart: Chart,\n event: MouseEvent\n) {\n return chart.getElementsAtEventForMode(\n event.nativeEvent,\n 'dataset',\n { intersect: true },\n false\n );\n}\n\n/**\n * Get single dataset element from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */\nexport function getElementAtEvent(\n chart: Chart,\n event: MouseEvent\n) {\n return chart.getElementsAtEventForMode(\n event.nativeEvent,\n 'nearest',\n { intersect: true },\n false\n );\n}\n\n/**\n * Get all dataset elements from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */\nexport function getElementsAtEvent(\n chart: Chart,\n event: MouseEvent\n) {\n return chart.getElementsAtEventForMode(\n event.nativeEvent,\n 'index',\n { intersect: true },\n false\n );\n}\n","import React, { useEffect, useRef, forwardRef } from 'react';\nimport { Chart as ChartJS } from 'chart.js';\nimport type { ChartType, DefaultDataPoint } from 'chart.js';\n\nimport type { ForwardedRef, ChartProps, TypedChartComponent } from './types';\nimport {\n reforwardRef,\n cloneData,\n setOptions,\n setLabels,\n setDatasets,\n} from './utils';\n\nfunction ChartComponent<\n TType extends ChartType = ChartType,\n TData = DefaultDataPoint,\n TLabel = unknown\n>(\n {\n height = 150,\n width = 300,\n redraw = false,\n datasetIdKey,\n type,\n data,\n options,\n plugins = [],\n fallbackContent,\n updateMode,\n ...props\n }: ChartProps,\n ref: ForwardedRef>\n) {\n type TypedChartJS = ChartJS;\n\n const canvasRef = useRef(null);\n const chartRef = useRef();\n\n const renderChart = () => {\n if (!canvasRef.current) return;\n\n chartRef.current = new ChartJS(canvasRef.current, {\n type,\n data: cloneData(data, datasetIdKey),\n options: options && { ...options },\n plugins,\n });\n\n reforwardRef(ref, chartRef.current);\n };\n\n const destroyChart = () => {\n reforwardRef(ref, null);\n\n if (chartRef.current) {\n chartRef.current.destroy();\n chartRef.current = null;\n }\n };\n\n useEffect(() => {\n if (!redraw && chartRef.current && options) {\n setOptions(chartRef.current, options);\n }\n }, [redraw, options]);\n\n useEffect(() => {\n if (!redraw && chartRef.current) {\n setLabels(chartRef.current.config.data, data.labels);\n }\n }, [redraw, data.labels]);\n\n useEffect(() => {\n if (!redraw && chartRef.current && data.datasets) {\n setDatasets(chartRef.current.config.data, data.datasets, datasetIdKey);\n }\n }, [redraw, data.datasets]);\n\n useEffect(() => {\n if (!chartRef.current) return;\n\n if (redraw) {\n destroyChart();\n setTimeout(renderChart);\n } else {\n chartRef.current.update(updateMode);\n }\n }, [redraw, options, data.labels, data.datasets, updateMode]);\n\n useEffect(() => {\n if (!chartRef.current) return;\n\n destroyChart();\n setTimeout(renderChart);\n }, [type]);\n\n useEffect(() => {\n renderChart();\n\n return () => destroyChart();\n }, []);\n\n return (\n \n {fallbackContent}\n \n );\n}\n\nexport const Chart = forwardRef(ChartComponent) as TypedChartComponent;\n","import React, { forwardRef } from 'react';\nimport {\n Chart as ChartJS,\n LineController,\n BarController,\n RadarController,\n DoughnutController,\n PolarAreaController,\n BubbleController,\n PieController,\n ScatterController,\n} from 'chart.js';\nimport type { ChartType, ChartComponentLike } from 'chart.js';\n\nimport type {\n ChartProps,\n ChartJSOrUndefined,\n TypedChartComponent,\n} from './types';\nimport { Chart } from './chart';\n\nfunction createTypedChart(\n type: T,\n registerables: ChartComponentLike\n) {\n ChartJS.register(registerables);\n\n return forwardRef, Omit, 'type'>>(\n (props, ref) => \n ) as TypedChartComponent;\n}\n\nexport const Line = /* #__PURE__ */ createTypedChart('line', LineController);\n\nexport const Bar = /* #__PURE__ */ createTypedChart('bar', BarController);\n\nexport const Radar = /* #__PURE__ */ createTypedChart('radar', RadarController);\n\nexport const Doughnut = /* #__PURE__ */ createTypedChart(\n 'doughnut',\n DoughnutController\n);\n\nexport const PolarArea = /* #__PURE__ */ createTypedChart(\n 'polarArea',\n PolarAreaController\n);\n\nexport const Bubble = /* #__PURE__ */ createTypedChart(\n 'bubble',\n BubbleController\n);\n\nexport const Pie = /* #__PURE__ */ createTypedChart('pie', PieController);\n\nexport const Scatter = /* #__PURE__ */ createTypedChart(\n 'scatter',\n ScatterController\n);\n","import getUTCWeekYear from \"../getUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function startOfUTCWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n var year = getUTCWeekYear(dirtyDate, options);\n var firstWeek = new Date(0);\n firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCWeek(firstWeek, options);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport startOfUTCWeekYear from \"../startOfUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\nexport default function getUTCWeek(dirtyDate, options) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCWeek(date, options).getTime() - startOfUTCWeekYear(date, options).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","import getUTCISOWeekYear from \"../getUTCISOWeekYear/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function startOfUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var year = getUTCISOWeekYear(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setUTCFullYear(year, 0, 4);\n fourthOfJanuary.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCISOWeek(fourthOfJanuary);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport startOfUTCISOWeekYear from \"../startOfUTCISOWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\nexport default function getUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCISOWeek(date).getTime() - startOfUTCISOWeekYear(date).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","// Generated by CoffeeScript 1.12.7\n(function() {\n exports.defaults = {\n \"0.1\": {\n explicitCharkey: false,\n trim: true,\n normalize: true,\n normalizeTags: false,\n attrkey: \"@\",\n charkey: \"#\",\n explicitArray: false,\n ignoreAttrs: false,\n mergeAttrs: false,\n explicitRoot: false,\n validator: null,\n xmlns: false,\n explicitChildren: false,\n childkey: '@@',\n charsAsChildren: false,\n includeWhiteChars: false,\n async: false,\n strict: true,\n attrNameProcessors: null,\n attrValueProcessors: null,\n tagNameProcessors: null,\n valueProcessors: null,\n emptyTag: ''\n },\n \"0.2\": {\n explicitCharkey: false,\n trim: false,\n normalize: false,\n normalizeTags: false,\n attrkey: \"$\",\n charkey: \"_\",\n explicitArray: true,\n ignoreAttrs: false,\n mergeAttrs: false,\n explicitRoot: true,\n validator: null,\n xmlns: false,\n explicitChildren: false,\n preserveChildrenOrder: false,\n childkey: '$$',\n charsAsChildren: false,\n includeWhiteChars: false,\n async: false,\n strict: true,\n attrNameProcessors: null,\n attrValueProcessors: null,\n tagNameProcessors: null,\n valueProcessors: null,\n rootName: 'root',\n xmldec: {\n 'version': '1.0',\n 'encoding': 'UTF-8',\n 'standalone': true\n },\n doctype: null,\n renderOpts: {\n 'pretty': true,\n 'indent': ' ',\n 'newline': '\\n'\n },\n headless: false,\n chunkSize: 10000,\n emptyTag: '',\n cdata: false\n }\n };\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLAttribute, XMLElement, XMLNamedNodeMap, XMLNode, getValue, isFunction, isObject, ref,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n ref = require('./Utility'), isObject = ref.isObject, isFunction = ref.isFunction, getValue = ref.getValue;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n XMLAttribute = require('./XMLAttribute');\n\n XMLNamedNodeMap = require('./XMLNamedNodeMap');\n\n module.exports = XMLElement = (function(superClass) {\n extend(XMLElement, superClass);\n\n function XMLElement(parent, name, attributes) {\n var child, j, len, ref1;\n XMLElement.__super__.constructor.call(this, parent);\n if (name == null) {\n throw new Error(\"Missing element name. \" + this.debugInfo());\n }\n this.name = this.stringify.name(name);\n this.type = NodeType.Element;\n this.attribs = {};\n this.schemaTypeInfo = null;\n if (attributes != null) {\n this.attribute(attributes);\n }\n if (parent.type === NodeType.Document) {\n this.isRoot = true;\n this.documentObject = parent;\n parent.rootObject = this;\n if (parent.children) {\n ref1 = parent.children;\n for (j = 0, len = ref1.length; j < len; j++) {\n child = ref1[j];\n if (child.type === NodeType.DocType) {\n child.name = this.name;\n break;\n }\n }\n }\n }\n }\n\n Object.defineProperty(XMLElement.prototype, 'tagName', {\n get: function() {\n return this.name;\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'namespaceURI', {\n get: function() {\n return '';\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'prefix', {\n get: function() {\n return '';\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'localName', {\n get: function() {\n return this.name;\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'id', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'className', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'classList', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'attributes', {\n get: function() {\n if (!this.attributeMap || !this.attributeMap.nodes) {\n this.attributeMap = new XMLNamedNodeMap(this.attribs);\n }\n return this.attributeMap;\n }\n });\n\n XMLElement.prototype.clone = function() {\n var att, attName, clonedSelf, ref1;\n clonedSelf = Object.create(this);\n if (clonedSelf.isRoot) {\n clonedSelf.documentObject = null;\n }\n clonedSelf.attribs = {};\n ref1 = this.attribs;\n for (attName in ref1) {\n if (!hasProp.call(ref1, attName)) continue;\n att = ref1[attName];\n clonedSelf.attribs[attName] = att.clone();\n }\n clonedSelf.children = [];\n this.children.forEach(function(child) {\n var clonedChild;\n clonedChild = child.clone();\n clonedChild.parent = clonedSelf;\n return clonedSelf.children.push(clonedChild);\n });\n return clonedSelf;\n };\n\n XMLElement.prototype.attribute = function(name, value) {\n var attName, attValue;\n if (name != null) {\n name = getValue(name);\n }\n if (isObject(name)) {\n for (attName in name) {\n if (!hasProp.call(name, attName)) continue;\n attValue = name[attName];\n this.attribute(attName, attValue);\n }\n } else {\n if (isFunction(value)) {\n value = value.apply();\n }\n if (this.options.keepNullAttributes && (value == null)) {\n this.attribs[name] = new XMLAttribute(this, name, \"\");\n } else if (value != null) {\n this.attribs[name] = new XMLAttribute(this, name, value);\n }\n }\n return this;\n };\n\n XMLElement.prototype.removeAttribute = function(name) {\n var attName, j, len;\n if (name == null) {\n throw new Error(\"Missing attribute name. \" + this.debugInfo());\n }\n name = getValue(name);\n if (Array.isArray(name)) {\n for (j = 0, len = name.length; j < len; j++) {\n attName = name[j];\n delete this.attribs[attName];\n }\n } else {\n delete this.attribs[name];\n }\n return this;\n };\n\n XMLElement.prototype.toString = function(options) {\n return this.options.writer.element(this, this.options.writer.filterOptions(options));\n };\n\n XMLElement.prototype.att = function(name, value) {\n return this.attribute(name, value);\n };\n\n XMLElement.prototype.a = function(name, value) {\n return this.attribute(name, value);\n };\n\n XMLElement.prototype.getAttribute = function(name) {\n if (this.attribs.hasOwnProperty(name)) {\n return this.attribs[name].value;\n } else {\n return null;\n }\n };\n\n XMLElement.prototype.setAttribute = function(name, value) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getAttributeNode = function(name) {\n if (this.attribs.hasOwnProperty(name)) {\n return this.attribs[name];\n } else {\n return null;\n }\n };\n\n XMLElement.prototype.setAttributeNode = function(newAttr) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.removeAttributeNode = function(oldAttr) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByTagName = function(name) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getAttributeNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.setAttributeNS = function(namespaceURI, qualifiedName, value) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.removeAttributeNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getAttributeNodeNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.setAttributeNodeNS = function(newAttr) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByTagNameNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.hasAttribute = function(name) {\n return this.attribs.hasOwnProperty(name);\n };\n\n XMLElement.prototype.hasAttributeNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.setIdAttribute = function(name, isId) {\n if (this.attribs.hasOwnProperty(name)) {\n return this.attribs[name].isId;\n } else {\n return isId;\n }\n };\n\n XMLElement.prototype.setIdAttributeNS = function(namespaceURI, localName, isId) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.setIdAttributeNode = function(idAttr, isId) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByTagName = function(tagname) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByTagNameNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByClassName = function(classNames) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.isEqualNode = function(node) {\n var i, j, ref1;\n if (!XMLElement.__super__.isEqualNode.apply(this, arguments).isEqualNode(node)) {\n return false;\n }\n if (node.namespaceURI !== this.namespaceURI) {\n return false;\n }\n if (node.prefix !== this.prefix) {\n return false;\n }\n if (node.localName !== this.localName) {\n return false;\n }\n if (node.attribs.length !== this.attribs.length) {\n return false;\n }\n for (i = j = 0, ref1 = this.attribs.length - 1; 0 <= ref1 ? j <= ref1 : j >= ref1; i = 0 <= ref1 ? ++j : --j) {\n if (!this.attribs[i].isEqualNode(node.attribs[i])) {\n return false;\n }\n }\n return true;\n };\n\n return XMLElement;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLNamedNodeMap;\n\n module.exports = XMLNamedNodeMap = (function() {\n function XMLNamedNodeMap(nodes) {\n this.nodes = nodes;\n }\n\n Object.defineProperty(XMLNamedNodeMap.prototype, 'length', {\n get: function() {\n return Object.keys(this.nodes).length || 0;\n }\n });\n\n XMLNamedNodeMap.prototype.clone = function() {\n return this.nodes = null;\n };\n\n XMLNamedNodeMap.prototype.getNamedItem = function(name) {\n return this.nodes[name];\n };\n\n XMLNamedNodeMap.prototype.setNamedItem = function(node) {\n var oldNode;\n oldNode = this.nodes[node.nodeName];\n this.nodes[node.nodeName] = node;\n return oldNode || null;\n };\n\n XMLNamedNodeMap.prototype.removeNamedItem = function(name) {\n var oldNode;\n oldNode = this.nodes[name];\n delete this.nodes[name];\n return oldNode || null;\n };\n\n XMLNamedNodeMap.prototype.item = function(index) {\n return this.nodes[Object.keys(this.nodes)[index]] || null;\n };\n\n XMLNamedNodeMap.prototype.getNamedItemNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLNamedNodeMap.prototype.setNamedItemNS = function(node) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLNamedNodeMap.prototype.removeNamedItemNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n return XMLNamedNodeMap;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLCData, XMLCharacterData,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLCharacterData = require('./XMLCharacterData');\n\n module.exports = XMLCData = (function(superClass) {\n extend(XMLCData, superClass);\n\n function XMLCData(parent, text) {\n XMLCData.__super__.constructor.call(this, parent);\n if (text == null) {\n throw new Error(\"Missing CDATA text. \" + this.debugInfo());\n }\n this.name = \"#cdata-section\";\n this.type = NodeType.CData;\n this.value = this.stringify.cdata(text);\n }\n\n XMLCData.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLCData.prototype.toString = function(options) {\n return this.options.writer.cdata(this, this.options.writer.filterOptions(options));\n };\n\n return XMLCData;\n\n })(XMLCharacterData);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLCharacterData, XMLComment,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLCharacterData = require('./XMLCharacterData');\n\n module.exports = XMLComment = (function(superClass) {\n extend(XMLComment, superClass);\n\n function XMLComment(parent, text) {\n XMLComment.__super__.constructor.call(this, parent);\n if (text == null) {\n throw new Error(\"Missing comment text. \" + this.debugInfo());\n }\n this.name = \"#comment\";\n this.type = NodeType.Comment;\n this.value = this.stringify.comment(text);\n }\n\n XMLComment.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLComment.prototype.toString = function(options) {\n return this.options.writer.comment(this, this.options.writer.filterOptions(options));\n };\n\n return XMLComment;\n\n })(XMLCharacterData);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDeclaration, XMLNode, isObject,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n isObject = require('./Utility').isObject;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDeclaration = (function(superClass) {\n extend(XMLDeclaration, superClass);\n\n function XMLDeclaration(parent, version, encoding, standalone) {\n var ref;\n XMLDeclaration.__super__.constructor.call(this, parent);\n if (isObject(version)) {\n ref = version, version = ref.version, encoding = ref.encoding, standalone = ref.standalone;\n }\n if (!version) {\n version = '1.0';\n }\n this.type = NodeType.Declaration;\n this.version = this.stringify.xmlVersion(version);\n if (encoding != null) {\n this.encoding = this.stringify.xmlEncoding(encoding);\n }\n if (standalone != null) {\n this.standalone = this.stringify.xmlStandalone(standalone);\n }\n }\n\n XMLDeclaration.prototype.toString = function(options) {\n return this.options.writer.declaration(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDeclaration;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDocType, XMLNamedNodeMap, XMLNode, isObject,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n isObject = require('./Utility').isObject;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n XMLDTDAttList = require('./XMLDTDAttList');\n\n XMLDTDEntity = require('./XMLDTDEntity');\n\n XMLDTDElement = require('./XMLDTDElement');\n\n XMLDTDNotation = require('./XMLDTDNotation');\n\n XMLNamedNodeMap = require('./XMLNamedNodeMap');\n\n module.exports = XMLDocType = (function(superClass) {\n extend(XMLDocType, superClass);\n\n function XMLDocType(parent, pubID, sysID) {\n var child, i, len, ref, ref1, ref2;\n XMLDocType.__super__.constructor.call(this, parent);\n this.type = NodeType.DocType;\n if (parent.children) {\n ref = parent.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n if (child.type === NodeType.Element) {\n this.name = child.name;\n break;\n }\n }\n }\n this.documentObject = parent;\n if (isObject(pubID)) {\n ref1 = pubID, pubID = ref1.pubID, sysID = ref1.sysID;\n }\n if (sysID == null) {\n ref2 = [pubID, sysID], sysID = ref2[0], pubID = ref2[1];\n }\n if (pubID != null) {\n this.pubID = this.stringify.dtdPubID(pubID);\n }\n if (sysID != null) {\n this.sysID = this.stringify.dtdSysID(sysID);\n }\n }\n\n Object.defineProperty(XMLDocType.prototype, 'entities', {\n get: function() {\n var child, i, len, nodes, ref;\n nodes = {};\n ref = this.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n if ((child.type === NodeType.EntityDeclaration) && !child.pe) {\n nodes[child.name] = child;\n }\n }\n return new XMLNamedNodeMap(nodes);\n }\n });\n\n Object.defineProperty(XMLDocType.prototype, 'notations', {\n get: function() {\n var child, i, len, nodes, ref;\n nodes = {};\n ref = this.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n if (child.type === NodeType.NotationDeclaration) {\n nodes[child.name] = child;\n }\n }\n return new XMLNamedNodeMap(nodes);\n }\n });\n\n Object.defineProperty(XMLDocType.prototype, 'publicId', {\n get: function() {\n return this.pubID;\n }\n });\n\n Object.defineProperty(XMLDocType.prototype, 'systemId', {\n get: function() {\n return this.sysID;\n }\n });\n\n Object.defineProperty(XMLDocType.prototype, 'internalSubset', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n XMLDocType.prototype.element = function(name, value) {\n var child;\n child = new XMLDTDElement(this, name, value);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.attList = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {\n var child;\n child = new XMLDTDAttList(this, elementName, attributeName, attributeType, defaultValueType, defaultValue);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.entity = function(name, value) {\n var child;\n child = new XMLDTDEntity(this, false, name, value);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.pEntity = function(name, value) {\n var child;\n child = new XMLDTDEntity(this, true, name, value);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.notation = function(name, value) {\n var child;\n child = new XMLDTDNotation(this, name, value);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.toString = function(options) {\n return this.options.writer.docType(this, this.options.writer.filterOptions(options));\n };\n\n XMLDocType.prototype.ele = function(name, value) {\n return this.element(name, value);\n };\n\n XMLDocType.prototype.att = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {\n return this.attList(elementName, attributeName, attributeType, defaultValueType, defaultValue);\n };\n\n XMLDocType.prototype.ent = function(name, value) {\n return this.entity(name, value);\n };\n\n XMLDocType.prototype.pent = function(name, value) {\n return this.pEntity(name, value);\n };\n\n XMLDocType.prototype.not = function(name, value) {\n return this.notation(name, value);\n };\n\n XMLDocType.prototype.up = function() {\n return this.root() || this.documentObject;\n };\n\n XMLDocType.prototype.isEqualNode = function(node) {\n if (!XMLDocType.__super__.isEqualNode.apply(this, arguments).isEqualNode(node)) {\n return false;\n }\n if (node.name !== this.name) {\n return false;\n }\n if (node.publicId !== this.publicId) {\n return false;\n }\n if (node.systemId !== this.systemId) {\n return false;\n }\n return true;\n };\n\n return XMLDocType;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDAttList, XMLNode,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDTDAttList = (function(superClass) {\n extend(XMLDTDAttList, superClass);\n\n function XMLDTDAttList(parent, elementName, attributeName, attributeType, defaultValueType, defaultValue) {\n XMLDTDAttList.__super__.constructor.call(this, parent);\n if (elementName == null) {\n throw new Error(\"Missing DTD element name. \" + this.debugInfo());\n }\n if (attributeName == null) {\n throw new Error(\"Missing DTD attribute name. \" + this.debugInfo(elementName));\n }\n if (!attributeType) {\n throw new Error(\"Missing DTD attribute type. \" + this.debugInfo(elementName));\n }\n if (!defaultValueType) {\n throw new Error(\"Missing DTD attribute default. \" + this.debugInfo(elementName));\n }\n if (defaultValueType.indexOf('#') !== 0) {\n defaultValueType = '#' + defaultValueType;\n }\n if (!defaultValueType.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/)) {\n throw new Error(\"Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT. \" + this.debugInfo(elementName));\n }\n if (defaultValue && !defaultValueType.match(/^(#FIXED|#DEFAULT)$/)) {\n throw new Error(\"Default value only applies to #FIXED or #DEFAULT. \" + this.debugInfo(elementName));\n }\n this.elementName = this.stringify.name(elementName);\n this.type = NodeType.AttributeDeclaration;\n this.attributeName = this.stringify.name(attributeName);\n this.attributeType = this.stringify.dtdAttType(attributeType);\n if (defaultValue) {\n this.defaultValue = this.stringify.dtdAttDefault(defaultValue);\n }\n this.defaultValueType = defaultValueType;\n }\n\n XMLDTDAttList.prototype.toString = function(options) {\n return this.options.writer.dtdAttList(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDTDAttList;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDEntity, XMLNode, isObject,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n isObject = require('./Utility').isObject;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDTDEntity = (function(superClass) {\n extend(XMLDTDEntity, superClass);\n\n function XMLDTDEntity(parent, pe, name, value) {\n XMLDTDEntity.__super__.constructor.call(this, parent);\n if (name == null) {\n throw new Error(\"Missing DTD entity name. \" + this.debugInfo(name));\n }\n if (value == null) {\n throw new Error(\"Missing DTD entity value. \" + this.debugInfo(name));\n }\n this.pe = !!pe;\n this.name = this.stringify.name(name);\n this.type = NodeType.EntityDeclaration;\n if (!isObject(value)) {\n this.value = this.stringify.dtdEntityValue(value);\n this.internal = true;\n } else {\n if (!value.pubID && !value.sysID) {\n throw new Error(\"Public and/or system identifiers are required for an external entity. \" + this.debugInfo(name));\n }\n if (value.pubID && !value.sysID) {\n throw new Error(\"System identifier is required for a public external entity. \" + this.debugInfo(name));\n }\n this.internal = false;\n if (value.pubID != null) {\n this.pubID = this.stringify.dtdPubID(value.pubID);\n }\n if (value.sysID != null) {\n this.sysID = this.stringify.dtdSysID(value.sysID);\n }\n if (value.nData != null) {\n this.nData = this.stringify.dtdNData(value.nData);\n }\n if (this.pe && this.nData) {\n throw new Error(\"Notation declaration is not allowed in a parameter entity. \" + this.debugInfo(name));\n }\n }\n }\n\n Object.defineProperty(XMLDTDEntity.prototype, 'publicId', {\n get: function() {\n return this.pubID;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'systemId', {\n get: function() {\n return this.sysID;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'notationName', {\n get: function() {\n return this.nData || null;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'inputEncoding', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'xmlEncoding', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'xmlVersion', {\n get: function() {\n return null;\n }\n });\n\n XMLDTDEntity.prototype.toString = function(options) {\n return this.options.writer.dtdEntity(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDTDEntity;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDElement, XMLNode,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDTDElement = (function(superClass) {\n extend(XMLDTDElement, superClass);\n\n function XMLDTDElement(parent, name, value) {\n XMLDTDElement.__super__.constructor.call(this, parent);\n if (name == null) {\n throw new Error(\"Missing DTD element name. \" + this.debugInfo());\n }\n if (!value) {\n value = '(#PCDATA)';\n }\n if (Array.isArray(value)) {\n value = '(' + value.join(',') + ')';\n }\n this.name = this.stringify.name(name);\n this.type = NodeType.ElementDeclaration;\n this.value = this.stringify.dtdElementValue(value);\n }\n\n XMLDTDElement.prototype.toString = function(options) {\n return this.options.writer.dtdElement(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDTDElement;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDNotation, XMLNode,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDTDNotation = (function(superClass) {\n extend(XMLDTDNotation, superClass);\n\n function XMLDTDNotation(parent, name, value) {\n XMLDTDNotation.__super__.constructor.call(this, parent);\n if (name == null) {\n throw new Error(\"Missing DTD notation name. \" + this.debugInfo(name));\n }\n if (!value.pubID && !value.sysID) {\n throw new Error(\"Public or system identifiers are required for an external entity. \" + this.debugInfo(name));\n }\n this.name = this.stringify.name(name);\n this.type = NodeType.NotationDeclaration;\n if (value.pubID != null) {\n this.pubID = this.stringify.dtdPubID(value.pubID);\n }\n if (value.sysID != null) {\n this.sysID = this.stringify.dtdSysID(value.sysID);\n }\n }\n\n Object.defineProperty(XMLDTDNotation.prototype, 'publicId', {\n get: function() {\n return this.pubID;\n }\n });\n\n Object.defineProperty(XMLDTDNotation.prototype, 'systemId', {\n get: function() {\n return this.sysID;\n }\n });\n\n XMLDTDNotation.prototype.toString = function(options) {\n return this.options.writer.dtdNotation(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDTDNotation;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLNode, XMLRaw,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLNode = require('./XMLNode');\n\n module.exports = XMLRaw = (function(superClass) {\n extend(XMLRaw, superClass);\n\n function XMLRaw(parent, text) {\n XMLRaw.__super__.constructor.call(this, parent);\n if (text == null) {\n throw new Error(\"Missing raw text. \" + this.debugInfo());\n }\n this.type = NodeType.Raw;\n this.value = this.stringify.raw(text);\n }\n\n XMLRaw.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLRaw.prototype.toString = function(options) {\n return this.options.writer.raw(this, this.options.writer.filterOptions(options));\n };\n\n return XMLRaw;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLCharacterData, XMLText,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLCharacterData = require('./XMLCharacterData');\n\n module.exports = XMLText = (function(superClass) {\n extend(XMLText, superClass);\n\n function XMLText(parent, text) {\n XMLText.__super__.constructor.call(this, parent);\n if (text == null) {\n throw new Error(\"Missing element text. \" + this.debugInfo());\n }\n this.name = \"#text\";\n this.type = NodeType.Text;\n this.value = this.stringify.text(text);\n }\n\n Object.defineProperty(XMLText.prototype, 'isElementContentWhitespace', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n Object.defineProperty(XMLText.prototype, 'wholeText', {\n get: function() {\n var next, prev, str;\n str = '';\n prev = this.previousSibling;\n while (prev) {\n str = prev.data + str;\n prev = prev.previousSibling;\n }\n str += this.data;\n next = this.nextSibling;\n while (next) {\n str = str + next.data;\n next = next.nextSibling;\n }\n return str;\n }\n });\n\n XMLText.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLText.prototype.toString = function(options) {\n return this.options.writer.text(this, this.options.writer.filterOptions(options));\n };\n\n XMLText.prototype.splitText = function(offset) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLText.prototype.replaceWholeText = function(content) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n return XMLText;\n\n })(XMLCharacterData);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLCharacterData, XMLProcessingInstruction,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLCharacterData = require('./XMLCharacterData');\n\n module.exports = XMLProcessingInstruction = (function(superClass) {\n extend(XMLProcessingInstruction, superClass);\n\n function XMLProcessingInstruction(parent, target, value) {\n XMLProcessingInstruction.__super__.constructor.call(this, parent);\n if (target == null) {\n throw new Error(\"Missing instruction target. \" + this.debugInfo());\n }\n this.type = NodeType.ProcessingInstruction;\n this.target = this.stringify.insTarget(target);\n this.name = this.target;\n if (value) {\n this.value = this.stringify.insValue(value);\n }\n }\n\n XMLProcessingInstruction.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLProcessingInstruction.prototype.toString = function(options) {\n return this.options.writer.processingInstruction(this, this.options.writer.filterOptions(options));\n };\n\n XMLProcessingInstruction.prototype.isEqualNode = function(node) {\n if (!XMLProcessingInstruction.__super__.isEqualNode.apply(this, arguments).isEqualNode(node)) {\n return false;\n }\n if (node.target !== this.target) {\n return false;\n }\n return true;\n };\n\n return XMLProcessingInstruction;\n\n })(XMLCharacterData);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLStringWriter, XMLWriterBase,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLWriterBase = require('./XMLWriterBase');\n\n module.exports = XMLStringWriter = (function(superClass) {\n extend(XMLStringWriter, superClass);\n\n function XMLStringWriter(options) {\n XMLStringWriter.__super__.constructor.call(this, options);\n }\n\n XMLStringWriter.prototype.document = function(doc, options) {\n var child, i, len, r, ref;\n options = this.filterOptions(options);\n r = '';\n ref = doc.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n r += this.writeChildNode(child, options, 0);\n }\n if (options.pretty && r.slice(-options.newline.length) === options.newline) {\n r = r.slice(0, -options.newline.length);\n }\n return r;\n };\n\n return XMLStringWriter;\n\n })(XMLWriterBase);\n\n}).call(this);\n","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\nmodule.exports = Writable;\n\n/* */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\nvar asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\n/**/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nutil.inherits(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n var hwm = options.highWaterMark;\n var writableHwm = options.writableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function () {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function (object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function (object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {\n return new Writable(options);\n }\n\n this._writableState = new WritableState(options, this);\n\n // legacy.\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n\n if (typeof options.writev === 'function') this._writev = options.writev;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n this.emit('error', new Error('Cannot pipe, not readable'));\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new Error('write after end');\n // TODO: defer error events consistently everywhere, not just the cb\n stream.emit('error', er);\n pna.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var valid = true;\n var er = false;\n\n if (chunk === null) {\n er = new TypeError('May not write null values to stream');\n } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n if (er) {\n stream.emit('error', er);\n pna.nextTick(cb, er);\n valid = false;\n }\n return valid;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n\n if (typeof cb !== 'function') cb = nop;\n\n if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n\n return ret;\n};\n\nWritable.prototype.cork = function () {\n var state = this._writableState;\n\n state.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n\n if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n\n state.length += len;\n\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n pna.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n pna.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n\n onwriteStateUpdate(state);\n\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state);\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n /**/\n asyncWrite(afterWrite, stream, state, finished, cb);\n /**/\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new Error('_write() is not implemented'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending && !state.finished) endWritable(this, state, cb);\n};\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n stream.emit('error', err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function') {\n state.pendingcb++;\n state.finalCalled = true;\n pna.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n }\n }\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) pna.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n if (state.corkedRequestsFree) {\n state.corkedRequestsFree.next = corkReq;\n } else {\n state.corkedRequestsFree = corkReq;\n }\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n get: function () {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\n\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n this.end();\n cb(err);\n};","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar origDefineProperty = Object.defineProperty;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar arePropertyDescriptorsSupported = function () {\n\tvar obj = {};\n\ttry {\n\t\torigDefineProperty(obj, 'x', { enumerable: false, value: obj });\n\t\t// eslint-disable-next-line no-unused-vars, no-restricted-syntax\n\t\tfor (var _ in obj) { // jscs:ignore disallowUnusedVariables\n\t\t\treturn false;\n\t\t}\n\t\treturn obj.x === obj;\n\t} catch (e) { /* this is IE 8. */\n\t\treturn false;\n\t}\n};\nvar supportsDescriptors = origDefineProperty && arePropertyDescriptorsSupported();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object && (!isFunction(predicate) || !predicate())) {\n\t\treturn;\n\t}\n\tif (supportsDescriptors) {\n\t\torigDefineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value;\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","/*global exports*/\nvar SignStream = require('./lib/sign-stream');\nvar VerifyStream = require('./lib/verify-stream');\n\nvar ALGORITHMS = [\n 'HS256', 'HS384', 'HS512',\n 'RS256', 'RS384', 'RS512',\n 'PS256', 'PS384', 'PS512',\n 'ES256', 'ES384', 'ES512'\n];\n\nexports.ALGORITHMS = ALGORITHMS;\nexports.sign = SignStream.sign;\nexports.verify = VerifyStream.verify;\nexports.decode = VerifyStream.decode;\nexports.isValid = VerifyStream.isValid;\nexports.createSign = function createSign(opts) {\n return new SignStream(opts);\n};\nexports.createVerify = function createVerify(opts) {\n return new VerifyStream(opts);\n};\n","'use strict'\n\nexports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require('randombytes')\nexports.createHash = exports.Hash = require('create-hash')\nexports.createHmac = exports.Hmac = require('create-hmac')\n\nvar algos = require('browserify-sign/algos')\nvar algoKeys = Object.keys(algos)\nvar hashes = ['sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'md5', 'rmd160'].concat(algoKeys)\nexports.getHashes = function () {\n return hashes\n}\n\nvar p = require('pbkdf2')\nexports.pbkdf2 = p.pbkdf2\nexports.pbkdf2Sync = p.pbkdf2Sync\n\nvar aes = require('browserify-cipher')\n\nexports.Cipher = aes.Cipher\nexports.createCipher = aes.createCipher\nexports.Cipheriv = aes.Cipheriv\nexports.createCipheriv = aes.createCipheriv\nexports.Decipher = aes.Decipher\nexports.createDecipher = aes.createDecipher\nexports.Decipheriv = aes.Decipheriv\nexports.createDecipheriv = aes.createDecipheriv\nexports.getCiphers = aes.getCiphers\nexports.listCiphers = aes.listCiphers\n\nvar dh = require('diffie-hellman')\n\nexports.DiffieHellmanGroup = dh.DiffieHellmanGroup\nexports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup\nexports.getDiffieHellman = dh.getDiffieHellman\nexports.createDiffieHellman = dh.createDiffieHellman\nexports.DiffieHellman = dh.DiffieHellman\n\nvar sign = require('browserify-sign')\n\nexports.createSign = sign.createSign\nexports.Sign = sign.Sign\nexports.createVerify = sign.createVerify\nexports.Verify = sign.Verify\n\nexports.createECDH = require('create-ecdh')\n\nvar publicEncrypt = require('public-encrypt')\n\nexports.publicEncrypt = publicEncrypt.publicEncrypt\nexports.privateEncrypt = publicEncrypt.privateEncrypt\nexports.publicDecrypt = publicEncrypt.publicDecrypt\nexports.privateDecrypt = publicEncrypt.privateDecrypt\n\n// the least I can do is make error messages for the rest of the node.js/crypto api.\n// ;[\n// 'createCredentials'\n// ].forEach(function (name) {\n// exports[name] = function () {\n// throw new Error([\n// 'sorry, ' + name + ' is not implemented yet',\n// 'we accept pull requests',\n// 'https://github.com/crypto-browserify/crypto-browserify'\n// ].join('\\n'))\n// }\n// })\n\nvar rf = require('randomfill')\n\nexports.randomFill = rf.randomFill\nexports.randomFillSync = rf.randomFillSync\n\nexports.createCredentials = function () {\n throw new Error([\n 'sorry, createCredentials is not implemented yet',\n 'we accept pull requests',\n 'https://github.com/crypto-browserify/crypto-browserify'\n ].join('\\n'))\n}\n\nexports.constants = {\n 'DH_CHECK_P_NOT_SAFE_PRIME': 2,\n 'DH_CHECK_P_NOT_PRIME': 1,\n 'DH_UNABLE_TO_CHECK_GENERATOR': 4,\n 'DH_NOT_SUITABLE_GENERATOR': 8,\n 'NPN_ENABLED': 1,\n 'ALPN_ENABLED': 1,\n 'RSA_PKCS1_PADDING': 1,\n 'RSA_SSLV23_PADDING': 2,\n 'RSA_NO_PADDING': 3,\n 'RSA_PKCS1_OAEP_PADDING': 4,\n 'RSA_X931_PADDING': 5,\n 'RSA_PKCS1_PSS_PADDING': 6,\n 'POINT_CONVERSION_COMPRESSED': 2,\n 'POINT_CONVERSION_UNCOMPRESSED': 4,\n 'POINT_CONVERSION_HYBRID': 6\n}\n","'use strict'\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\nvar Buffer = require('safe-buffer').Buffer\n\nvar ARRAY16 = new Array(16)\n\nfunction MD5 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n}\n\ninherits(MD5, HashBase)\n\nMD5.prototype._update = function () {\n var M = ARRAY16\n for (var i = 0; i < 16; ++i) M[i] = this._block.readInt32LE(i * 4)\n\n var a = this._a\n var b = this._b\n var c = this._c\n var d = this._d\n\n a = fnF(a, b, c, d, M[0], 0xd76aa478, 7)\n d = fnF(d, a, b, c, M[1], 0xe8c7b756, 12)\n c = fnF(c, d, a, b, M[2], 0x242070db, 17)\n b = fnF(b, c, d, a, M[3], 0xc1bdceee, 22)\n a = fnF(a, b, c, d, M[4], 0xf57c0faf, 7)\n d = fnF(d, a, b, c, M[5], 0x4787c62a, 12)\n c = fnF(c, d, a, b, M[6], 0xa8304613, 17)\n b = fnF(b, c, d, a, M[7], 0xfd469501, 22)\n a = fnF(a, b, c, d, M[8], 0x698098d8, 7)\n d = fnF(d, a, b, c, M[9], 0x8b44f7af, 12)\n c = fnF(c, d, a, b, M[10], 0xffff5bb1, 17)\n b = fnF(b, c, d, a, M[11], 0x895cd7be, 22)\n a = fnF(a, b, c, d, M[12], 0x6b901122, 7)\n d = fnF(d, a, b, c, M[13], 0xfd987193, 12)\n c = fnF(c, d, a, b, M[14], 0xa679438e, 17)\n b = fnF(b, c, d, a, M[15], 0x49b40821, 22)\n\n a = fnG(a, b, c, d, M[1], 0xf61e2562, 5)\n d = fnG(d, a, b, c, M[6], 0xc040b340, 9)\n c = fnG(c, d, a, b, M[11], 0x265e5a51, 14)\n b = fnG(b, c, d, a, M[0], 0xe9b6c7aa, 20)\n a = fnG(a, b, c, d, M[5], 0xd62f105d, 5)\n d = fnG(d, a, b, c, M[10], 0x02441453, 9)\n c = fnG(c, d, a, b, M[15], 0xd8a1e681, 14)\n b = fnG(b, c, d, a, M[4], 0xe7d3fbc8, 20)\n a = fnG(a, b, c, d, M[9], 0x21e1cde6, 5)\n d = fnG(d, a, b, c, M[14], 0xc33707d6, 9)\n c = fnG(c, d, a, b, M[3], 0xf4d50d87, 14)\n b = fnG(b, c, d, a, M[8], 0x455a14ed, 20)\n a = fnG(a, b, c, d, M[13], 0xa9e3e905, 5)\n d = fnG(d, a, b, c, M[2], 0xfcefa3f8, 9)\n c = fnG(c, d, a, b, M[7], 0x676f02d9, 14)\n b = fnG(b, c, d, a, M[12], 0x8d2a4c8a, 20)\n\n a = fnH(a, b, c, d, M[5], 0xfffa3942, 4)\n d = fnH(d, a, b, c, M[8], 0x8771f681, 11)\n c = fnH(c, d, a, b, M[11], 0x6d9d6122, 16)\n b = fnH(b, c, d, a, M[14], 0xfde5380c, 23)\n a = fnH(a, b, c, d, M[1], 0xa4beea44, 4)\n d = fnH(d, a, b, c, M[4], 0x4bdecfa9, 11)\n c = fnH(c, d, a, b, M[7], 0xf6bb4b60, 16)\n b = fnH(b, c, d, a, M[10], 0xbebfbc70, 23)\n a = fnH(a, b, c, d, M[13], 0x289b7ec6, 4)\n d = fnH(d, a, b, c, M[0], 0xeaa127fa, 11)\n c = fnH(c, d, a, b, M[3], 0xd4ef3085, 16)\n b = fnH(b, c, d, a, M[6], 0x04881d05, 23)\n a = fnH(a, b, c, d, M[9], 0xd9d4d039, 4)\n d = fnH(d, a, b, c, M[12], 0xe6db99e5, 11)\n c = fnH(c, d, a, b, M[15], 0x1fa27cf8, 16)\n b = fnH(b, c, d, a, M[2], 0xc4ac5665, 23)\n\n a = fnI(a, b, c, d, M[0], 0xf4292244, 6)\n d = fnI(d, a, b, c, M[7], 0x432aff97, 10)\n c = fnI(c, d, a, b, M[14], 0xab9423a7, 15)\n b = fnI(b, c, d, a, M[5], 0xfc93a039, 21)\n a = fnI(a, b, c, d, M[12], 0x655b59c3, 6)\n d = fnI(d, a, b, c, M[3], 0x8f0ccc92, 10)\n c = fnI(c, d, a, b, M[10], 0xffeff47d, 15)\n b = fnI(b, c, d, a, M[1], 0x85845dd1, 21)\n a = fnI(a, b, c, d, M[8], 0x6fa87e4f, 6)\n d = fnI(d, a, b, c, M[15], 0xfe2ce6e0, 10)\n c = fnI(c, d, a, b, M[6], 0xa3014314, 15)\n b = fnI(b, c, d, a, M[13], 0x4e0811a1, 21)\n a = fnI(a, b, c, d, M[4], 0xf7537e82, 6)\n d = fnI(d, a, b, c, M[11], 0xbd3af235, 10)\n c = fnI(c, d, a, b, M[2], 0x2ad7d2bb, 15)\n b = fnI(b, c, d, a, M[9], 0xeb86d391, 21)\n\n this._a = (this._a + a) | 0\n this._b = (this._b + b) | 0\n this._c = (this._c + c) | 0\n this._d = (this._d + d) | 0\n}\n\nMD5.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.allocUnsafe(16)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fnF (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnG (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnH (a, b, c, d, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnI (a, b, c, d, m, k, s) {\n return (rotl((a + ((c ^ (b | (~d)))) + m + k) | 0, s) + b) | 0\n}\n\nmodule.exports = MD5\n","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n callback.apply(this, args);\n };\n}\n\nfunction noop() {}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n\n var writableEnded = stream._writableState && stream._writableState.finished;\n\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n\n var onclose = function onclose() {\n var err;\n\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\n\nmodule.exports = eos;","'use strict'\nvar Buffer = require('buffer').Buffer\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\n\nvar ARRAY16 = new Array(16)\n\nvar zl = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n]\n\nvar zr = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n]\n\nvar sl = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n]\n\nvar sr = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n]\n\nvar hl = [0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e]\nvar hr = [0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000]\n\nfunction RIPEMD160 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n}\n\ninherits(RIPEMD160, HashBase)\n\nRIPEMD160.prototype._update = function () {\n var words = ARRAY16\n for (var j = 0; j < 16; ++j) words[j] = this._block.readInt32LE(j * 4)\n\n var al = this._a | 0\n var bl = this._b | 0\n var cl = this._c | 0\n var dl = this._d | 0\n var el = this._e | 0\n\n var ar = this._a | 0\n var br = this._b | 0\n var cr = this._c | 0\n var dr = this._d | 0\n var er = this._e | 0\n\n // computation\n for (var i = 0; i < 80; i += 1) {\n var tl\n var tr\n if (i < 16) {\n tl = fn1(al, bl, cl, dl, el, words[zl[i]], hl[0], sl[i])\n tr = fn5(ar, br, cr, dr, er, words[zr[i]], hr[0], sr[i])\n } else if (i < 32) {\n tl = fn2(al, bl, cl, dl, el, words[zl[i]], hl[1], sl[i])\n tr = fn4(ar, br, cr, dr, er, words[zr[i]], hr[1], sr[i])\n } else if (i < 48) {\n tl = fn3(al, bl, cl, dl, el, words[zl[i]], hl[2], sl[i])\n tr = fn3(ar, br, cr, dr, er, words[zr[i]], hr[2], sr[i])\n } else if (i < 64) {\n tl = fn4(al, bl, cl, dl, el, words[zl[i]], hl[3], sl[i])\n tr = fn2(ar, br, cr, dr, er, words[zr[i]], hr[3], sr[i])\n } else { // if (i<80) {\n tl = fn5(al, bl, cl, dl, el, words[zl[i]], hl[4], sl[i])\n tr = fn1(ar, br, cr, dr, er, words[zr[i]], hr[4], sr[i])\n }\n\n al = el\n el = dl\n dl = rotl(cl, 10)\n cl = bl\n bl = tl\n\n ar = er\n er = dr\n dr = rotl(cr, 10)\n cr = br\n br = tr\n }\n\n // update state\n var t = (this._b + cl + dr) | 0\n this._b = (this._c + dl + er) | 0\n this._c = (this._d + el + ar) | 0\n this._d = (this._e + al + br) | 0\n this._e = (this._a + bl + cr) | 0\n this._a = t\n}\n\nRIPEMD160.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.alloc ? Buffer.alloc(20) : new Buffer(20)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n buffer.writeInt32LE(this._e, 16)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fn1 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn2 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn3 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b | (~c)) ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn4 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn5 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ (c | (~d))) + m + k) | 0, s) + e) | 0\n}\n\nmodule.exports = RIPEMD160\n","var exports = module.exports = function SHA (algorithm) {\n algorithm = algorithm.toLowerCase()\n\n var Algorithm = exports[algorithm]\n if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')\n\n return new Algorithm()\n}\n\nexports.sha = require('./sha')\nexports.sha1 = require('./sha1')\nexports.sha224 = require('./sha224')\nexports.sha256 = require('./sha256')\nexports.sha384 = require('./sha384')\nexports.sha512 = require('./sha512')\n","'use strict';\n\nvar assert = require('minimalistic-assert');\n\nfunction Cipher(options) {\n this.options = options;\n\n this.type = this.options.type;\n this.blockSize = 8;\n this._init();\n\n this.buffer = new Array(this.blockSize);\n this.bufferOff = 0;\n}\nmodule.exports = Cipher;\n\nCipher.prototype._init = function _init() {\n // Might be overrided\n};\n\nCipher.prototype.update = function update(data) {\n if (data.length === 0)\n return [];\n\n if (this.type === 'decrypt')\n return this._updateDecrypt(data);\n else\n return this._updateEncrypt(data);\n};\n\nCipher.prototype._buffer = function _buffer(data, off) {\n // Append data to buffer\n var min = Math.min(this.buffer.length - this.bufferOff, data.length - off);\n for (var i = 0; i < min; i++)\n this.buffer[this.bufferOff + i] = data[off + i];\n this.bufferOff += min;\n\n // Shift next\n return min;\n};\n\nCipher.prototype._flushBuffer = function _flushBuffer(out, off) {\n this._update(this.buffer, 0, out, off);\n this.bufferOff = 0;\n return this.blockSize;\n};\n\nCipher.prototype._updateEncrypt = function _updateEncrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = ((this.bufferOff + data.length) / this.blockSize) | 0;\n var out = new Array(count * this.blockSize);\n\n if (this.bufferOff !== 0) {\n inputOff += this._buffer(data, inputOff);\n\n if (this.bufferOff === this.buffer.length)\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Write blocks\n var max = data.length - ((data.length - inputOff) % this.blockSize);\n for (; inputOff < max; inputOff += this.blockSize) {\n this._update(data, inputOff, out, outputOff);\n outputOff += this.blockSize;\n }\n\n // Queue rest\n for (; inputOff < data.length; inputOff++, this.bufferOff++)\n this.buffer[this.bufferOff] = data[inputOff];\n\n return out;\n};\n\nCipher.prototype._updateDecrypt = function _updateDecrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1;\n var out = new Array(count * this.blockSize);\n\n // TODO(indutny): optimize it, this is far from optimal\n for (; count > 0; count--) {\n inputOff += this._buffer(data, inputOff);\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Buffer rest of the input\n inputOff += this._buffer(data, inputOff);\n\n return out;\n};\n\nCipher.prototype.final = function final(buffer) {\n var first;\n if (buffer)\n first = this.update(buffer);\n\n var last;\n if (this.type === 'encrypt')\n last = this._finalEncrypt();\n else\n last = this._finalDecrypt();\n\n if (first)\n return first.concat(last);\n else\n return last;\n};\n\nCipher.prototype._pad = function _pad(buffer, off) {\n if (off === 0)\n return false;\n\n while (off < buffer.length)\n buffer[off++] = 0;\n\n return true;\n};\n\nCipher.prototype._finalEncrypt = function _finalEncrypt() {\n if (!this._pad(this.buffer, this.bufferOff))\n return [];\n\n var out = new Array(this.blockSize);\n this._update(this.buffer, 0, out, 0);\n return out;\n};\n\nCipher.prototype._unpad = function _unpad(buffer) {\n return buffer;\n};\n\nCipher.prototype._finalDecrypt = function _finalDecrypt() {\n assert.equal(this.bufferOff, this.blockSize, 'Not enough data to decrypt');\n var out = new Array(this.blockSize);\n this._flushBuffer(out, 0);\n\n return this._unpad(out);\n};\n","var ciphers = require('./encrypter')\nvar deciphers = require('./decrypter')\nvar modes = require('./modes/list.json')\n\nfunction getCiphers () {\n return Object.keys(modes)\n}\n\nexports.createCipher = exports.Cipher = ciphers.createCipher\nexports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv\nexports.createDecipher = exports.Decipher = deciphers.createDecipher\nexports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n","var modeModules = {\n ECB: require('./ecb'),\n CBC: require('./cbc'),\n CFB: require('./cfb'),\n CFB8: require('./cfb8'),\n CFB1: require('./cfb1'),\n OFB: require('./ofb'),\n CTR: require('./ctr'),\n GCM: require('./ctr')\n}\n\nvar modes = require('./list.json')\n\nfor (var key in modes) {\n modes[key].module = modeModules[modes[key].mode]\n}\n\nmodule.exports = modes\n","var r;\n\nmodule.exports = function rand(len) {\n if (!r)\n r = new Rand(null);\n\n return r.generate(len);\n};\n\nfunction Rand(rand) {\n this.rand = rand;\n}\nmodule.exports.Rand = Rand;\n\nRand.prototype.generate = function generate(len) {\n return this._rand(len);\n};\n\n// Emulate crypto API using randy\nRand.prototype._rand = function _rand(n) {\n if (this.rand.getBytes)\n return this.rand.getBytes(n);\n\n var res = new Uint8Array(n);\n for (var i = 0; i < res.length; i++)\n res[i] = this.rand.getByte();\n return res;\n};\n\nif (typeof self === 'object') {\n if (self.crypto && self.crypto.getRandomValues) {\n // Modern browsers\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.crypto.getRandomValues(arr);\n return arr;\n };\n } else if (self.msCrypto && self.msCrypto.getRandomValues) {\n // IE\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.msCrypto.getRandomValues(arr);\n return arr;\n };\n\n // Safari's WebWorkers do not have `crypto`\n } else if (typeof window === 'object') {\n // Old junk\n Rand.prototype._rand = function() {\n throw new Error('Not implemented yet');\n };\n }\n} else {\n // Node.js or Web worker with no crypto support\n try {\n var crypto = require('crypto');\n if (typeof crypto.randomBytes !== 'function')\n throw new Error('Not supported');\n\n Rand.prototype._rand = function _rand(n) {\n return crypto.randomBytes(n);\n };\n } catch (e) {\n }\n}\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","var BN = require('bn.js')\nvar randomBytes = require('randombytes')\n\nfunction blind (priv) {\n var r = getr(priv)\n var blinder = r.toRed(BN.mont(priv.modulus)).redPow(new BN(priv.publicExponent)).fromRed()\n return { blinder: blinder, unblinder: r.invm(priv.modulus) }\n}\n\nfunction getr (priv) {\n var len = priv.modulus.byteLength()\n var r\n do {\n r = new BN(randomBytes(len))\n } while (r.cmp(priv.modulus) >= 0 || !r.umod(priv.prime1) || !r.umod(priv.prime2))\n return r\n}\n\nfunction crt (msg, priv) {\n var blinds = blind(priv)\n var len = priv.modulus.byteLength()\n var blinded = new BN(msg).mul(blinds.blinder).umod(priv.modulus)\n var c1 = blinded.toRed(BN.mont(priv.prime1))\n var c2 = blinded.toRed(BN.mont(priv.prime2))\n var qinv = priv.coefficient\n var p = priv.prime1\n var q = priv.prime2\n var m1 = c1.redPow(priv.exponent1).fromRed()\n var m2 = c2.redPow(priv.exponent2).fromRed()\n var h = m1.isub(m2).imul(qinv).umod(p).imul(q)\n return m2.iadd(h).imul(blinds.unblinder).umod(priv.modulus).toArrayLike(Buffer, 'be', len)\n}\ncrt.getr = getr\n\nmodule.exports = crt\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buffer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this._strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [number & 0x3ffffff];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [0];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this._strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n var z = 0;\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n var b;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n b = c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n\n r |= b;\n z |= b;\n }\n\n assert(!(z & 0xf0), 'Invalid character in ' + str);\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this._strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var b = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n b = c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n assert(c >= 0 && b < mul, 'Invalid character');\n r += b;\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [0];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n function move (dest, src) {\n dest.words = src.words;\n dest.length = src.length;\n dest.negative = src.negative;\n dest.red = src.red;\n }\n\n BN.prototype._move = function _move (dest) {\n move(dest, this);\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype._strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n // Check Symbol.for because not everywhere where Symbol defined\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility\n if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {\n try {\n BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;\n } catch (e) {\n BN.prototype.inspect = inspect;\n }\n } else {\n BN.prototype.inspect = inspect;\n }\n\n function inspect () {\n return (this.red ? '';\n }\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modrn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16, 2);\n };\n\n if (Buffer) {\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n return this.toArrayLike(Buffer, endian, length);\n };\n }\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n var allocate = function allocate (ArrayType, size) {\n if (ArrayType.allocUnsafe) {\n return ArrayType.allocUnsafe(size);\n }\n return new ArrayType(size);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n this._strip();\n\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n var res = allocate(ArrayType, reqLength);\n var postfix = endian === 'le' ? 'LE' : 'BE';\n this['_toArrayLike' + postfix](res, byteLength);\n return res;\n };\n\n BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) {\n var position = 0;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position++] = word & 0xff;\n if (position < res.length) {\n res[position++] = (word >> 8) & 0xff;\n }\n if (position < res.length) {\n res[position++] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position < res.length) {\n res[position++] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position < res.length) {\n res[position++] = carry;\n\n while (position < res.length) {\n res[position++] = 0;\n }\n }\n };\n\n BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) {\n var position = res.length - 1;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position--] = word & 0xff;\n if (position >= 0) {\n res[position--] = (word >> 8) & 0xff;\n }\n if (position >= 0) {\n res[position--] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position >= 0) {\n res[position--] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position >= 0) {\n res[position--] = carry;\n\n while (position >= 0) {\n res[position--] = 0;\n }\n }\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] >>> wbit) & 0x01;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this._strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this._strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this._strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this._strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this._strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this._strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n function jumboMulTo (self, num, out) {\n // Temporary disable, see https://github.com/indutny/bn.js/issues/211\n // var fftm = new FFTM();\n // return fftm.mulp(self, num, out);\n return bigMulTo(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out._strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this._strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) <= num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this._strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this._strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this._strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q._strip();\n }\n a._strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modrn = function modrn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return isNegNum ? -acc : acc;\n };\n\n // WARNING: DEPRECATED\n BN.prototype.modn = function modn (num) {\n return this.modrn(num);\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n this._strip();\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this._strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is a BN v4 instance\n r.strip();\n } else {\n // r is a BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n\n move(a, a.umod(this.m)._forceRed(this));\n return a;\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","'use strict';\n\nvar elliptic = exports;\n\nelliptic.version = require('../package.json').version;\nelliptic.utils = require('./elliptic/utils');\nelliptic.rand = require('brorand');\nelliptic.curve = require('./elliptic/curve');\nelliptic.curves = require('./elliptic/curves');\n\n// Protocols\nelliptic.ec = require('./elliptic/ec');\nelliptic.eddsa = require('./elliptic/eddsa');\n","'use strict';\n\nvar curves = exports;\n\nvar hash = require('hash.js');\nvar curve = require('./curve');\nvar utils = require('./utils');\n\nvar assert = utils.assert;\n\nfunction PresetCurve(options) {\n if (options.type === 'short')\n this.curve = new curve.short(options);\n else if (options.type === 'edwards')\n this.curve = new curve.edwards(options);\n else\n this.curve = new curve.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n\n assert(this.g.validate(), 'Invalid curve');\n assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');\n}\ncurves.PresetCurve = PresetCurve;\n\nfunction defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve\n });\n return curve;\n }\n });\n}\n\ndefineCurve('p192', {\n type: 'short',\n prime: 'p192',\n p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',\n b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',\n n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',\n hash: hash.sha256,\n gRed: false,\n g: [\n '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',\n '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811'\n ]\n});\n\ndefineCurve('p224', {\n type: 'short',\n prime: 'p224',\n p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',\n b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',\n n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',\n hash: hash.sha256,\n gRed: false,\n g: [\n 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',\n 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34'\n ]\n});\n\ndefineCurve('p256', {\n type: 'short',\n prime: null,\n p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',\n a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',\n b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',\n n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',\n hash: hash.sha256,\n gRed: false,\n g: [\n '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',\n '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5'\n ]\n});\n\ndefineCurve('p384', {\n type: 'short',\n prime: null,\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 ffffffff',\n a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 fffffffc',\n b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +\n '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',\n n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +\n 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',\n hash: hash.sha384,\n gRed: false,\n g: [\n 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +\n '5502f25d bf55296c 3a545e38 72760ab7',\n '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +\n '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f'\n ]\n});\n\ndefineCurve('p521', {\n type: 'short',\n prime: null,\n p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff',\n a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff fffffffc',\n b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +\n '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +\n '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',\n n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +\n 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',\n hash: hash.sha512,\n gRed: false,\n g: [\n '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +\n '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +\n 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',\n '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +\n '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +\n '3fad0761 353c7086 a272c240 88be9476 9fd16650'\n ]\n});\n\ndefineCurve('curve25519', {\n type: 'mont',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '76d06',\n b: '1',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '9'\n ]\n});\n\ndefineCurve('ed25519', {\n type: 'edwards',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '-1',\n c: '1',\n // -121665 * (121666^(-1)) (mod P)\n d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',\n\n // 4/5\n '6666666666666666666666666666666666666666666666666666666666666658'\n ]\n});\n\nvar pre;\ntry {\n pre = require('./precomputed/secp256k1');\n} catch (e) {\n pre = undefined;\n}\n\ndefineCurve('secp256k1', {\n type: 'short',\n prime: 'k256',\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',\n a: '0',\n b: '7',\n n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',\n h: '1',\n hash: hash.sha256,\n\n // Precomputed endomorphism\n beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',\n lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',\n basis: [\n {\n a: '3086d221a7d46bcde86c90e49284eb15',\n b: '-e4437ed6010e88286f547fa90abfe4c3'\n },\n {\n a: '114ca50f7a8e2f3f657c1108d9d44cfd8',\n b: '3086d221a7d46bcde86c90e49284eb15'\n }\n ],\n\n gRed: false,\n g: [\n '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',\n '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n pre\n ]\n});\n","var hash = exports;\n\nhash.utils = require('./hash/utils');\nhash.common = require('./hash/common');\nhash.sha = require('./hash/sha');\nhash.ripemd = require('./hash/ripemd');\nhash.hmac = require('./hash/hmac');\n\n// Proxy hash functions to the main object\nhash.sha1 = hash.sha.sha1;\nhash.sha256 = hash.sha.sha256;\nhash.sha224 = hash.sha.sha224;\nhash.sha384 = hash.sha.sha384;\nhash.sha512 = hash.sha.sha512;\nhash.ripemd160 = hash.ripemd.ripemd160;\n","/* eslint-disable node/no-deprecated-api */\n\n'use strict'\n\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\nvar safer = {}\n\nvar key\n\nfor (key in buffer) {\n if (!buffer.hasOwnProperty(key)) continue\n if (key === 'SlowBuffer' || key === 'Buffer') continue\n safer[key] = buffer[key]\n}\n\nvar Safer = safer.Buffer = {}\nfor (key in Buffer) {\n if (!Buffer.hasOwnProperty(key)) continue\n if (key === 'allocUnsafe' || key === 'allocUnsafeSlow') continue\n Safer[key] = Buffer[key]\n}\n\nsafer.Buffer.prototype = Buffer.prototype\n\nif (!Safer.from || Safer.from === Uint8Array.from) {\n Safer.from = function (value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('The \"value\" argument must not be of type number. Received type ' + typeof value)\n }\n if (value && typeof value.length === 'undefined') {\n throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type ' + typeof value)\n }\n return Buffer(value, encodingOrOffset, length)\n }\n}\n\nif (!Safer.alloc) {\n Safer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('The \"size\" argument must be of type number. Received type ' + typeof size)\n }\n if (size < 0 || size >= 2 * (1 << 30)) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n var buf = Buffer(size)\n if (!fill || fill.length === 0) {\n buf.fill(0)\n } else if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n return buf\n }\n}\n\nif (!safer.kStringMaxLength) {\n try {\n safer.kStringMaxLength = process.binding('buffer').kStringMaxLength\n } catch (e) {\n // we can't determine kStringMaxLength in environments where process.binding\n // is unsupported, so let's not set it\n }\n}\n\nif (!safer.constants) {\n safer.constants = {\n MAX_LENGTH: safer.kMaxLength\n }\n if (safer.kStringMaxLength) {\n safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength\n }\n}\n\nmodule.exports = safer\n","'use strict';\n\nconst Reporter = require('../base/reporter').Reporter;\nconst EncoderBuffer = require('../base/buffer').EncoderBuffer;\nconst DecoderBuffer = require('../base/buffer').DecoderBuffer;\nconst assert = require('minimalistic-assert');\n\n// Supported tags\nconst tags = [\n 'seq', 'seqof', 'set', 'setof', 'objid', 'bool',\n 'gentime', 'utctime', 'null_', 'enum', 'int', 'objDesc',\n 'bitstr', 'bmpstr', 'charstr', 'genstr', 'graphstr', 'ia5str', 'iso646str',\n 'numstr', 'octstr', 'printstr', 't61str', 'unistr', 'utf8str', 'videostr'\n];\n\n// Public methods list\nconst methods = [\n 'key', 'obj', 'use', 'optional', 'explicit', 'implicit', 'def', 'choice',\n 'any', 'contains'\n].concat(tags);\n\n// Overrided methods list\nconst overrided = [\n '_peekTag', '_decodeTag', '_use',\n '_decodeStr', '_decodeObjid', '_decodeTime',\n '_decodeNull', '_decodeInt', '_decodeBool', '_decodeList',\n\n '_encodeComposite', '_encodeStr', '_encodeObjid', '_encodeTime',\n '_encodeNull', '_encodeInt', '_encodeBool'\n];\n\nfunction Node(enc, parent, name) {\n const state = {};\n this._baseState = state;\n\n state.name = name;\n state.enc = enc;\n\n state.parent = parent || null;\n state.children = null;\n\n // State\n state.tag = null;\n state.args = null;\n state.reverseArgs = null;\n state.choice = null;\n state.optional = false;\n state.any = false;\n state.obj = false;\n state.use = null;\n state.useDecoder = null;\n state.key = null;\n state['default'] = null;\n state.explicit = null;\n state.implicit = null;\n state.contains = null;\n\n // Should create new instance on each method\n if (!state.parent) {\n state.children = [];\n this._wrap();\n }\n}\nmodule.exports = Node;\n\nconst stateProps = [\n 'enc', 'parent', 'children', 'tag', 'args', 'reverseArgs', 'choice',\n 'optional', 'any', 'obj', 'use', 'alteredUse', 'key', 'default', 'explicit',\n 'implicit', 'contains'\n];\n\nNode.prototype.clone = function clone() {\n const state = this._baseState;\n const cstate = {};\n stateProps.forEach(function(prop) {\n cstate[prop] = state[prop];\n });\n const res = new this.constructor(cstate.parent);\n res._baseState = cstate;\n return res;\n};\n\nNode.prototype._wrap = function wrap() {\n const state = this._baseState;\n methods.forEach(function(method) {\n this[method] = function _wrappedMethod() {\n const clone = new this.constructor(this);\n state.children.push(clone);\n return clone[method].apply(clone, arguments);\n };\n }, this);\n};\n\nNode.prototype._init = function init(body) {\n const state = this._baseState;\n\n assert(state.parent === null);\n body.call(this);\n\n // Filter children\n state.children = state.children.filter(function(child) {\n return child._baseState.parent === this;\n }, this);\n assert.equal(state.children.length, 1, 'Root node can have only one child');\n};\n\nNode.prototype._useArgs = function useArgs(args) {\n const state = this._baseState;\n\n // Filter children and args\n const children = args.filter(function(arg) {\n return arg instanceof this.constructor;\n }, this);\n args = args.filter(function(arg) {\n return !(arg instanceof this.constructor);\n }, this);\n\n if (children.length !== 0) {\n assert(state.children === null);\n state.children = children;\n\n // Replace parent to maintain backward link\n children.forEach(function(child) {\n child._baseState.parent = this;\n }, this);\n }\n if (args.length !== 0) {\n assert(state.args === null);\n state.args = args;\n state.reverseArgs = args.map(function(arg) {\n if (typeof arg !== 'object' || arg.constructor !== Object)\n return arg;\n\n const res = {};\n Object.keys(arg).forEach(function(key) {\n if (key == (key | 0))\n key |= 0;\n const value = arg[key];\n res[value] = key;\n });\n return res;\n });\n }\n};\n\n//\n// Overrided methods\n//\n\noverrided.forEach(function(method) {\n Node.prototype[method] = function _overrided() {\n const state = this._baseState;\n throw new Error(method + ' not implemented for encoding: ' + state.enc);\n };\n});\n\n//\n// Public methods\n//\n\ntags.forEach(function(tag) {\n Node.prototype[tag] = function _tagMethod() {\n const state = this._baseState;\n const args = Array.prototype.slice.call(arguments);\n\n assert(state.tag === null);\n state.tag = tag;\n\n this._useArgs(args);\n\n return this;\n };\n});\n\nNode.prototype.use = function use(item) {\n assert(item);\n const state = this._baseState;\n\n assert(state.use === null);\n state.use = item;\n\n return this;\n};\n\nNode.prototype.optional = function optional() {\n const state = this._baseState;\n\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.def = function def(val) {\n const state = this._baseState;\n\n assert(state['default'] === null);\n state['default'] = val;\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.explicit = function explicit(num) {\n const state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.explicit = num;\n\n return this;\n};\n\nNode.prototype.implicit = function implicit(num) {\n const state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.implicit = num;\n\n return this;\n};\n\nNode.prototype.obj = function obj() {\n const state = this._baseState;\n const args = Array.prototype.slice.call(arguments);\n\n state.obj = true;\n\n if (args.length !== 0)\n this._useArgs(args);\n\n return this;\n};\n\nNode.prototype.key = function key(newKey) {\n const state = this._baseState;\n\n assert(state.key === null);\n state.key = newKey;\n\n return this;\n};\n\nNode.prototype.any = function any() {\n const state = this._baseState;\n\n state.any = true;\n\n return this;\n};\n\nNode.prototype.choice = function choice(obj) {\n const state = this._baseState;\n\n assert(state.choice === null);\n state.choice = obj;\n this._useArgs(Object.keys(obj).map(function(key) {\n return obj[key];\n }));\n\n return this;\n};\n\nNode.prototype.contains = function contains(item) {\n const state = this._baseState;\n\n assert(state.use === null);\n state.contains = item;\n\n return this;\n};\n\n//\n// Decoding\n//\n\nNode.prototype._decode = function decode(input, options) {\n const state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return input.wrapResult(state.children[0]._decode(input, options));\n\n let result = state['default'];\n let present = true;\n\n let prevKey = null;\n if (state.key !== null)\n prevKey = input.enterKey(state.key);\n\n // Check if tag is there\n if (state.optional) {\n let tag = null;\n if (state.explicit !== null)\n tag = state.explicit;\n else if (state.implicit !== null)\n tag = state.implicit;\n else if (state.tag !== null)\n tag = state.tag;\n\n if (tag === null && !state.any) {\n // Trial and Error\n const save = input.save();\n try {\n if (state.choice === null)\n this._decodeGeneric(state.tag, input, options);\n else\n this._decodeChoice(input, options);\n present = true;\n } catch (e) {\n present = false;\n }\n input.restore(save);\n } else {\n present = this._peekTag(input, tag, state.any);\n\n if (input.isError(present))\n return present;\n }\n }\n\n // Push object on stack\n let prevObj;\n if (state.obj && present)\n prevObj = input.enterObject();\n\n if (present) {\n // Unwrap explicit values\n if (state.explicit !== null) {\n const explicit = this._decodeTag(input, state.explicit);\n if (input.isError(explicit))\n return explicit;\n input = explicit;\n }\n\n const start = input.offset;\n\n // Unwrap implicit and normal values\n if (state.use === null && state.choice === null) {\n let save;\n if (state.any)\n save = input.save();\n const body = this._decodeTag(\n input,\n state.implicit !== null ? state.implicit : state.tag,\n state.any\n );\n if (input.isError(body))\n return body;\n\n if (state.any)\n result = input.raw(save);\n else\n input = body;\n }\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), start, input.length, 'tagged');\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), input.offset, input.length, 'content');\n\n // Select proper method for tag\n if (state.any) {\n // no-op\n } else if (state.choice === null) {\n result = this._decodeGeneric(state.tag, input, options);\n } else {\n result = this._decodeChoice(input, options);\n }\n\n if (input.isError(result))\n return result;\n\n // Decode children\n if (!state.any && state.choice === null && state.children !== null) {\n state.children.forEach(function decodeChildren(child) {\n // NOTE: We are ignoring errors here, to let parser continue with other\n // parts of encoded data\n child._decode(input, options);\n });\n }\n\n // Decode contained/encoded by schema, only in bit or octet strings\n if (state.contains && (state.tag === 'octstr' || state.tag === 'bitstr')) {\n const data = new DecoderBuffer(result);\n result = this._getUse(state.contains, input._reporterState.obj)\n ._decode(data, options);\n }\n }\n\n // Pop object\n if (state.obj && present)\n result = input.leaveObject(prevObj);\n\n // Set key\n if (state.key !== null && (result !== null || present === true))\n input.leaveKey(prevKey, state.key, result);\n else if (prevKey !== null)\n input.exitKey(prevKey);\n\n return result;\n};\n\nNode.prototype._decodeGeneric = function decodeGeneric(tag, input, options) {\n const state = this._baseState;\n\n if (tag === 'seq' || tag === 'set')\n return null;\n if (tag === 'seqof' || tag === 'setof')\n return this._decodeList(input, tag, state.args[0], options);\n else if (/str$/.test(tag))\n return this._decodeStr(input, tag, options);\n else if (tag === 'objid' && state.args)\n return this._decodeObjid(input, state.args[0], state.args[1], options);\n else if (tag === 'objid')\n return this._decodeObjid(input, null, null, options);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._decodeTime(input, tag, options);\n else if (tag === 'null_')\n return this._decodeNull(input, options);\n else if (tag === 'bool')\n return this._decodeBool(input, options);\n else if (tag === 'objDesc')\n return this._decodeStr(input, tag, options);\n else if (tag === 'int' || tag === 'enum')\n return this._decodeInt(input, state.args && state.args[0], options);\n\n if (state.use !== null) {\n return this._getUse(state.use, input._reporterState.obj)\n ._decode(input, options);\n } else {\n return input.error('unknown tag: ' + tag);\n }\n};\n\nNode.prototype._getUse = function _getUse(entity, obj) {\n\n const state = this._baseState;\n // Create altered use decoder if implicit is set\n state.useDecoder = this._use(entity, obj);\n assert(state.useDecoder._baseState.parent === null);\n state.useDecoder = state.useDecoder._baseState.children[0];\n if (state.implicit !== state.useDecoder._baseState.implicit) {\n state.useDecoder = state.useDecoder.clone();\n state.useDecoder._baseState.implicit = state.implicit;\n }\n return state.useDecoder;\n};\n\nNode.prototype._decodeChoice = function decodeChoice(input, options) {\n const state = this._baseState;\n let result = null;\n let match = false;\n\n Object.keys(state.choice).some(function(key) {\n const save = input.save();\n const node = state.choice[key];\n try {\n const value = node._decode(input, options);\n if (input.isError(value))\n return false;\n\n result = { type: key, value: value };\n match = true;\n } catch (e) {\n input.restore(save);\n return false;\n }\n return true;\n }, this);\n\n if (!match)\n return input.error('Choice not matched');\n\n return result;\n};\n\n//\n// Encoding\n//\n\nNode.prototype._createEncoderBuffer = function createEncoderBuffer(data) {\n return new EncoderBuffer(data, this.reporter);\n};\n\nNode.prototype._encode = function encode(data, reporter, parent) {\n const state = this._baseState;\n if (state['default'] !== null && state['default'] === data)\n return;\n\n const result = this._encodeValue(data, reporter, parent);\n if (result === undefined)\n return;\n\n if (this._skipDefault(result, reporter, parent))\n return;\n\n return result;\n};\n\nNode.prototype._encodeValue = function encode(data, reporter, parent) {\n const state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return state.children[0]._encode(data, reporter || new Reporter());\n\n let result = null;\n\n // Set reporter to share it with a child class\n this.reporter = reporter;\n\n // Check if data is there\n if (state.optional && data === undefined) {\n if (state['default'] !== null)\n data = state['default'];\n else\n return;\n }\n\n // Encode children first\n let content = null;\n let primitive = false;\n if (state.any) {\n // Anything that was given is translated to buffer\n result = this._createEncoderBuffer(data);\n } else if (state.choice) {\n result = this._encodeChoice(data, reporter);\n } else if (state.contains) {\n content = this._getUse(state.contains, parent)._encode(data, reporter);\n primitive = true;\n } else if (state.children) {\n content = state.children.map(function(child) {\n if (child._baseState.tag === 'null_')\n return child._encode(null, reporter, data);\n\n if (child._baseState.key === null)\n return reporter.error('Child should have a key');\n const prevKey = reporter.enterKey(child._baseState.key);\n\n if (typeof data !== 'object')\n return reporter.error('Child expected, but input is not object');\n\n const res = child._encode(data[child._baseState.key], reporter, data);\n reporter.leaveKey(prevKey);\n\n return res;\n }, this).filter(function(child) {\n return child;\n });\n content = this._createEncoderBuffer(content);\n } else {\n if (state.tag === 'seqof' || state.tag === 'setof') {\n // TODO(indutny): this should be thrown on DSL level\n if (!(state.args && state.args.length === 1))\n return reporter.error('Too many args for : ' + state.tag);\n\n if (!Array.isArray(data))\n return reporter.error('seqof/setof, but data is not Array');\n\n const child = this.clone();\n child._baseState.implicit = null;\n content = this._createEncoderBuffer(data.map(function(item) {\n const state = this._baseState;\n\n return this._getUse(state.args[0], data)._encode(item, reporter);\n }, child));\n } else if (state.use !== null) {\n result = this._getUse(state.use, parent)._encode(data, reporter);\n } else {\n content = this._encodePrimitive(state.tag, data);\n primitive = true;\n }\n }\n\n // Encode data itself\n if (!state.any && state.choice === null) {\n const tag = state.implicit !== null ? state.implicit : state.tag;\n const cls = state.implicit === null ? 'universal' : 'context';\n\n if (tag === null) {\n if (state.use === null)\n reporter.error('Tag could be omitted only for .use()');\n } else {\n if (state.use === null)\n result = this._encodeComposite(tag, primitive, cls, content);\n }\n }\n\n // Wrap in explicit\n if (state.explicit !== null)\n result = this._encodeComposite(state.explicit, false, 'context', result);\n\n return result;\n};\n\nNode.prototype._encodeChoice = function encodeChoice(data, reporter) {\n const state = this._baseState;\n\n const node = state.choice[data.type];\n if (!node) {\n assert(\n false,\n data.type + ' not found in ' +\n JSON.stringify(Object.keys(state.choice)));\n }\n return node._encode(data.value, reporter);\n};\n\nNode.prototype._encodePrimitive = function encodePrimitive(tag, data) {\n const state = this._baseState;\n\n if (/str$/.test(tag))\n return this._encodeStr(data, tag);\n else if (tag === 'objid' && state.args)\n return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);\n else if (tag === 'objid')\n return this._encodeObjid(data, null, null);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._encodeTime(data, tag);\n else if (tag === 'null_')\n return this._encodeNull();\n else if (tag === 'int' || tag === 'enum')\n return this._encodeInt(data, state.args && state.reverseArgs[0]);\n else if (tag === 'bool')\n return this._encodeBool(data);\n else if (tag === 'objDesc')\n return this._encodeStr(data, tag);\n else\n throw new Error('Unsupported tag: ' + tag);\n};\n\nNode.prototype._isNumstr = function isNumstr(str) {\n return /^[0-9 ]*$/.test(str);\n};\n\nNode.prototype._isPrintstr = function isPrintstr(str) {\n return /^[A-Za-z0-9 '()+,-./:=?]*$/.test(str);\n};\n","'use strict';\n\nconst inherits = require('inherits');\n\nfunction Reporter(options) {\n this._reporterState = {\n obj: null,\n path: [],\n options: options || {},\n errors: []\n };\n}\nexports.Reporter = Reporter;\n\nReporter.prototype.isError = function isError(obj) {\n return obj instanceof ReporterError;\n};\n\nReporter.prototype.save = function save() {\n const state = this._reporterState;\n\n return { obj: state.obj, pathLen: state.path.length };\n};\n\nReporter.prototype.restore = function restore(data) {\n const state = this._reporterState;\n\n state.obj = data.obj;\n state.path = state.path.slice(0, data.pathLen);\n};\n\nReporter.prototype.enterKey = function enterKey(key) {\n return this._reporterState.path.push(key);\n};\n\nReporter.prototype.exitKey = function exitKey(index) {\n const state = this._reporterState;\n\n state.path = state.path.slice(0, index - 1);\n};\n\nReporter.prototype.leaveKey = function leaveKey(index, key, value) {\n const state = this._reporterState;\n\n this.exitKey(index);\n if (state.obj !== null)\n state.obj[key] = value;\n};\n\nReporter.prototype.path = function path() {\n return this._reporterState.path.join('/');\n};\n\nReporter.prototype.enterObject = function enterObject() {\n const state = this._reporterState;\n\n const prev = state.obj;\n state.obj = {};\n return prev;\n};\n\nReporter.prototype.leaveObject = function leaveObject(prev) {\n const state = this._reporterState;\n\n const now = state.obj;\n state.obj = prev;\n return now;\n};\n\nReporter.prototype.error = function error(msg) {\n let err;\n const state = this._reporterState;\n\n const inherited = msg instanceof ReporterError;\n if (inherited) {\n err = msg;\n } else {\n err = new ReporterError(state.path.map(function(elem) {\n return '[' + JSON.stringify(elem) + ']';\n }).join(''), msg.message || msg, msg.stack);\n }\n\n if (!state.options.partial)\n throw err;\n\n if (!inherited)\n state.errors.push(err);\n\n return err;\n};\n\nReporter.prototype.wrapResult = function wrapResult(result) {\n const state = this._reporterState;\n if (!state.options.partial)\n return result;\n\n return {\n result: this.isError(result) ? null : result,\n errors: state.errors\n };\n};\n\nfunction ReporterError(path, msg) {\n this.path = path;\n this.rethrow(msg);\n}\ninherits(ReporterError, Error);\n\nReporterError.prototype.rethrow = function rethrow(msg) {\n this.message = msg + ' at: ' + (this.path || '(shallow)');\n if (Error.captureStackTrace)\n Error.captureStackTrace(this, ReporterError);\n\n if (!this.stack) {\n try {\n // IE only adds stack when thrown\n throw new Error(this.message);\n } catch (e) {\n this.stack = e.stack;\n }\n }\n return this;\n};\n","'use strict';\n\n// Helper\nfunction reverse(map) {\n const res = {};\n\n Object.keys(map).forEach(function(key) {\n // Convert key to integer if it is stringified\n if ((key | 0) == key)\n key = key | 0;\n\n const value = map[key];\n res[value] = key;\n });\n\n return res;\n}\n\nexports.tagClass = {\n 0: 'universal',\n 1: 'application',\n 2: 'context',\n 3: 'private'\n};\nexports.tagClassByName = reverse(exports.tagClass);\n\nexports.tag = {\n 0x00: 'end',\n 0x01: 'bool',\n 0x02: 'int',\n 0x03: 'bitstr',\n 0x04: 'octstr',\n 0x05: 'null_',\n 0x06: 'objid',\n 0x07: 'objDesc',\n 0x08: 'external',\n 0x09: 'real',\n 0x0a: 'enum',\n 0x0b: 'embed',\n 0x0c: 'utf8str',\n 0x0d: 'relativeOid',\n 0x10: 'seq',\n 0x11: 'set',\n 0x12: 'numstr',\n 0x13: 'printstr',\n 0x14: 't61str',\n 0x15: 'videostr',\n 0x16: 'ia5str',\n 0x17: 'utctime',\n 0x18: 'gentime',\n 0x19: 'graphstr',\n 0x1a: 'iso646str',\n 0x1b: 'genstr',\n 0x1c: 'unistr',\n 0x1d: 'charstr',\n 0x1e: 'bmpstr'\n};\nexports.tagByName = reverse(exports.tag);\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buffer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","// just pre-load all the stuff that index.js lazily exports\nconst internalRe = require('./internal/re')\nconst constants = require('./internal/constants')\nconst SemVer = require('./classes/semver')\nconst identifiers = require('./internal/identifiers')\nconst parse = require('./functions/parse')\nconst valid = require('./functions/valid')\nconst clean = require('./functions/clean')\nconst inc = require('./functions/inc')\nconst diff = require('./functions/diff')\nconst major = require('./functions/major')\nconst minor = require('./functions/minor')\nconst patch = require('./functions/patch')\nconst prerelease = require('./functions/prerelease')\nconst compare = require('./functions/compare')\nconst rcompare = require('./functions/rcompare')\nconst compareLoose = require('./functions/compare-loose')\nconst compareBuild = require('./functions/compare-build')\nconst sort = require('./functions/sort')\nconst rsort = require('./functions/rsort')\nconst gt = require('./functions/gt')\nconst lt = require('./functions/lt')\nconst eq = require('./functions/eq')\nconst neq = require('./functions/neq')\nconst gte = require('./functions/gte')\nconst lte = require('./functions/lte')\nconst cmp = require('./functions/cmp')\nconst coerce = require('./functions/coerce')\nconst Comparator = require('./classes/comparator')\nconst Range = require('./classes/range')\nconst satisfies = require('./functions/satisfies')\nconst toComparators = require('./ranges/to-comparators')\nconst maxSatisfying = require('./ranges/max-satisfying')\nconst minSatisfying = require('./ranges/min-satisfying')\nconst minVersion = require('./ranges/min-version')\nconst validRange = require('./ranges/valid')\nconst outside = require('./ranges/outside')\nconst gtr = require('./ranges/gtr')\nconst ltr = require('./ranges/ltr')\nconst intersects = require('./ranges/intersects')\nconst simplifyRange = require('./ranges/simplify')\nconst subset = require('./ranges/subset')\nmodule.exports = {\n parse,\n valid,\n clean,\n inc,\n diff,\n major,\n minor,\n patch,\n prerelease,\n compare,\n rcompare,\n compareLoose,\n compareBuild,\n sort,\n rsort,\n gt,\n lt,\n eq,\n neq,\n gte,\n lte,\n cmp,\n coerce,\n Comparator,\n Range,\n satisfies,\n toComparators,\n maxSatisfying,\n minSatisfying,\n minVersion,\n validRange,\n outside,\n gtr,\n ltr,\n intersects,\n simplifyRange,\n subset,\n SemVer,\n re: internalRe.re,\n src: internalRe.src,\n tokens: internalRe.t,\n SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,\n RELEASE_TYPES: constants.RELEASE_TYPES,\n compareIdentifiers: identifiers.compareIdentifiers,\n rcompareIdentifiers: identifiers.rcompareIdentifiers,\n}\n","// parse out just the options we care about\nconst looseOption = Object.freeze({ loose: true })\nconst emptyOpts = Object.freeze({ })\nconst parseOptions = options => {\n if (!options) {\n return emptyOpts\n }\n\n if (typeof options !== 'object') {\n return looseOption\n }\n\n return options\n}\nmodule.exports = parseOptions\n","const SemVer = require('../classes/semver')\nconst compareBuild = (a, b, loose) => {\n const versionA = new SemVer(a, loose)\n const versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\nmodule.exports = compareBuild\n","const compare = require('./compare')\nconst lt = (a, b, loose) => compare(a, b, loose) < 0\nmodule.exports = lt\n","const compare = require('./compare')\nconst gte = (a, b, loose) => compare(a, b, loose) >= 0\nmodule.exports = gte\n","const compare = require('./compare')\nconst lte = (a, b, loose) => compare(a, b, loose) <= 0\nmodule.exports = lte\n","const SemVer = require('../classes/semver')\nconst Comparator = require('../classes/comparator')\nconst { ANY } = Comparator\nconst Range = require('../classes/range')\nconst satisfies = require('../functions/satisfies')\nconst gt = require('../functions/gt')\nconst lt = require('../functions/lt')\nconst lte = require('../functions/lte')\nconst gte = require('../functions/gte')\n\nconst outside = (version, range, hilo, options) => {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n let gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisfies the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let high = null\n let low = null\n\n comparators.forEach((comparator) => {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nmodule.exports = outside\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param {*} value - the value to check\n * @returns {boolean} true if the given value is a date\n * @throws {TypeError} 1 arguments required\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\n\nexport default function isDate(value) {\n requiredArgs(1, arguments);\n return value instanceof Date || _typeof(value) === 'object' && Object.prototype.toString.call(value) === '[object Date]';\n}","import isDate from \"../isDate/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {*} date - the date to check\n * @returns {Boolean} the date is valid\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\n\nexport default function isValid(dirtyDate) {\n requiredArgs(1, arguments);\n\n if (!isDate(dirtyDate) && typeof dirtyDate !== 'number') {\n return false;\n }\n\n var date = toDate(dirtyDate);\n return !isNaN(Number(date));\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_MINUTE = 60000;\n/**\n * @name addMinutes\n * @category Minute Helpers\n * @summary Add the specified number of minutes to the given date.\n *\n * @description\n * Add the specified number of minutes to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of minutes to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the minutes added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 30 minutes to 10 July 2014 12:00:00:\n * const result = addMinutes(new Date(2014, 6, 10, 12, 0), 30)\n * //=> Thu Jul 10 2014 12:30:00\n */\n\nexport default function addMinutes(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, amount * MILLISECONDS_IN_MINUTE);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_HOUR = 3600000;\n/**\n * @name addHours\n * @category Hour Helpers\n * @summary Add the specified number of hours to the given date.\n *\n * @description\n * Add the specified number of hours to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of hours to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the hours added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 2 hours to 10 July 2014 23:00:00:\n * const result = addHours(new Date(2014, 6, 10, 23, 0), 2)\n * //=> Fri Jul 11 2014 01:00:00\n */\n\nexport default function addHours(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, amount * MILLISECONDS_IN_HOUR);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addDays from \"../addDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addWeeks\n * @category Week Helpers\n * @summary Add the specified number of weeks to the given date.\n *\n * @description\n * Add the specified number of week to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of weeks to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the weeks added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 4 weeks to 1 September 2014:\n * const result = addWeeks(new Date(2014, 8, 1), 4)\n * //=> Mon Sep 29 2014 00:00:00\n */\n\nexport default function addWeeks(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n var days = amount * 7;\n return addDays(dirtyDate, days);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addQuarters\n * @category Quarter Helpers\n * @summary Add the specified number of year quarters to the given date.\n *\n * @description\n * Add the specified number of year quarters to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of quarters to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the quarters added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 1 quarter to 1 September 2014:\n * const result = addQuarters(new Date(2014, 8, 1), 1)\n * //=> Mon Dec 01 2014 00:00:00\n */\n\nexport default function addQuarters(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n var months = amount * 3;\n return addMonths(dirtyDate, months);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addYears\n * @category Year Helpers\n * @summary Add the specified number of years to the given date.\n *\n * @description\n * Add the specified number of years to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of years to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the years added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 5 years to 1 September 2014:\n * const result = addYears(new Date(2014, 8, 1), 5)\n * //=> Sun Sep 01 2019 00:00:00\n */\n\nexport default function addYears(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMonths(dirtyDate, amount * 12);\n}","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = res[2] || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n","export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`]) +\n parseFloat(styles[`border${sideB}Width`])\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop);\n const marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import computeAutoPlacement from '../utils/computeAutoPlacement';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
    \n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nexport default function update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n let data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {},\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(\n this.state,\n this.popper,\n this.reference,\n this.options.positionFixed\n );\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(\n this.options.placement,\n data.offsets.reference,\n this.popper,\n this.reference,\n this.options.modifiers.flip.boundariesElement,\n this.options.modifiers.flip.padding\n );\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(\n this.popper,\n data.offsets.reference,\n data.placement\n );\n\n data.offsets.popper.position = this.options.positionFixed\n ? 'fixed'\n : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","import isModifierEnabled from '../utils/isModifierEnabled';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nexport default function destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import setupEventListeners from '../utils/setupEventListeners';\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nexport default function enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(\n this.reference,\n this.options,\n this.state,\n this.scheduleUpdate\n );\n }\n}\n","import removeEventListeners from '../utils/removeEventListeners';\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nexport default function disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","import getSupportedPropertyName from '../utils/getSupportedPropertyName';\nimport find from '../utils/find';\nimport getOffsetParent from '../utils/getOffsetParent';\nimport getBoundingClientRect from '../utils/getBoundingClientRect';\nimport getRoundedOffsets from '../utils/getRoundedOffsets';\nimport isBrowser from '../utils/isBrowser';\n\nconst isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeStyle(data, options) {\n const { x, y } = options;\n const { popper } = data.offsets;\n\n // Remove this legacy support in Popper.js v2\n const legacyGpuAccelerationOption = find(\n data.instance.modifiers,\n modifier => modifier.name === 'applyStyle'\n ).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn(\n 'WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'\n );\n }\n const gpuAcceleration =\n legacyGpuAccelerationOption !== undefined\n ? legacyGpuAccelerationOption\n : options.gpuAcceleration;\n\n const offsetParent = getOffsetParent(data.instance.popper);\n const offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n const styles = {\n position: popper.position,\n };\n\n const offsets = getRoundedOffsets(\n data,\n window.devicePixelRatio < 2 || !isFirefox\n );\n\n const sideA = x === 'bottom' ? 'top' : 'bottom';\n const sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n const prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n let left, top;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = `translate3d(${left}px, ${top}px, 0)`;\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n const invertTop = sideA === 'bottom' ? -1 : 1;\n const invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = `${sideA}, ${sideB}`;\n }\n\n // Attributes\n const attributes = {\n 'x-placement': data.placement,\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = { ...attributes, ...data.attributes };\n data.styles = { ...styles, ...data.styles };\n data.arrowStyles = { ...data.offsets.arrow, ...data.arrowStyles };\n\n return data;\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
    \n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","/**\n * List of accepted placements to use as values of the `placement` option.
    \n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
    \n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nexport default [\n 'auto-start',\n 'auto',\n 'auto-end',\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start',\n];\n","import placements from '../methods/placements';\n\n// Get rid of `auto` `auto-start` and `auto-end`\nconst validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nexport default function clockwise(placement, counter = false) {\n const index = validPlacements.indexOf(placement);\n const arr = validPlacements\n .slice(index + 1)\n .concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n","import getOppositePlacement from '../utils/getOppositePlacement';\nimport getOppositeVariation from '../utils/getOppositeVariation';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\nimport getBoundaries from '../utils/getBoundaries';\nimport isModifierEnabled from '../utils/isModifierEnabled';\nimport clockwise from '../utils/clockwise';\n\nconst BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise',\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n options.boundariesElement,\n data.positionFixed\n );\n\n let placement = data.placement.split('-')[0];\n let placementOpposite = getOppositePlacement(placement);\n let variation = data.placement.split('-')[1] || '';\n\n let flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach((step, index) => {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n const popperOffsets = data.offsets.popper;\n const refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n const floor = Math.floor;\n const overlapsRef =\n (placement === 'left' &&\n floor(popperOffsets.right) > floor(refOffsets.left)) ||\n (placement === 'right' &&\n floor(popperOffsets.left) < floor(refOffsets.right)) ||\n (placement === 'top' &&\n floor(popperOffsets.bottom) > floor(refOffsets.top)) ||\n (placement === 'bottom' &&\n floor(popperOffsets.top) < floor(refOffsets.bottom));\n\n const overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n const overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n const overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n const overflowsBottom =\n floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n const overflowsBoundaries =\n (placement === 'left' && overflowsLeft) ||\n (placement === 'right' && overflowsRight) ||\n (placement === 'top' && overflowsTop) ||\n (placement === 'bottom' && overflowsBottom);\n\n // flip the variation if required\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n const flippedVariationByRef =\n !!options.flipVariations &&\n ((isVertical && variation === 'start' && overflowsLeft) ||\n (isVertical && variation === 'end' && overflowsRight) ||\n (!isVertical && variation === 'start' && overflowsTop) ||\n (!isVertical && variation === 'end' && overflowsBottom));\n\n // flips variation if popper content overflows boundaries\n const flippedVariationByContent =\n !!options.flipVariationsByContent &&\n ((isVertical && variation === 'start' && overflowsRight) ||\n (isVertical && variation === 'end' && overflowsLeft) ||\n (!isVertical && variation === 'start' && overflowsBottom) ||\n (!isVertical && variation === 'end' && overflowsTop));\n\n const flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = {\n ...data.offsets.popper,\n ...getPopperOffsets(\n data.instance.popper,\n data.offsets.reference,\n data.placement\n ),\n };\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n","import isNumeric from '../utils/isNumeric';\nimport getClientRect from '../utils/getClientRect';\nimport find from '../utils/find';\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nexport function toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n const split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n const value = +split[1];\n const unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n let element;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n const rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n let size;\n if (unit === 'vh') {\n size = Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n );\n } else {\n size = Math.max(\n document.documentElement.clientWidth,\n window.innerWidth || 0\n );\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nexport function parseOffset(\n offset,\n popperOffsets,\n referenceOffsets,\n basePlacement\n) {\n const offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n const useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n const fragments = offset.split(/(\\+|\\-)/).map(frag => frag.trim());\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n const divider = fragments.indexOf(\n find(fragments, frag => frag.search(/,|\\s/) !== -1)\n );\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn(\n 'Offsets separated by white space(s) are deprecated, use a comma (,) instead.'\n );\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n const splitRegex = /\\s*,\\s*|\\s+/;\n let ops = divider !== -1\n ? [\n fragments\n .slice(0, divider)\n .concat([fragments[divider].split(splitRegex)[0]]),\n [fragments[divider].split(splitRegex)[1]].concat(\n fragments.slice(divider + 1)\n ),\n ]\n : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map((op, index) => {\n // Most of the units rely on the orientation of the popper\n const measurement = (index === 1 ? !useHeight : useHeight)\n ? 'height'\n : 'width';\n let mergeWithPrevious = false;\n return (\n op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce((a, b) => {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(str => toValue(str, measurement, popperOffsets, referenceOffsets))\n );\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach((op, index) => {\n op.forEach((frag, index2) => {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nexport default function offset(data, { offset }) {\n const { placement, offsets: { popper, reference } } = data;\n const basePlacement = placement.split('-')[0];\n\n let offsets;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n","import applyStyle, { applyStyleOnLoad } from './applyStyle';\nimport computeStyle from './computeStyle';\nimport arrow from './arrow';\nimport flip from './flip';\nimport keepTogether from './keepTogether';\nimport offset from './offset';\nimport preventOverflow from './preventOverflow';\nimport shift from './shift';\nimport hide from './hide';\nimport inner from './inner';\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
    \n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
    \n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nexport default {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
    \n * It will read the variation of the `placement` property.
    \n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift,\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
    \n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
    \n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
    \n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0,\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
    \n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
    \n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent',\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether,\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]',\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false,\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner,\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide,\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right',\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined,\n },\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n","import modifiers from '../modifiers/index';\n\n/**\n * Default options provided to Popper.js constructor.
    \n * These can be overridden using the `options` argument of Popper.js.
    \n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nexport default {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
    \n * By default, it is set to no-op.
    \n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: () => {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
    \n * By default, it is set to no-op.
    \n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: () => {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers,\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function shift(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n const { reference, popper } = data.offsets;\n const isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n const side = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n const shiftOffsets = {\n start: { [side]: reference[side] },\n end: {\n [side]: reference[side] + reference[measurement] - popper[measurement],\n },\n };\n\n data.offsets.popper = { ...popper, ...shiftOffsets[shiftvariation] };\n }\n\n return data;\n}\n","import getOffsetParent from '../utils/getOffsetParent';\nimport getBoundaries from '../utils/getBoundaries';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function preventOverflow(data, options) {\n let boundariesElement =\n options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n const transformProp = getSupportedPropertyName('transform');\n const popperStyles = data.instance.popper.style; // assignment to help minification\n const { top, left, [transformProp]: transform } = popperStyles;\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n boundariesElement,\n data.positionFixed\n );\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n const order = options.priority;\n let popper = data.offsets.popper;\n\n const check = {\n primary(placement) {\n let value = popper[placement];\n if (\n popper[placement] < boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return { [placement]: value };\n },\n secondary(placement) {\n const mainSide = placement === 'right' ? 'left' : 'top';\n let value = popper[mainSide];\n if (\n popper[placement] > boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.min(\n popper[mainSide],\n boundaries[placement] -\n (placement === 'right' ? popper.width : popper.height)\n );\n }\n return { [mainSide]: value };\n },\n };\n\n order.forEach(placement => {\n const side =\n ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = { ...popper, ...check[side](placement) };\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function keepTogether(data) {\n const { popper, reference } = data.offsets;\n const placement = data.placement.split('-')[0];\n const floor = Math.floor;\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n const side = isVertical ? 'right' : 'bottom';\n const opSide = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] =\n floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOuterSizes from '../utils/getOuterSizes';\nimport isModifierRequired from '../utils/isModifierRequired';\nimport getStyleComputedProperty from '../utils/getStyleComputedProperty';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function arrow(data, options) {\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n let arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn(\n 'WARNING: `arrow.element` must be child of its popper element!'\n );\n return data;\n }\n }\n\n const placement = data.placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n const len = isVertical ? 'height' : 'width';\n const sideCapitalized = isVertical ? 'Top' : 'Left';\n const side = sideCapitalized.toLowerCase();\n const altSide = isVertical ? 'left' : 'top';\n const opSide = isVertical ? 'bottom' : 'right';\n const arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -=\n popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] +=\n reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n const center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n const css = getStyleComputedProperty(data.instance.popper);\n const popperMarginSide = parseFloat(css[`margin${sideCapitalized}`]);\n const popperBorderSide = parseFloat(css[`border${sideCapitalized}Width`]);\n let sideValue =\n center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = {\n [side]: Math.round(sideValue),\n [altSide]: '', // make sure to unset any eventual altSide value from the DOM node\n };\n\n return data;\n}\n","/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nexport default function getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOppositePlacement from '../utils/getOppositePlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function inner(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n const subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] =\n reference[basePlacement] -\n (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n","import isModifierRequired from '../utils/isModifierRequired';\nimport find from '../utils/find';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n const refRect = data.offsets.reference;\n const bound = find(\n data.instance.modifiers,\n modifier => modifier.name === 'preventOverflow'\n ).boundaries;\n\n if (\n refRect.bottom < bound.top ||\n refRect.left > bound.right ||\n refRect.top > bound.bottom ||\n refRect.right < bound.left\n ) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n","/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nexport default function getRoundedOffsets(data, shouldRound) {\n const { popper, reference } = data.offsets;\n const { round, floor } = Math;\n const noRound = v => v;\n \n const referenceWidth = round(reference.width);\n const popperWidth = round(popper.width);\n \n const isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n const isVariation = data.placement.indexOf('-') !== -1;\n const sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n const bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n const horizontalToInteger = !shouldRound\n ? noRound\n : isVertical || isVariation || sameWidthParity\n ? round\n : floor;\n const verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(\n bothOddWidth && !isVariation && shouldRound\n ? popper.left - 1\n : popper.left\n ),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right),\n };\n}\n","import setStyles from '../utils/setStyles';\nimport setAttributes from '../utils/setAttributes';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nexport default function applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nexport function applyStyleOnLoad(\n reference,\n popper,\n options,\n modifierOptions,\n state\n) {\n // compute reference element offsets\n const referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n const placement = computeAutoPlacement(\n options.placement,\n referenceOffsets,\n popper,\n reference,\n options.modifiers.flip.boundariesElement,\n options.modifiers.flip.padding\n );\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","// Utils\nimport debounce from './utils/debounce';\nimport isFunction from './utils/isFunction';\n\n// Methods\nimport update from './methods/update';\nimport destroy from './methods/destroy';\nimport enableEventListeners from './methods/enableEventListeners';\nimport disableEventListeners from './methods/disableEventListeners';\nimport Defaults from './methods/defaults';\nimport placements from './methods/placements';\n\nexport default class Popper {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n constructor(reference, popper, options = {}) {\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = { ...Popper.Defaults, ...options };\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: [],\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys({\n ...Popper.Defaults.modifiers,\n ...options.modifiers,\n }).forEach(name => {\n this.options.modifiers[name] = {\n // If it's a built-in modifier, use it as base\n ...(Popper.Defaults.modifiers[name] || {}),\n // If there are custom options, override and merge with default ones\n ...(options.modifiers ? options.modifiers[name] : {}),\n };\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers)\n .map(name => ({\n name,\n ...this.options.modifiers[name],\n }))\n // sort the modifiers by order\n .sort((a, b) => a.order - b.order);\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(modifierOptions => {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(\n this.reference,\n this.popper,\n this.options,\n modifierOptions,\n this.state\n );\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n const eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n update() {\n return update.call(this);\n }\n destroy() {\n return destroy.call(this);\n }\n enableEventListeners() {\n return enableEventListeners.call(this);\n }\n disableEventListeners() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n scheduleUpdate = () => requestAnimationFrame(this.update);\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n static Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\n\n static placements = placements;\n\n static Defaults = Defaults;\n}\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
    \n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _implementation = require('./implementation');\n\nvar _implementation2 = _interopRequireDefault(_implementation);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _react2.default.createContext || _implementation2.default;\nmodule.exports = exports['default'];","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports,require(\"react\"),require(\"prop-types\"),require(\"classnames\"),require(\"date-fns/isDate\"),require(\"date-fns/isValid\"),require(\"date-fns/format\"),require(\"date-fns/addMinutes\"),require(\"date-fns/addHours\"),require(\"date-fns/addDays\"),require(\"date-fns/addWeeks\"),require(\"date-fns/addMonths\"),require(\"date-fns/addQuarters\"),require(\"date-fns/addYears\"),require(\"date-fns/subMinutes\"),require(\"date-fns/subHours\"),require(\"date-fns/subDays\"),require(\"date-fns/subWeeks\"),require(\"date-fns/subMonths\"),require(\"date-fns/subQuarters\"),require(\"date-fns/subYears\"),require(\"date-fns/getSeconds\"),require(\"date-fns/getMinutes\"),require(\"date-fns/getHours\"),require(\"date-fns/getDay\"),require(\"date-fns/getDate\"),require(\"date-fns/getISOWeek\"),require(\"date-fns/getMonth\"),require(\"date-fns/getQuarter\"),require(\"date-fns/getYear\"),require(\"date-fns/getTime\"),require(\"date-fns/setSeconds\"),require(\"date-fns/setMinutes\"),require(\"date-fns/setHours\"),require(\"date-fns/setMonth\"),require(\"date-fns/setQuarter\"),require(\"date-fns/setYear\"),require(\"date-fns/min\"),require(\"date-fns/max\"),require(\"date-fns/differenceInCalendarDays\"),require(\"date-fns/differenceInCalendarMonths\"),require(\"date-fns/differenceInCalendarWeeks\"),require(\"date-fns/differenceInCalendarYears\"),require(\"date-fns/startOfDay\"),require(\"date-fns/startOfWeek\"),require(\"date-fns/startOfMonth\"),require(\"date-fns/startOfQuarter\"),require(\"date-fns/startOfYear\"),require(\"date-fns/endOfDay\"),require(\"date-fns/endOfWeek\"),require(\"date-fns/endOfMonth\"),require(\"date-fns/endOfYear\"),require(\"date-fns/isEqual\"),require(\"date-fns/isSameDay\"),require(\"date-fns/isSameMonth\"),require(\"date-fns/isSameYear\"),require(\"date-fns/isSameQuarter\"),require(\"date-fns/isAfter\"),require(\"date-fns/isBefore\"),require(\"date-fns/isWithinInterval\"),require(\"date-fns/toDate\"),require(\"date-fns/parse\"),require(\"date-fns/parseISO\"),require(\"react-onclickoutside\"),require(\"react-dom\"),require(\"react-popper\"),require(\"date-fns/set\")):\"function\"==typeof define&&define.amd?define([\"exports\",\"react\",\"prop-types\",\"classnames\",\"date-fns/isDate\",\"date-fns/isValid\",\"date-fns/format\",\"date-fns/addMinutes\",\"date-fns/addHours\",\"date-fns/addDays\",\"date-fns/addWeeks\",\"date-fns/addMonths\",\"date-fns/addQuarters\",\"date-fns/addYears\",\"date-fns/subMinutes\",\"date-fns/subHours\",\"date-fns/subDays\",\"date-fns/subWeeks\",\"date-fns/subMonths\",\"date-fns/subQuarters\",\"date-fns/subYears\",\"date-fns/getSeconds\",\"date-fns/getMinutes\",\"date-fns/getHours\",\"date-fns/getDay\",\"date-fns/getDate\",\"date-fns/getISOWeek\",\"date-fns/getMonth\",\"date-fns/getQuarter\",\"date-fns/getYear\",\"date-fns/getTime\",\"date-fns/setSeconds\",\"date-fns/setMinutes\",\"date-fns/setHours\",\"date-fns/setMonth\",\"date-fns/setQuarter\",\"date-fns/setYear\",\"date-fns/min\",\"date-fns/max\",\"date-fns/differenceInCalendarDays\",\"date-fns/differenceInCalendarMonths\",\"date-fns/differenceInCalendarWeeks\",\"date-fns/differenceInCalendarYears\",\"date-fns/startOfDay\",\"date-fns/startOfWeek\",\"date-fns/startOfMonth\",\"date-fns/startOfQuarter\",\"date-fns/startOfYear\",\"date-fns/endOfDay\",\"date-fns/endOfWeek\",\"date-fns/endOfMonth\",\"date-fns/endOfYear\",\"date-fns/isEqual\",\"date-fns/isSameDay\",\"date-fns/isSameMonth\",\"date-fns/isSameYear\",\"date-fns/isSameQuarter\",\"date-fns/isAfter\",\"date-fns/isBefore\",\"date-fns/isWithinInterval\",\"date-fns/toDate\",\"date-fns/parse\",\"date-fns/parseISO\",\"react-onclickoutside\",\"react-dom\",\"react-popper\",\"date-fns/set\"],t):t((e=\"undefined\"!=typeof globalThis?globalThis:e||self).DatePicker={},e.React,e.PropTypes,e.classNames,e.isDate,e.isValidDate,e.format,e.addMinutes,e.addHours,e.addDays,e.addWeeks,e.addMonths,e.addQuarters,e.addYears,null,null,e.subDays,e.subWeeks,e.subMonths,e.subQuarters,e.subYears,e.getSeconds,e.getMinutes,e.getHours,e.getDay,e.getDate,e.getISOWeek,e.getMonth,e.getQuarter,e.getYear,e.getTime,e.setSeconds,e.setMinutes,e.setHours,e.setMonth,e.setQuarter,e.setYear,e.min,e.max,e.differenceInCalendarDays,e.differenceInCalendarMonths,null,e.differenceInCalendarYears,e.startOfDay,e.startOfWeek,e.startOfMonth,e.startOfQuarter,e.startOfYear,e.endOfDay,null,e.endOfMonth,e.endOfYear,e.dfIsEqual,e.dfIsSameDay,e.dfIsSameMonth,e.dfIsSameYear,e.dfIsSameQuarter,e.isAfter,e.isBefore,e.isWithinInterval,e.toDate,e.parse,e.parseISO,e.onClickOutside,e.ReactDOM,e.ReactPopper,e.set)}(this,(function(e,t,r,a,n,o,s,i,p,l,d,c,u,f,h,m,y,v,D,g,w,k,b,S,C,_,M,P,E,N,O,x,Y,I,T,L,R,F,A,q,K,W,B,Q,j,H,V,U,$,z,G,J,X,Z,ee,te,re,ae,ne,oe,se,ie,pe,le,de,ce,ue){\"use strict\";function fe(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var he=fe(t),me=fe(a),ye=fe(n),ve=fe(o),De=fe(s),ge=fe(i),we=fe(p),ke=fe(l),be=fe(d),Se=fe(c),Ce=fe(u),_e=fe(f),Me=fe(y),Pe=fe(v),Ee=fe(D),Ne=fe(g),Oe=fe(w),xe=fe(k),Ye=fe(b),Ie=fe(S),Te=fe(C),Le=fe(_),Re=fe(M),Fe=fe(P),Ae=fe(E),qe=fe(N),Ke=fe(O),We=fe(x),Be=fe(Y),Qe=fe(I),je=fe(T),He=fe(L),Ve=fe(R),Ue=fe(F),$e=fe(A),ze=fe(q),Ge=fe(K),Je=fe(B),Xe=fe(Q),Ze=fe(j),et=fe(H),tt=fe(V),rt=fe(U),at=fe($),nt=fe(G),ot=fe(J),st=fe(X),it=fe(Z),pt=fe(ee),lt=fe(te),dt=fe(re),ct=fe(ae),ut=fe(ne),ft=fe(oe),ht=fe(se),mt=fe(ie),yt=fe(pe),vt=fe(le),Dt=fe(de),gt=fe(ue);function wt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function kt(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,a=new Array(t);r1&&void 0!==arguments[1]?arguments[1]:{},r=t.minDate,a=t.maxDate,n=t.excludeDates,o=t.excludeDateIntervals,s=t.includeDates,i=t.includeDateIntervals,p=t.filterDate;return yr(e,{minDate:r,maxDate:a})||n&&n.some((function(t){return tr(e,t)}))||o&&o.some((function(t){var r=t.start,a=t.end;return ft.default(e,{start:r,end:a})}))||s&&!s.some((function(t){return tr(e,t)}))||i&&!i.some((function(t){var r=t.start,a=t.end;return ft.default(e,{start:r,end:a})}))||p&&!p(At(e))||!1}function dr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.excludeDates,a=t.excludeDateIntervals;return a&&a.length>0?a.some((function(t){var r=t.start,a=t.end;return ft.default(e,{start:r,end:a})})):r&&r.some((function(t){return tr(e,t)}))||!1}function cr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.minDate,a=t.maxDate,n=t.excludeDates,o=t.includeDates,s=t.filterDate;return yr(e,{minDate:et.default(r),maxDate:nt.default(a)})||n&&n.some((function(t){return Zt(e,t)}))||o&&!o.some((function(t){return Zt(e,t)}))||s&&!s(At(e))||!1}function ur(e,t,r,a){var n=qe.default(e),o=Fe.default(e),s=qe.default(t),i=Fe.default(t),p=qe.default(a);return n===s&&n===p?o<=r&&r<=i:n=r||pn:void 0}function fr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.minDate,a=t.maxDate,n=t.excludeDates,o=t.includeDates,s=t.filterDate;return yr(e,{minDate:r,maxDate:a})||n&&n.some((function(t){return er(e,t)}))||o&&!o.some((function(t){return er(e,t)}))||s&&!s(At(e))||!1}function hr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.minDate,a=t.maxDate,n=t.excludeDates,o=t.includeDates,s=t.filterDate,i=new Date(e,0,1);return yr(i,{minDate:rt.default(r),maxDate:ot.default(a)})||n&&n.some((function(e){return Xt(i,e)}))||o&&!o.some((function(e){return Xt(i,e)}))||s&&!s(At(i))||!1}function mr(e,t,r,a){var n=qe.default(e),o=Ae.default(e),s=qe.default(t),i=Ae.default(t),p=qe.default(a);return n===s&&n===p?o<=r&&r<=i:n=r||pn:void 0}function yr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.minDate,a=t.maxDate;return r&&ze.default(e,r)<0||a&&ze.default(e,a)>0}function vr(e,t){return t.some((function(t){return Ie.default(t)===Ie.default(e)&&Ye.default(t)===Ye.default(e)}))}function Dr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.excludeTimes,a=t.includeTimes,n=t.filterTime;return r&&vr(e,r)||a&&!vr(e,a)||n&&!n(e)||!1}function gr(e,t){var r=t.minTime,a=t.maxTime;if(!r||!a)throw new Error(\"Both minTime and maxTime props required\");var n,o=At(),s=Qe.default(Be.default(o,Ye.default(e)),Ie.default(e)),i=Qe.default(Be.default(o,Ye.default(r)),Ie.default(r)),p=Qe.default(Be.default(o,Ye.default(a)),Ie.default(a));try{n=!ft.default(s,{start:i,end:p})}catch(e){n=!1}return n}function wr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.minDate,a=t.includeDates,n=Ee.default(e,1);return r&&Ge.default(r,n)>0||a&&a.every((function(e){return Ge.default(e,n)>0}))||!1}function kr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.maxDate,a=t.includeDates,n=Se.default(e,1);return r&&Ge.default(n,r)>0||a&&a.every((function(e){return Ge.default(n,e)>0}))||!1}function br(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.minDate,a=t.includeDates,n=Oe.default(e,1);return r&&Je.default(r,n)>0||a&&a.every((function(e){return Je.default(e,n)>0}))||!1}function Sr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.maxDate,a=t.includeDates,n=_e.default(e,1);return r&&Je.default(n,r)>0||a&&a.every((function(e){return Je.default(n,e)>0}))||!1}function Cr(e){var t=e.minDate,r=e.includeDates;if(r&&t){var a=r.filter((function(e){return ze.default(e,t)>=0}));return Ue.default(a)}return r?Ue.default(r):t}function _r(e){var t=e.maxDate,r=e.includeDates;if(r&&t){var a=r.filter((function(e){return ze.default(e,t)<=0}));return $e.default(a)}return r?$e.default(r):t}function Mr(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"react-datepicker__day--highlighted\",r=new Map,a=0,n=e.length;a1&&void 0!==arguments[1]?arguments[1]:Ft,r=Math.ceil(qe.default(e)/t)*t,a=r-(t-1);return{startPeriod:a,endPeriod:r}}function Or(e,t,r,a){for(var n=[],o=0;o<2*t+1;o++){var s=e+t-o,i=!0;r&&(i=qe.default(r)<=s),a&&i&&(i=qe.default(a)>=s),i&&n.push(s)}return n}var xr=function(e){Et(a,e);var r=It(a);function a(e){var n;St(this,a),Mt(xt(n=r.call(this,e)),\"renderOptions\",(function(){var e=n.props.year,t=n.state.yearsList.map((function(t){return he.default.createElement(\"div\",{className:e===t?\"react-datepicker__year-option react-datepicker__year-option--selected_year\":\"react-datepicker__year-option\",key:t,onClick:n.onChange.bind(xt(n),t),\"aria-selected\":e===t?\"true\":void 0},e===t?he.default.createElement(\"span\",{className:\"react-datepicker__year-option--selected\"},\"✓\"):\"\",t)})),r=n.props.minDate?qe.default(n.props.minDate):null,a=n.props.maxDate?qe.default(n.props.maxDate):null;return a&&n.state.yearsList.find((function(e){return e===a}))||t.unshift(he.default.createElement(\"div\",{className:\"react-datepicker__year-option\",key:\"upcoming\",onClick:n.incrementYears},he.default.createElement(\"a\",{className:\"react-datepicker__navigation react-datepicker__navigation--years react-datepicker__navigation--years-upcoming\"}))),r&&n.state.yearsList.find((function(e){return e===r}))||t.push(he.default.createElement(\"div\",{className:\"react-datepicker__year-option\",key:\"previous\",onClick:n.decrementYears},he.default.createElement(\"a\",{className:\"react-datepicker__navigation react-datepicker__navigation--years react-datepicker__navigation--years-previous\"}))),t})),Mt(xt(n),\"onChange\",(function(e){n.props.onChange(e)})),Mt(xt(n),\"handleClickOutside\",(function(){n.props.onCancel()})),Mt(xt(n),\"shiftYears\",(function(e){var t=n.state.yearsList.map((function(t){return t+e}));n.setState({yearsList:t})})),Mt(xt(n),\"incrementYears\",(function(){return n.shiftYears(1)})),Mt(xt(n),\"decrementYears\",(function(){return n.shiftYears(-1)}));var o=e.yearDropdownItemNumber,s=e.scrollableYearDropdown,i=o||(s?10:5);return n.state={yearsList:Or(n.props.year,i,n.props.minDate,n.props.maxDate)},n.dropdownRef=t.createRef(),n}return _t(a,[{key:\"componentDidMount\",value:function(){var e=this.dropdownRef.current;if(e){var t=e.children?Array.from(e.children):null,r=t?t.find((function(e){return e.ariaSelected})):null;e.scrollTop=r?r.offsetTop+(r.clientHeight-e.clientHeight)/2:(e.scrollHeight-e.clientHeight)/2}}},{key:\"render\",value:function(){var e=me.default({\"react-datepicker__year-dropdown\":!0,\"react-datepicker__year-dropdown--scrollable\":this.props.scrollableYearDropdown});return he.default.createElement(\"div\",{className:e,ref:this.dropdownRef},this.renderOptions())}}]),a}(he.default.Component),Yr=vt.default(xr),Ir=function(e){Et(r,e);var t=It(r);function r(){var e;St(this,r);for(var a=arguments.length,n=new Array(a),o=0;o0&&void 0!==arguments[0]?arguments[0]:{},r=!1;0===e.getTabIndex()&&!t.isInputFocused&&e.isSameDay(e.props.preSelection)&&(document.activeElement&&document.activeElement!==document.body||(r=!0),e.props.inline&&!e.props.shouldFocusDayInline&&(r=!1),e.props.containerRef&&e.props.containerRef.current&&e.props.containerRef.current.contains(document.activeElement)&&document.activeElement.classList.contains(\"react-datepicker__day\")&&(r=!0)),r&&e.dayEl.current.focus({preventScroll:!0})})),Mt(xt(e),\"renderDayContents\",(function(){return e.props.monthShowsDuplicateDaysEnd&&e.isAfterMonth()||e.props.monthShowsDuplicateDaysStart&&e.isBeforeMonth()?null:e.props.renderDayContents?e.props.renderDayContents(Le.default(e.props.day),e.props.day):Le.default(e.props.day)})),Mt(xt(e),\"render\",(function(){return he.default.createElement(\"div\",{ref:e.dayEl,className:e.getClassNames(e.props.day),onKeyDown:e.handleOnKeyDown,onClick:e.handleClick,onMouseEnter:e.handleMouseEnter,tabIndex:e.getTabIndex(),\"aria-label\":e.getAriaLabel(),role:\"option\",\"aria-disabled\":e.isDisabled(),\"aria-current\":e.isCurrentDay()?\"date\":void 0,\"aria-selected\":e.isSelected()},e.renderDayContents())})),e}return _t(r,[{key:\"componentDidMount\",value:function(){this.handleFocusDay()}},{key:\"componentDidUpdate\",value:function(e){this.handleFocusDay(e)}}]),r}(he.default.Component),Br=function(e){Et(r,e);var t=It(r);function r(){var e;St(this,r);for(var a=arguments.length,n=new Array(a),o=0;o=6,i=!r&&!e.isWeekInMonth(o);if(s||i){if(!e.props.peekNextMonth)break;n=!0}}return t})),Mt(xt(e),\"onMonthClick\",(function(t,r){e.handleDayClick($t(je.default(e.props.day,r)),t)})),Mt(xt(e),\"handleMonthNavigation\",(function(t,r){e.isDisabled(r)||e.isExcluded(r)||(e.props.setPreSelection(r),e.MONTH_REFS[t].current&&e.MONTH_REFS[t].current.focus())})),Mt(xt(e),\"onMonthKeyDown\",(function(t,r){t.preventDefault();var a=t.key;if(!e.props.disabledKeyboardNavigation)switch(a){case\"Enter\":e.onMonthClick(t,r),e.props.setPreSelection(e.props.selected);break;case\"ArrowRight\":e.handleMonthNavigation(11===r?0:r+1,Se.default(e.props.preSelection,1));break;case\"ArrowLeft\":e.handleMonthNavigation(0===r?11:r-1,Ee.default(e.props.preSelection,1));break;case\"ArrowUp\":e.handleMonthNavigation(r>=0&&r<=2?r+9:r-3,Ee.default(e.props.preSelection,3));break;case\"ArrowDown\":e.handleMonthNavigation(r>=9&&r<=11?r-9:r+3,Se.default(e.props.preSelection,3))}})),Mt(xt(e),\"onQuarterClick\",(function(t,r){e.handleDayClick(Gt(He.default(e.props.day,r)),t)})),Mt(xt(e),\"handleQuarterNavigation\",(function(t,r){e.isDisabled(r)||e.isExcluded(r)||(e.props.setPreSelection(r),e.QUARTER_REFS[t-1].current&&e.QUARTER_REFS[t-1].current.focus())})),Mt(xt(e),\"onQuarterKeyDown\",(function(t,r){var a=t.key;if(!e.props.disabledKeyboardNavigation)switch(a){case\"Enter\":e.onQuarterClick(t,r),e.props.setPreSelection(e.props.selected);break;case\"ArrowRight\":e.handleQuarterNavigation(4===r?1:r+1,Ce.default(e.props.preSelection,1));break;case\"ArrowLeft\":e.handleQuarterNavigation(1===r?4:r-1,Ne.default(e.props.preSelection,1))}})),Mt(xt(e),\"getMonthClassNames\",(function(t){var r=e.props,a=r.day,n=r.startDate,o=r.endDate,s=r.selected,i=r.minDate,p=r.maxDate,l=r.preSelection,d=r.monthClassName,c=r.excludeDates,u=r.includeDates,f=d?d(je.default(a,t)):void 0,h=je.default(a,t);return me.default(\"react-datepicker__month-text\",\"react-datepicker__month-\".concat(t),f,{\"react-datepicker__month--disabled\":(i||p||c||u)&&cr(h,e.props),\"react-datepicker__month--selected\":e.isSelectedMonth(a,t,s),\"react-datepicker__month-text--keyboard-selected\":!e.props.disabledKeyboardNavigation&&Fe.default(l)===t,\"react-datepicker__month--in-range\":ur(n,o,t,a),\"react-datepicker__month--range-start\":e.isRangeStartMonth(t),\"react-datepicker__month--range-end\":e.isRangeEndMonth(t),\"react-datepicker__month-text--today\":e.isCurrentMonth(a,t)})})),Mt(xt(e),\"getTabIndex\",(function(t){var r=Fe.default(e.props.preSelection);return e.props.disabledKeyboardNavigation||t!==r?\"-1\":\"0\"})),Mt(xt(e),\"getQuarterTabIndex\",(function(t){var r=Ae.default(e.props.preSelection);return e.props.disabledKeyboardNavigation||t!==r?\"-1\":\"0\"})),Mt(xt(e),\"getAriaLabel\",(function(t){var r=e.props,a=r.chooseDayAriaLabelPrefix,n=void 0===a?\"Choose\":a,o=r.disabledDayAriaLabelPrefix,s=void 0===o?\"Not available\":o,i=r.day,p=je.default(i,t),l=e.isDisabled(p)||e.isExcluded(p)?s:n;return\"\".concat(l,\" \").concat(Wt(p,\"MMMM yyyy\"))})),Mt(xt(e),\"getQuarterClassNames\",(function(t){var r=e.props,a=r.day,n=r.startDate,o=r.endDate,s=r.selected,i=r.minDate,p=r.maxDate,l=r.preSelection;return me.default(\"react-datepicker__quarter-text\",\"react-datepicker__quarter-\".concat(t),{\"react-datepicker__quarter--disabled\":(i||p)&&fr(He.default(a,t),e.props),\"react-datepicker__quarter--selected\":e.isSelectedQuarter(a,t,s),\"react-datepicker__quarter-text--keyboard-selected\":Ae.default(l)===t,\"react-datepicker__quarter--in-range\":mr(n,o,t,a),\"react-datepicker__quarter--range-start\":e.isRangeStartQuarter(t),\"react-datepicker__quarter--range-end\":e.isRangeEndQuarter(t)})})),Mt(xt(e),\"renderMonths\",(function(){var t=e.props,r=t.showFullMonthYearPicker,a=t.showTwoColumnMonthYearPicker,n=t.showFourColumnMonthYearPicker,o=t.locale,s=t.day,i=t.selected;return(n?[[0,1,2,3],[4,5,6,7],[8,9,10,11]]:a?[[0,1],[2,3],[4,5],[6,7],[8,9],[10,11]]:[[0,1,2],[3,4,5],[6,7,8],[9,10,11]]).map((function(t,a){return he.default.createElement(\"div\",{className:\"react-datepicker__month-wrapper\",key:a},t.map((function(t,a){return he.default.createElement(\"div\",{ref:e.MONTH_REFS[t],key:a,onClick:function(r){e.onMonthClick(r,t)},onKeyDown:function(r){e.onMonthKeyDown(r,t)},tabIndex:e.getTabIndex(t),className:e.getMonthClassNames(t),role:\"option\",\"aria-label\":e.getAriaLabel(t),\"aria-current\":e.isCurrentMonth(s,t)?\"date\":void 0,\"aria-selected\":e.isSelectedMonth(s,t,i)},r?sr(t,o):ir(t,o))})))}))})),Mt(xt(e),\"renderQuarters\",(function(){var t=e.props,r=t.day,a=t.selected;return he.default.createElement(\"div\",{className:\"react-datepicker__quarter-wrapper\"},[1,2,3,4].map((function(t,n){return he.default.createElement(\"div\",{key:n,ref:e.QUARTER_REFS[n],role:\"option\",onClick:function(r){e.onQuarterClick(r,t)},onKeyDown:function(r){e.onQuarterKeyDown(r,t)},className:e.getQuarterClassNames(t),\"aria-selected\":e.isSelectedQuarter(r,t,a),tabIndex:e.getQuarterTabIndex(t),\"aria-current\":e.isCurrentQuarter(r,t)?\"date\":void 0},pr(t,e.props.locale))})))})),Mt(xt(e),\"getClassNames\",(function(){var t=e.props;t.day;var r=t.selectingDate,a=t.selectsStart,n=t.selectsEnd,o=t.showMonthYearPicker,s=t.showQuarterYearPicker;return me.default(\"react-datepicker__month\",{\"react-datepicker__month--selecting-range\":r&&(a||n)},{\"react-datepicker__monthPicker\":o},{\"react-datepicker__quarterPicker\":s})})),e}return _t(r,[{key:\"render\",value:function(){var e=this.props,t=e.showMonthYearPicker,r=e.showQuarterYearPicker,a=e.day,n=e.ariaLabelPrefix,o=void 0===n?\"month \":n;return he.default.createElement(\"div\",{className:this.getClassNames(),onMouseLeave:this.handleMouseLeave,\"aria-label\":\"\".concat(o,\" \").concat(Wt(a,\"yyyy-MM\")),role:\"listbox\"},t?this.renderMonths():r?this.renderQuarters():this.renderWeeks())}}]),r}(he.default.Component),Hr=function(e){Et(r,e);var t=It(r);function r(){var e;St(this,r);for(var a=arguments.length,n=new Array(a),o=0;o0&&void 0!==arguments[0]?arguments[0]:{}).className||\"\").split(/\\s+/);return zr.some((function(t){return e.indexOf(t)>=0}))})(e.target)&&a.props.onDropdownFocus()})),Mt(xt(a),\"getDateInView\",(function(){var e=a.props,t=e.preSelection,r=e.selected,n=e.openToDate,o=Cr(a.props),s=_r(a.props),i=At(),p=n||r||t;return p||(o&&ut.default(i,o)?o:s&&ct.default(i,s)?s:i)})),Mt(xt(a),\"increaseMonth\",(function(){a.setState((function(e){var t=e.date;return{date:Se.default(t,1)}}),(function(){return a.handleMonthChange(a.state.date)}))})),Mt(xt(a),\"decreaseMonth\",(function(){a.setState((function(e){var t=e.date;return{date:Ee.default(t,1)}}),(function(){return a.handleMonthChange(a.state.date)}))})),Mt(xt(a),\"handleDayClick\",(function(e,t,r){a.props.onSelect(e,t,r),a.props.setPreSelection&&a.props.setPreSelection(e)})),Mt(xt(a),\"handleDayMouseEnter\",(function(e){a.setState({selectingDate:e}),a.props.onDayMouseEnter&&a.props.onDayMouseEnter(e)})),Mt(xt(a),\"handleMonthMouseLeave\",(function(){a.setState({selectingDate:null}),a.props.onMonthMouseLeave&&a.props.onMonthMouseLeave()})),Mt(xt(a),\"handleYearChange\",(function(e){a.props.onYearChange&&(a.props.onYearChange(e),a.setState({isRenderAriaLiveMessage:!0})),a.props.adjustDateOnChange&&(a.props.onSelect&&a.props.onSelect(e),a.props.setOpen&&a.props.setOpen(!0)),a.props.setPreSelection&&a.props.setPreSelection(e)})),Mt(xt(a),\"handleMonthChange\",(function(e){a.props.onMonthChange&&(a.props.onMonthChange(e),a.setState({isRenderAriaLiveMessage:!0})),a.props.adjustDateOnChange&&(a.props.onSelect&&a.props.onSelect(e),a.props.setOpen&&a.props.setOpen(!0)),a.props.setPreSelection&&a.props.setPreSelection(e)})),Mt(xt(a),\"handleMonthYearChange\",(function(e){a.handleYearChange(e),a.handleMonthChange(e)})),Mt(xt(a),\"changeYear\",(function(e){a.setState((function(t){var r=t.date;return{date:Ve.default(r,e)}}),(function(){return a.handleYearChange(a.state.date)}))})),Mt(xt(a),\"changeMonth\",(function(e){a.setState((function(t){var r=t.date;return{date:je.default(r,e)}}),(function(){return a.handleMonthChange(a.state.date)}))})),Mt(xt(a),\"changeMonthYear\",(function(e){a.setState((function(t){var r=t.date;return{date:Ve.default(je.default(r,Fe.default(e)),qe.default(e))}}),(function(){return a.handleMonthYearChange(a.state.date)}))})),Mt(xt(a),\"header\",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a.state.date,t=Ut(e,a.props.locale,a.props.calendarStartDay),r=[];return a.props.showWeekNumbers&&r.push(he.default.createElement(\"div\",{key:\"W\",className:\"react-datepicker__day-name\"},a.props.weekLabel||\"#\")),r.concat([0,1,2,3,4,5,6].map((function(e){var r=ke.default(t,e),n=a.formatWeekday(r,a.props.locale),o=a.props.weekDayClassName?a.props.weekDayClassName(r):void 0;return he.default.createElement(\"div\",{key:e,className:me.default(\"react-datepicker__day-name\",o)},n)})))})),Mt(xt(a),\"formatWeekday\",(function(e,t){return a.props.formatWeekDay?function(e,t,r){return\"function\"==typeof t?t(e,r):Wt(e,\"EEEE\",r)}(e,a.props.formatWeekDay,t):a.props.useWeekdaysShort?function(e,t){return Wt(e,\"EEE\",t)}(e,t):function(e,t){return Wt(e,\"EEEEEE\",t)}(e,t)})),Mt(xt(a),\"decreaseYear\",(function(){a.setState((function(e){var t=e.date;return{date:Oe.default(t,a.props.showYearPicker?a.props.yearItemNumber:1)}}),(function(){return a.handleYearChange(a.state.date)}))})),Mt(xt(a),\"renderPreviousButton\",(function(){if(!a.props.renderCustomHeader){var e;switch(!0){case a.props.showMonthYearPicker:e=br(a.state.date,a.props);break;case a.props.showYearPicker:e=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.minDate,a=t.yearItemNumber,n=void 0===a?Ft:a,o=Nr(zt(Oe.default(e,n)),n).endPeriod,s=r&&qe.default(r);return s&&s>o||!1}(a.state.date,a.props);break;default:e=wr(a.state.date,a.props)}if((a.props.forceShowMonthNavigation||a.props.showDisabledMonthNavigation||!e)&&!a.props.showTimeSelectOnly){var t=[\"react-datepicker__navigation\",\"react-datepicker__navigation--previous\"],r=a.decreaseMonth;(a.props.showMonthYearPicker||a.props.showQuarterYearPicker||a.props.showYearPicker)&&(r=a.decreaseYear),e&&a.props.showDisabledMonthNavigation&&(t.push(\"react-datepicker__navigation--previous--disabled\"),r=null);var n=a.props.showMonthYearPicker||a.props.showQuarterYearPicker||a.props.showYearPicker,o=a.props,s=o.previousMonthButtonLabel,i=o.previousYearButtonLabel,p=a.props,l=p.previousMonthAriaLabel,d=void 0===l?\"string\"==typeof s?s:\"Previous Month\":l,c=p.previousYearAriaLabel,u=void 0===c?\"string\"==typeof i?i:\"Previous Year\":c;return he.default.createElement(\"button\",{type:\"button\",className:t.join(\" \"),onClick:r,onKeyDown:a.props.handleOnKeyDown,\"aria-label\":n?u:d},he.default.createElement(\"span\",{className:[\"react-datepicker__navigation-icon\",\"react-datepicker__navigation-icon--previous\"].join(\" \")},n?a.props.previousYearButtonLabel:a.props.previousMonthButtonLabel))}}})),Mt(xt(a),\"increaseYear\",(function(){a.setState((function(e){var t=e.date;return{date:_e.default(t,a.props.showYearPicker?a.props.yearItemNumber:1)}}),(function(){return a.handleYearChange(a.state.date)}))})),Mt(xt(a),\"renderNextButton\",(function(){if(!a.props.renderCustomHeader){var e;switch(!0){case a.props.showMonthYearPicker:e=Sr(a.state.date,a.props);break;case a.props.showYearPicker:e=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.maxDate,a=t.yearItemNumber,n=void 0===a?Ft:a,o=Nr(_e.default(e,n),n).startPeriod,s=r&&qe.default(r);return s&&s0&&void 0!==arguments[0]?arguments[0]:a.state.date,t=[\"react-datepicker__current-month\"];return a.props.showYearDropdown&&t.push(\"react-datepicker__current-month--hasYearDropdown\"),a.props.showMonthDropdown&&t.push(\"react-datepicker__current-month--hasMonthDropdown\"),a.props.showMonthYearDropdown&&t.push(\"react-datepicker__current-month--hasMonthYearDropdown\"),he.default.createElement(\"div\",{className:t.join(\" \")},Wt(e,a.props.dateFormat,a.props.locale))})),Mt(xt(a),\"renderYearDropdown\",(function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(a.props.showYearDropdown&&!e)return he.default.createElement(Ir,{adjustDateOnChange:a.props.adjustDateOnChange,date:a.state.date,onSelect:a.props.onSelect,setOpen:a.props.setOpen,dropdownMode:a.props.dropdownMode,onChange:a.changeYear,minDate:a.props.minDate,maxDate:a.props.maxDate,year:qe.default(a.state.date),scrollableYearDropdown:a.props.scrollableYearDropdown,yearDropdownItemNumber:a.props.yearDropdownItemNumber})})),Mt(xt(a),\"renderMonthDropdown\",(function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(a.props.showMonthDropdown&&!e)return he.default.createElement(Rr,{dropdownMode:a.props.dropdownMode,locale:a.props.locale,onChange:a.changeMonth,month:Fe.default(a.state.date),useShortMonthInDropdown:a.props.useShortMonthInDropdown})})),Mt(xt(a),\"renderMonthYearDropdown\",(function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(a.props.showMonthYearDropdown&&!e)return he.default.createElement(Kr,{dropdownMode:a.props.dropdownMode,locale:a.props.locale,dateFormat:a.props.dateFormat,onChange:a.changeMonthYear,minDate:a.props.minDate,maxDate:a.props.maxDate,date:a.state.date,scrollableMonthYearDropdown:a.props.scrollableMonthYearDropdown})})),Mt(xt(a),\"handleTodayButtonClick\",(function(e){a.props.onSelect(Jt(),e),a.props.setPreSelection&&a.props.setPreSelection(Jt())})),Mt(xt(a),\"renderTodayButton\",(function(){if(a.props.todayButton&&!a.props.showTimeSelectOnly)return he.default.createElement(\"div\",{className:\"react-datepicker__today-button\",onClick:function(e){return a.handleTodayButtonClick(e)}},a.props.todayButton)})),Mt(xt(a),\"renderDefaultHeader\",(function(e){var t=e.monthDate,r=e.i;return he.default.createElement(\"div\",{className:\"react-datepicker__header \".concat(a.props.showTimeSelect?\"react-datepicker__header--has-time-select\":\"\")},a.renderCurrentMonth(t),he.default.createElement(\"div\",{className:\"react-datepicker__header__dropdown react-datepicker__header__dropdown--\".concat(a.props.dropdownMode),onFocus:a.handleDropdownFocus},a.renderMonthDropdown(0!==r),a.renderMonthYearDropdown(0!==r),a.renderYearDropdown(0!==r)),he.default.createElement(\"div\",{className:\"react-datepicker__day-names\"},a.header(t)))})),Mt(xt(a),\"renderCustomHeader\",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.monthDate,r=e.i;if(a.props.showTimeSelect&&!a.state.monthContainer||a.props.showTimeSelectOnly)return null;var n=wr(a.state.date,a.props),o=kr(a.state.date,a.props),s=br(a.state.date,a.props),i=Sr(a.state.date,a.props),p=!a.props.showMonthYearPicker&&!a.props.showQuarterYearPicker&&!a.props.showYearPicker;return he.default.createElement(\"div\",{className:\"react-datepicker__header react-datepicker__header--custom\",onFocus:a.props.onDropdownFocus},a.props.renderCustomHeader(kt(kt({},a.state),{},{customHeaderCount:r,monthDate:t,changeMonth:a.changeMonth,changeYear:a.changeYear,decreaseMonth:a.decreaseMonth,increaseMonth:a.increaseMonth,decreaseYear:a.decreaseYear,increaseYear:a.increaseYear,prevMonthButtonDisabled:n,nextMonthButtonDisabled:o,prevYearButtonDisabled:s,nextYearButtonDisabled:i})),p&&he.default.createElement(\"div\",{className:\"react-datepicker__day-names\"},a.header(t)))})),Mt(xt(a),\"renderYearHeader\",(function(){var e=a.state.date,t=a.props,r=t.showYearPicker,n=Nr(e,t.yearItemNumber),o=n.startPeriod,s=n.endPeriod;return he.default.createElement(\"div\",{className:\"react-datepicker__header react-datepicker-year-header\"},r?\"\".concat(o,\" - \").concat(s):qe.default(e))})),Mt(xt(a),\"renderHeader\",(function(e){switch(!0){case void 0!==a.props.renderCustomHeader:return a.renderCustomHeader(e);case a.props.showMonthYearPicker||a.props.showQuarterYearPicker||a.props.showYearPicker:return a.renderYearHeader(e);default:return a.renderDefaultHeader(e)}})),Mt(xt(a),\"renderMonths\",(function(){if(!a.props.showTimeSelectOnly&&!a.props.showYearPicker){for(var e=[],t=a.props.showPreviousMonths?a.props.monthsShown-1:0,r=Ee.default(a.state.date,t),n=0;n0;e.push(he.default.createElement(\"div\",{key:i,ref:function(e){a.monthContainer=e},className:\"react-datepicker__month-container\"},a.renderHeader({monthDate:s,i:n}),he.default.createElement(jr,{chooseDayAriaLabelPrefix:a.props.chooseDayAriaLabelPrefix,disabledDayAriaLabelPrefix:a.props.disabledDayAriaLabelPrefix,weekAriaLabelPrefix:a.props.weekAriaLabelPrefix,ariaLabelPrefix:a.props.monthAriaLabelPrefix,onChange:a.changeMonthYear,day:s,dayClassName:a.props.dayClassName,calendarStartDay:a.props.calendarStartDay,monthClassName:a.props.monthClassName,onDayClick:a.handleDayClick,handleOnKeyDown:a.props.handleOnDayKeyDown,onDayMouseEnter:a.handleDayMouseEnter,onMouseLeave:a.handleMonthMouseLeave,onWeekSelect:a.props.onWeekSelect,orderInDisplay:n,formatWeekNumber:a.props.formatWeekNumber,locale:a.props.locale,minDate:a.props.minDate,maxDate:a.props.maxDate,excludeDates:a.props.excludeDates,excludeDateIntervals:a.props.excludeDateIntervals,highlightDates:a.props.highlightDates,selectingDate:a.state.selectingDate,includeDates:a.props.includeDates,includeDateIntervals:a.props.includeDateIntervals,inline:a.props.inline,shouldFocusDayInline:a.props.shouldFocusDayInline,fixedHeight:a.props.fixedHeight,filterDate:a.props.filterDate,preSelection:a.props.preSelection,setPreSelection:a.props.setPreSelection,selected:a.props.selected,selectsStart:a.props.selectsStart,selectsEnd:a.props.selectsEnd,selectsRange:a.props.selectsRange,selectsDisabledDaysInRange:a.props.selectsDisabledDaysInRange,showWeekNumbers:a.props.showWeekNumbers,startDate:a.props.startDate,endDate:a.props.endDate,peekNextMonth:a.props.peekNextMonth,setOpen:a.props.setOpen,shouldCloseOnSelect:a.props.shouldCloseOnSelect,renderDayContents:a.props.renderDayContents,disabledKeyboardNavigation:a.props.disabledKeyboardNavigation,showMonthYearPicker:a.props.showMonthYearPicker,showFullMonthYearPicker:a.props.showFullMonthYearPicker,showTwoColumnMonthYearPicker:a.props.showTwoColumnMonthYearPicker,showFourColumnMonthYearPicker:a.props.showFourColumnMonthYearPicker,showYearPicker:a.props.showYearPicker,showQuarterYearPicker:a.props.showQuarterYearPicker,isInputFocused:a.props.isInputFocused,containerRef:a.containerRef,monthShowsDuplicateDaysEnd:p,monthShowsDuplicateDaysStart:l})))}return e}})),Mt(xt(a),\"renderYears\",(function(){if(!a.props.showTimeSelectOnly)return a.props.showYearPicker?he.default.createElement(\"div\",{className:\"react-datepicker__year--container\"},a.renderHeader(),he.default.createElement(Vr,Pt({onDayClick:a.handleDayClick,date:a.state.date},a.props))):void 0})),Mt(xt(a),\"renderTimeSection\",(function(){if(a.props.showTimeSelect&&(a.state.monthContainer||a.props.showTimeSelectOnly))return he.default.createElement(Hr,{selected:a.props.selected,openToDate:a.props.openToDate,onChange:a.props.onTimeChange,timeClassName:a.props.timeClassName,format:a.props.timeFormat,includeTimes:a.props.includeTimes,intervals:a.props.timeIntervals,minTime:a.props.minTime,maxTime:a.props.maxTime,excludeTimes:a.props.excludeTimes,filterTime:a.props.filterTime,timeCaption:a.props.timeCaption,todayButton:a.props.todayButton,showMonthDropdown:a.props.showMonthDropdown,showMonthYearDropdown:a.props.showMonthYearDropdown,showYearDropdown:a.props.showYearDropdown,withPortal:a.props.withPortal,monthRef:a.state.monthContainer,injectTimes:a.props.injectTimes,locale:a.props.locale,handleOnKeyDown:a.props.handleOnKeyDown,showTimeSelectOnly:a.props.showTimeSelectOnly})})),Mt(xt(a),\"renderInputTimeSection\",(function(){var e=new Date(a.props.selected),t=Kt(e)&&Boolean(a.props.selected)?\"\".concat(Er(e.getHours()),\":\").concat(Er(e.getMinutes())):\"\";if(a.props.showTimeInput)return he.default.createElement(Ur,{date:e,timeString:t,timeInputLabel:a.props.timeInputLabel,onChange:a.props.onTimeChange,customTimeInput:a.props.customTimeInput})})),Mt(xt(a),\"renderAriaLiveRegion\",(function(){var e,t=Nr(a.state.date,a.props.yearItemNumber),r=t.startPeriod,n=t.endPeriod;return e=a.props.showYearPicker?\"\".concat(r,\" - \").concat(n):a.props.showMonthYearPicker||a.props.showQuarterYearPicker?qe.default(a.state.date):\"\".concat(sr(Fe.default(a.state.date),a.props.locale),\" \").concat(qe.default(a.state.date)),he.default.createElement(\"span\",{role:\"alert\",\"aria-live\":\"polite\",className:\"react-datepicker__aria-live\"},a.state.isRenderAriaLiveMessage&&e)})),Mt(xt(a),\"renderChildren\",(function(){if(a.props.children)return he.default.createElement(\"div\",{className:\"react-datepicker__children-container\"},a.props.children)})),a.containerRef=he.default.createRef(),a.state={date:a.getDateInView(),selectingDate:null,monthContainer:null,isRenderAriaLiveMessage:!1},a}return _t(r,[{key:\"componentDidMount\",value:function(){var e=this;this.props.showTimeSelect&&(this.assignMonthContainer=void e.setState({monthContainer:e.monthContainer}))}},{key:\"componentDidUpdate\",value:function(e){!this.props.preSelection||tr(this.props.preSelection,e.preSelection)&&this.props.monthSelectedIn===e.monthSelectedIn?this.props.openToDate&&!tr(this.props.openToDate,e.openToDate)&&this.setState({date:this.props.openToDate}):this.setState({date:this.props.preSelection})}},{key:\"render\",value:function(){var e=this.props.container||$r;return he.default.createElement(\"div\",{ref:this.containerRef},he.default.createElement(e,{className:me.default(\"react-datepicker\",this.props.className,{\"react-datepicker--time-only\":this.props.showTimeSelectOnly}),showPopperArrow:this.props.showPopperArrow,arrowProps:this.props.arrowProps},this.renderAriaLiveRegion(),this.renderPreviousButton(),this.renderNextButton(),this.renderMonths(),this.renderYears(),this.renderTodayButton(),this.renderTimeSection(),this.renderInputTimeSection(),this.renderChildren()))}}],[{key:\"defaultProps\",get:function(){return{onDropdownFocus:function(){},monthsShown:1,monthSelectedIn:0,forceShowMonthNavigation:!1,timeCaption:\"Time\",previousYearButtonLabel:\"Previous Year\",nextYearButtonLabel:\"Next Year\",previousMonthButtonLabel:\"Previous Month\",nextMonthButtonLabel:\"Next Month\",customTimeInput:null,yearItemNumber:Ft}}}]),r}(he.default.Component),Jr=function(e){Et(r,e);var t=It(r);function r(e){var a;return St(this,r),(a=t.call(this,e)).el=document.createElement(\"div\"),a}return _t(r,[{key:\"componentDidMount\",value:function(){this.portalRoot=(this.props.portalHost||document).getElementById(this.props.portalId),this.portalRoot||(this.portalRoot=document.createElement(\"div\"),this.portalRoot.setAttribute(\"id\",this.props.portalId),(this.props.portalHost||document.body).appendChild(this.portalRoot)),this.portalRoot.appendChild(this.el)}},{key:\"componentWillUnmount\",value:function(){this.portalRoot.removeChild(this.el)}},{key:\"render\",value:function(){return Dt.default.createPortal(this.props.children,this.el)}}]),r}(he.default.Component),Xr=function(e){return!e.disabled&&-1!==e.tabIndex},Zr=function(e){Et(r,e);var t=It(r);function r(e){var a;return St(this,r),Mt(xt(a=t.call(this,e)),\"getTabChildren\",(function(){return Array.prototype.slice.call(a.tabLoopRef.current.querySelectorAll(\"[tabindex], a, button, input, select, textarea\"),1,-1).filter(Xr)})),Mt(xt(a),\"handleFocusStart\",(function(e){var t=a.getTabChildren();t&&t.length>1&&t[t.length-1].focus()})),Mt(xt(a),\"handleFocusEnd\",(function(e){var t=a.getTabChildren();t&&t.length>1&&t[0].focus()})),a.tabLoopRef=he.default.createRef(),a}return _t(r,[{key:\"render\",value:function(){return this.props.enableTabLoop?he.default.createElement(\"div\",{className:\"react-datepicker__tab-loop\",ref:this.tabLoopRef},he.default.createElement(\"div\",{className:\"react-datepicker__tab-loop__start\",tabIndex:\"0\",onFocus:this.handleFocusStart}),this.props.children,he.default.createElement(\"div\",{className:\"react-datepicker__tab-loop__end\",tabIndex:\"0\",onFocus:this.handleFocusEnd})):this.props.children}}],[{key:\"defaultProps\",get:function(){return{enableTabLoop:!0}}}]),r}(he.default.Component),ea=function(e){Et(r,e);var t=It(r);function r(){return St(this,r),t.apply(this,arguments)}return _t(r,[{key:\"render\",value:function(){var e,t=this.props,r=t.className,a=t.wrapperClassName,n=t.hidePopper,o=t.popperComponent,s=t.popperModifiers,i=t.popperPlacement,p=t.popperProps,l=t.targetComponent,d=t.enableTabLoop,c=t.popperOnKeyDown,u=t.portalId,f=t.portalHost;if(!n){var h=me.default(\"react-datepicker-popper\",r);e=he.default.createElement(ce.Popper,Pt({modifiers:s,placement:i},p),(function(e){var t=e.ref,r=e.style,a=e.placement,n=e.arrowProps;return he.default.createElement(Zr,{enableTabLoop:d},he.default.createElement(\"div\",{ref:t,style:r,className:h,\"data-placement\":a,onKeyDown:c},he.default.cloneElement(o,{arrowProps:n})))}))}this.props.popperContainer&&(e=he.default.createElement(this.props.popperContainer,{},e)),u&&!n&&(e=he.default.createElement(Jr,{portalId:u,portalHost:f},e));var m=me.default(\"react-datepicker-wrapper\",a);return he.default.createElement(ce.Manager,{className:\"react-datepicker-manager\"},he.default.createElement(ce.Reference,null,(function(e){var t=e.ref;return he.default.createElement(\"div\",{ref:t,className:m},l)})),e)}}],[{key:\"defaultProps\",get:function(){return{hidePopper:!0,popperModifiers:[],popperProps:{},popperPlacement:\"bottom-start\"}}}]),r}(he.default.Component),ta=\"react-datepicker-ignore-onclickoutside\",ra=vt.default(Gr);var aa=\"Date input not valid.\",na=function(e){Et(r,e);var t=It(r);function r(e){var a;return St(this,r),Mt(xt(a=t.call(this,e)),\"getPreSelection\",(function(){return a.props.openToDate?a.props.openToDate:a.props.selectsEnd&&a.props.startDate?a.props.startDate:a.props.selectsStart&&a.props.endDate?a.props.endDate:At()})),Mt(xt(a),\"calcInitialState\",(function(){var e,t=a.getPreSelection(),r=Cr(a.props),n=_r(a.props),o=r&&ut.default(t,Xe.default(r))?r:n&&ct.default(t,at.default(n))?n:t;return{open:a.props.startOpen||!1,preventFocus:!1,preSelection:null!==(e=a.props.selectsRange?a.props.startDate:a.props.selected)&&void 0!==e?e:o,highlightDates:Mr(a.props.highlightDates),focused:!1,shouldFocusDayInline:!1,isRenderAriaLiveMessage:!1}})),Mt(xt(a),\"clearPreventFocusTimeout\",(function(){a.preventFocusTimeout&&clearTimeout(a.preventFocusTimeout)})),Mt(xt(a),\"setFocus\",(function(){a.input&&a.input.focus&&a.input.focus({preventScroll:!0})})),Mt(xt(a),\"setBlur\",(function(){a.input&&a.input.blur&&a.input.blur(),a.cancelFocusInput()})),Mt(xt(a),\"setOpen\",(function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];a.setState({open:e,preSelection:e&&a.state.open?a.state.preSelection:a.calcInitialState().preSelection,lastPreSelectChange:sa},(function(){e||a.setState((function(e){return{focused:!!t&&e.focused}}),(function(){!t&&a.setBlur(),a.setState({inputValue:null})}))}))})),Mt(xt(a),\"inputOk\",(function(){return ye.default(a.state.preSelection)})),Mt(xt(a),\"isCalendarOpen\",(function(){return void 0===a.props.open?a.state.open&&!a.props.disabled&&!a.props.readOnly:a.props.open})),Mt(xt(a),\"handleFocus\",(function(e){a.state.preventFocus||(a.props.onFocus(e),a.props.preventOpenOnFocus||a.props.readOnly||a.setOpen(!0)),a.setState({focused:!0})})),Mt(xt(a),\"cancelFocusInput\",(function(){clearTimeout(a.inputFocusTimeout),a.inputFocusTimeout=null})),Mt(xt(a),\"deferFocusInput\",(function(){a.cancelFocusInput(),a.inputFocusTimeout=setTimeout((function(){return a.setFocus()}),1)})),Mt(xt(a),\"handleDropdownFocus\",(function(){a.cancelFocusInput()})),Mt(xt(a),\"handleBlur\",(function(e){(!a.state.open||a.props.withPortal||a.props.showTimeInput)&&a.props.onBlur(e),a.setState({focused:!1})})),Mt(xt(a),\"handleCalendarClickOutside\",(function(e){a.props.inline||a.setOpen(!1),a.props.onClickOutside(e),a.props.withPortal&&e.preventDefault()})),Mt(xt(a),\"handleChange\",(function(){for(var e=arguments.length,t=new Array(e),r=0;r arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLDOMImplementation;\n\n module.exports = XMLDOMImplementation = (function() {\n function XMLDOMImplementation() {}\n\n XMLDOMImplementation.prototype.hasFeature = function(feature, version) {\n return true;\n };\n\n XMLDOMImplementation.prototype.createDocumentType = function(qualifiedName, publicId, systemId) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLDOMImplementation.prototype.createDocument = function(namespaceURI, qualifiedName, doctype) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLDOMImplementation.prototype.createHTMLDocument = function(title) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLDOMImplementation.prototype.getFeature = function(feature, version) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n return XMLDOMImplementation;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDOMConfiguration, XMLDOMImplementation, XMLDocument, XMLNode, XMLStringWriter, XMLStringifier, isPlainObject,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n isPlainObject = require('./Utility').isPlainObject;\n\n XMLDOMImplementation = require('./XMLDOMImplementation');\n\n XMLDOMConfiguration = require('./XMLDOMConfiguration');\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n XMLStringifier = require('./XMLStringifier');\n\n XMLStringWriter = require('./XMLStringWriter');\n\n module.exports = XMLDocument = (function(superClass) {\n extend(XMLDocument, superClass);\n\n function XMLDocument(options) {\n XMLDocument.__super__.constructor.call(this, null);\n this.name = \"#document\";\n this.type = NodeType.Document;\n this.documentURI = null;\n this.domConfig = new XMLDOMConfiguration();\n options || (options = {});\n if (!options.writer) {\n options.writer = new XMLStringWriter();\n }\n this.options = options;\n this.stringify = new XMLStringifier(options);\n }\n\n Object.defineProperty(XMLDocument.prototype, 'implementation', {\n value: new XMLDOMImplementation()\n });\n\n Object.defineProperty(XMLDocument.prototype, 'doctype', {\n get: function() {\n var child, i, len, ref;\n ref = this.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n if (child.type === NodeType.DocType) {\n return child;\n }\n }\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'documentElement', {\n get: function() {\n return this.rootObject || null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'inputEncoding', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'strictErrorChecking', {\n get: function() {\n return false;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'xmlEncoding', {\n get: function() {\n if (this.children.length !== 0 && this.children[0].type === NodeType.Declaration) {\n return this.children[0].encoding;\n } else {\n return null;\n }\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'xmlStandalone', {\n get: function() {\n if (this.children.length !== 0 && this.children[0].type === NodeType.Declaration) {\n return this.children[0].standalone === 'yes';\n } else {\n return false;\n }\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'xmlVersion', {\n get: function() {\n if (this.children.length !== 0 && this.children[0].type === NodeType.Declaration) {\n return this.children[0].version;\n } else {\n return \"1.0\";\n }\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'URL', {\n get: function() {\n return this.documentURI;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'origin', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'compatMode', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'characterSet', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'contentType', {\n get: function() {\n return null;\n }\n });\n\n XMLDocument.prototype.end = function(writer) {\n var writerOptions;\n writerOptions = {};\n if (!writer) {\n writer = this.options.writer;\n } else if (isPlainObject(writer)) {\n writerOptions = writer;\n writer = this.options.writer;\n }\n return writer.document(this, writer.filterOptions(writerOptions));\n };\n\n XMLDocument.prototype.toString = function(options) {\n return this.options.writer.document(this, this.options.writer.filterOptions(options));\n };\n\n XMLDocument.prototype.createElement = function(tagName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createDocumentFragment = function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createTextNode = function(data) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createComment = function(data) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createCDATASection = function(data) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createProcessingInstruction = function(target, data) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createAttribute = function(name) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createEntityReference = function(name) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.getElementsByTagName = function(tagname) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.importNode = function(importedNode, deep) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createElementNS = function(namespaceURI, qualifiedName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createAttributeNS = function(namespaceURI, qualifiedName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.getElementsByTagNameNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.getElementById = function(elementId) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.adoptNode = function(source) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.normalizeDocument = function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.renameNode = function(node, namespaceURI, qualifiedName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.getElementsByClassName = function(classNames) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createEvent = function(eventInterface) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createRange = function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createNodeIterator = function(root, whatToShow, filter) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createTreeWalker = function(root, whatToShow, filter) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n return XMLDocument;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLAttribute, XMLNode;\n\n NodeType = require('./NodeType');\n\n XMLNode = require('./XMLNode');\n\n module.exports = XMLAttribute = (function() {\n function XMLAttribute(parent, name, value) {\n this.parent = parent;\n if (this.parent) {\n this.options = this.parent.options;\n this.stringify = this.parent.stringify;\n }\n if (name == null) {\n throw new Error(\"Missing attribute name. \" + this.debugInfo(name));\n }\n this.name = this.stringify.name(name);\n this.value = this.stringify.attValue(value);\n this.type = NodeType.Attribute;\n this.isId = false;\n this.schemaTypeInfo = null;\n }\n\n Object.defineProperty(XMLAttribute.prototype, 'nodeType', {\n get: function() {\n return this.type;\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'ownerElement', {\n get: function() {\n return this.parent;\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'textContent', {\n get: function() {\n return this.value;\n },\n set: function(value) {\n return this.value = value || '';\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'namespaceURI', {\n get: function() {\n return '';\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'prefix', {\n get: function() {\n return '';\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'localName', {\n get: function() {\n return this.name;\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'specified', {\n get: function() {\n return true;\n }\n });\n\n XMLAttribute.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLAttribute.prototype.toString = function(options) {\n return this.options.writer.attribute(this, this.options.writer.filterOptions(options));\n };\n\n XMLAttribute.prototype.debugInfo = function(name) {\n name = name || this.name;\n if (name == null) {\n return \"parent: <\" + this.parent.name + \">\";\n } else {\n return \"attribute: {\" + name + \"}, parent: <\" + this.parent.name + \">\";\n }\n };\n\n XMLAttribute.prototype.isEqualNode = function(node) {\n if (node.namespaceURI !== this.namespaceURI) {\n return false;\n }\n if (node.prefix !== this.prefix) {\n return false;\n }\n if (node.localName !== this.localName) {\n return false;\n }\n if (node.value !== this.value) {\n return false;\n }\n return true;\n };\n\n return XMLAttribute;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDummy, XMLNode,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDummy = (function(superClass) {\n extend(XMLDummy, superClass);\n\n function XMLDummy(parent) {\n XMLDummy.__super__.constructor.call(this, parent);\n this.type = NodeType.Dummy;\n }\n\n XMLDummy.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLDummy.prototype.toString = function(options) {\n return '';\n };\n\n return XMLDummy;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLStringifier,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n hasProp = {}.hasOwnProperty;\n\n module.exports = XMLStringifier = (function() {\n function XMLStringifier(options) {\n this.assertLegalName = bind(this.assertLegalName, this);\n this.assertLegalChar = bind(this.assertLegalChar, this);\n var key, ref, value;\n options || (options = {});\n this.options = options;\n if (!this.options.version) {\n this.options.version = '1.0';\n }\n ref = options.stringify || {};\n for (key in ref) {\n if (!hasProp.call(ref, key)) continue;\n value = ref[key];\n this[key] = value;\n }\n }\n\n XMLStringifier.prototype.name = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalName('' + val || '');\n };\n\n XMLStringifier.prototype.text = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar(this.textEscape('' + val || ''));\n };\n\n XMLStringifier.prototype.cdata = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n val = val.replace(']]>', ']]]]>');\n return this.assertLegalChar(val);\n };\n\n XMLStringifier.prototype.comment = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n if (val.match(/--/)) {\n throw new Error(\"Comment text cannot contain double-hypen: \" + val);\n }\n return this.assertLegalChar(val);\n };\n\n XMLStringifier.prototype.raw = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return '' + val || '';\n };\n\n XMLStringifier.prototype.attValue = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar(this.attEscape(val = '' + val || ''));\n };\n\n XMLStringifier.prototype.insTarget = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.insValue = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n if (val.match(/\\?>/)) {\n throw new Error(\"Invalid processing instruction value: \" + val);\n }\n return this.assertLegalChar(val);\n };\n\n XMLStringifier.prototype.xmlVersion = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n if (!val.match(/1\\.[0-9]+/)) {\n throw new Error(\"Invalid version number: \" + val);\n }\n return val;\n };\n\n XMLStringifier.prototype.xmlEncoding = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n if (!val.match(/^[A-Za-z](?:[A-Za-z0-9._-])*$/)) {\n throw new Error(\"Invalid encoding: \" + val);\n }\n return this.assertLegalChar(val);\n };\n\n XMLStringifier.prototype.xmlStandalone = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n if (val) {\n return \"yes\";\n } else {\n return \"no\";\n }\n };\n\n XMLStringifier.prototype.dtdPubID = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdSysID = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdElementValue = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdAttType = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdAttDefault = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdEntityValue = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdNData = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.convertAttKey = '@';\n\n XMLStringifier.prototype.convertPIKey = '?';\n\n XMLStringifier.prototype.convertTextKey = '#text';\n\n XMLStringifier.prototype.convertCDataKey = '#cdata';\n\n XMLStringifier.prototype.convertCommentKey = '#comment';\n\n XMLStringifier.prototype.convertRawKey = '#raw';\n\n XMLStringifier.prototype.assertLegalChar = function(str) {\n var regex, res;\n if (this.options.noValidation) {\n return str;\n }\n regex = '';\n if (this.options.version === '1.0') {\n regex = /[\\0-\\x08\\x0B\\f\\x0E-\\x1F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n if (res = str.match(regex)) {\n throw new Error(\"Invalid character in string: \" + str + \" at index \" + res.index);\n }\n } else if (this.options.version === '1.1') {\n regex = /[\\0\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n if (res = str.match(regex)) {\n throw new Error(\"Invalid character in string: \" + str + \" at index \" + res.index);\n }\n }\n return str;\n };\n\n XMLStringifier.prototype.assertLegalName = function(str) {\n var regex;\n if (this.options.noValidation) {\n return str;\n }\n this.assertLegalChar(str);\n regex = /^([:A-Z_a-z\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF])([\\x2D\\.0-:A-Z_a-z\\xB7\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u037D\\u037F-\\u1FFF\\u200C\\u200D\\u203F\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF])*$/;\n if (!str.match(regex)) {\n throw new Error(\"Invalid character in name\");\n }\n return str;\n };\n\n XMLStringifier.prototype.textEscape = function(str) {\n var ampregex;\n if (this.options.noValidation) {\n return str;\n }\n ampregex = this.options.noDoubleEncoding ? /(?!&\\S+;)&/g : /&/g;\n return str.replace(ampregex, '&').replace(//g, '>').replace(/\\r/g, ' ');\n };\n\n XMLStringifier.prototype.attEscape = function(str) {\n var ampregex;\n if (this.options.noValidation) {\n return str;\n }\n ampregex = this.options.noDoubleEncoding ? /(?!&\\S+;)&/g : /&/g;\n return str.replace(ampregex, '&').replace(/ 0) {\n return new Array(indentLevel).join(options.indent);\n }\n }\n return '';\n };\n\n XMLWriterBase.prototype.endline = function(node, options, level) {\n if (!options.pretty || options.suppressPrettyCount) {\n return '';\n } else {\n return options.newline;\n }\n };\n\n XMLWriterBase.prototype.attribute = function(att, options, level) {\n var r;\n this.openAttribute(att, options, level);\n r = ' ' + att.name + '=\"' + att.value + '\"';\n this.closeAttribute(att, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.cdata = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.comment = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.declaration = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '';\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.docType = function(node, options, level) {\n var child, i, len, r, ref;\n level || (level = 0);\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level);\n r += ' 0) {\n r += ' [';\n r += this.endline(node, options, level);\n options.state = WriterState.InsideTag;\n ref = node.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n r += this.writeChildNode(child, options, level + 1);\n }\n options.state = WriterState.CloseTag;\n r += ']';\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '>';\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.element = function(node, options, level) {\n var att, child, childNodeCount, firstChildNode, i, j, len, len1, name, prettySuppressed, r, ref, ref1, ref2;\n level || (level = 0);\n prettySuppressed = false;\n r = '';\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r += this.indent(node, options, level) + '<' + node.name;\n ref = node.attribs;\n for (name in ref) {\n if (!hasProp.call(ref, name)) continue;\n att = ref[name];\n r += this.attribute(att, options, level);\n }\n childNodeCount = node.children.length;\n firstChildNode = childNodeCount === 0 ? null : node.children[0];\n if (childNodeCount === 0 || node.children.every(function(e) {\n return (e.type === NodeType.Text || e.type === NodeType.Raw) && e.value === '';\n })) {\n if (options.allowEmpty) {\n r += '>';\n options.state = WriterState.CloseTag;\n r += '' + this.endline(node, options, level);\n } else {\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '/>' + this.endline(node, options, level);\n }\n } else if (options.pretty && childNodeCount === 1 && (firstChildNode.type === NodeType.Text || firstChildNode.type === NodeType.Raw) && (firstChildNode.value != null)) {\n r += '>';\n options.state = WriterState.InsideTag;\n options.suppressPrettyCount++;\n prettySuppressed = true;\n r += this.writeChildNode(firstChildNode, options, level + 1);\n options.suppressPrettyCount--;\n prettySuppressed = false;\n options.state = WriterState.CloseTag;\n r += '' + this.endline(node, options, level);\n } else {\n if (options.dontPrettyTextNodes) {\n ref1 = node.children;\n for (i = 0, len = ref1.length; i < len; i++) {\n child = ref1[i];\n if ((child.type === NodeType.Text || child.type === NodeType.Raw) && (child.value != null)) {\n options.suppressPrettyCount++;\n prettySuppressed = true;\n break;\n }\n }\n }\n r += '>' + this.endline(node, options, level);\n options.state = WriterState.InsideTag;\n ref2 = node.children;\n for (j = 0, len1 = ref2.length; j < len1; j++) {\n child = ref2[j];\n r += this.writeChildNode(child, options, level + 1);\n }\n options.state = WriterState.CloseTag;\n r += this.indent(node, options, level) + '';\n if (prettySuppressed) {\n options.suppressPrettyCount--;\n }\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n }\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.writeChildNode = function(node, options, level) {\n switch (node.type) {\n case NodeType.CData:\n return this.cdata(node, options, level);\n case NodeType.Comment:\n return this.comment(node, options, level);\n case NodeType.Element:\n return this.element(node, options, level);\n case NodeType.Raw:\n return this.raw(node, options, level);\n case NodeType.Text:\n return this.text(node, options, level);\n case NodeType.ProcessingInstruction:\n return this.processingInstruction(node, options, level);\n case NodeType.Dummy:\n return '';\n case NodeType.Declaration:\n return this.declaration(node, options, level);\n case NodeType.DocType:\n return this.docType(node, options, level);\n case NodeType.AttributeDeclaration:\n return this.dtdAttList(node, options, level);\n case NodeType.ElementDeclaration:\n return this.dtdElement(node, options, level);\n case NodeType.EntityDeclaration:\n return this.dtdEntity(node, options, level);\n case NodeType.NotationDeclaration:\n return this.dtdNotation(node, options, level);\n default:\n throw new Error(\"Unknown XML node type: \" + node.constructor.name);\n }\n };\n\n XMLWriterBase.prototype.processingInstruction = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '';\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.raw = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level);\n options.state = WriterState.InsideTag;\n r += node.value;\n options.state = WriterState.CloseTag;\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.text = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level);\n options.state = WriterState.InsideTag;\n r += node.value;\n options.state = WriterState.CloseTag;\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.dtdAttList = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.dtdElement = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.dtdEntity = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.dtdNotation = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.openNode = function(node, options, level) {};\n\n XMLWriterBase.prototype.closeNode = function(node, options, level) {};\n\n XMLWriterBase.prototype.openAttribute = function(att, options, level) {};\n\n XMLWriterBase.prototype.closeAttribute = function(att, options, level) {};\n\n return XMLWriterBase;\n\n })();\n\n}).call(this);\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\nmodule.exports = Readable;\n\n/**/\nvar isArray = require('isarray');\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function (emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\n/**/\nvar debugUtil = require('util');\nvar debug = void 0;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function () {};\n}\n/**/\n\nvar BufferList = require('./internal/streams/BufferList');\nvar destroyImpl = require('./internal/streams/destroy');\nvar StringDecoder;\n\nutil.inherits(Readable, Stream);\n\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n var hwm = options.highWaterMark;\n var readableHwm = options.readableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n if (!(this instanceof Readable)) return new Readable(options);\n\n this._readableState = new ReadableState(options, this);\n\n // legacy\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\n\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n this.push(null);\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n stream.emit('error', er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n stream.emit('error', new Error('stream.push() after EOF'));\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n }\n }\n\n return needMoreData(state);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n stream.emit('data', chunk);\n stream.read(0);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n return er;\n}\n\n// if it's past the high water mark, we can push in some more.\n// Also, if we have no data yet, we can stand some\n// more bytes. This is to work around cases where hwm=0,\n// such as the repl. Also, if the push() triggered a\n// readable event, and the user called read(largeNumber) such that\n// needReadable was set, then we ought to push more, so that another\n// 'readable' event will be triggered.\nfunction needMoreData(state) {\n return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this._readableState.decoder = new StringDecoder(enc);\n this._readableState.encoding = enc;\n return this;\n};\n\n// Don't raise the hwm > 8MB\nvar MAX_HWM = 0x800000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = true;\n n = 0;\n } else {\n state.length -= n;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n\n // emit 'readable' now to make sure it gets picked up.\n emitReadable(stream);\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream);\n }\n}\n\nfunction emitReadable_(stream) {\n debug('emit readable');\n stream.emit('readable');\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n pna.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n var len = state.length;\n while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;else len = state.length;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n this.emit('error', new Error('_read() is not implemented'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn);\n\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n // If the user pushes more data while we're writing to dest then we'll end up\n // in ondata again. However, we only want to increase awaitDrain once because\n // dest will only emit one 'drain' event for the multiple writes.\n // => Introduce a guard on increasing awaitDrain.\n var increasedAwaitDrain = false;\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n increasedAwaitDrain = false;\n var ret = dest.write(chunk);\n if (false === ret && !increasedAwaitDrain) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', src._readableState.awaitDrain);\n src._readableState.awaitDrain++;\n increasedAwaitDrain = true;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function () {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = { hasUnpiped: false };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, unpipeInfo);\n }return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n\n dest.emit('unpipe', this, unpipeInfo);\n\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n\n if (ev === 'data') {\n // Start flowing on next tick if stream isn't explicitly paused\n if (this._readableState.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n var state = this._readableState;\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.emittedReadable = false;\n if (!state.reading) {\n pna.nextTick(nReadingNextTick, this);\n } else if (state.length) {\n emitReadable(this);\n }\n }\n }\n\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n state.flowing = true;\n resume(this, state);\n }\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n pna.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n if (!state.reading) {\n debug('resume read 0');\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n state.awaitDrain = 0;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (false !== this._readableState.flowing) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null) {}\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function (method) {\n return function () {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._readableState.highWaterMark;\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = fromListPartial(n, state.buffer, state.decoder);\n }\n\n return ret;\n}\n\n// Extracts only enough buffered data to satisfy the amount requested.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromListPartial(n, list, hasStrings) {\n var ret;\n if (n < list.head.data.length) {\n // slice is the same for buffers and strings\n ret = list.head.data.slice(0, n);\n list.head.data = list.head.data.slice(n);\n } else if (n === list.head.data.length) {\n // first chunk is a perfect match\n ret = list.shift();\n } else {\n // result spans more than one buffer\n ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);\n }\n return ret;\n}\n\n// Copies a specified amount of characters from the list of buffered data\n// chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBufferString(n, list) {\n var p = list.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\n// Copies a specified amount of bytes from the list of buffered data chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBuffer(n, list) {\n var ret = Buffer.allocUnsafe(n);\n var p = list.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n\n // If we get here before consuming all the bytes, then that is a\n // bug in node. Should never happen.\n if (state.length > 0) throw new Error('\"endReadable()\" called on non-empty stream');\n\n if (!state.endEmitted) {\n state.ended = true;\n pna.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n }\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","module.exports = require('events').EventEmitter;\n","'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err && (!this._writableState || !this._writableState.errorEmitted)) {\n pna.nextTick(emitErrorNT, this, err);\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n pna.nextTick(emitErrorNT, _this, err);\n if (_this._writableState) {\n _this._writableState.errorEmitted = true;\n }\n } else if (cb) {\n cb(err);\n }\n });\n\n return this;\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy\n};","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\n\nvar Duplex = require('./_stream_duplex');\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\nutil.inherits(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n\n var cb = ts.writecb;\n\n if (!cb) {\n return this.emit('error', new Error('write callback called multiple times'));\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n\n cb(er);\n\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n\n Duplex.call(this, options);\n\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function') {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n throw new Error('_transform() is not implemented');\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && ts.writecb && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n var _this2 = this;\n\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n _this2.emit('close');\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new Error('Calling transform done when ws.length != 0');\n\n if (stream._transformState.transforming) throw new Error('Calling transform done when still transforming');\n\n return stream.push(null);\n}","// Generated by CoffeeScript 1.12.7\n(function() {\n \"use strict\";\n var prefixMatch;\n\n prefixMatch = new RegExp(/(?!xmlns)^.*:/);\n\n exports.normalize = function(str) {\n return str.toLowerCase();\n };\n\n exports.firstCharLowerCase = function(str) {\n return str.charAt(0).toLowerCase() + str.slice(1);\n };\n\n exports.stripPrefix = function(str) {\n return str.replace(prefixMatch, '');\n };\n\n exports.parseNumbers = function(str) {\n if (!isNaN(str)) {\n str = str % 1 === 0 ? parseInt(str, 10) : parseFloat(str);\n }\n return str;\n };\n\n exports.parseBooleans = function(str) {\n if (/^(?:true|false)$/i.test(str)) {\n str = str.toLowerCase() === 'true';\n }\n return str;\n };\n\n}).call(this);\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nvar _TransitionGroupContext = _interopRequireDefault(require(\"./TransitionGroupContext\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar UNMOUNTED = 'unmounted';\nexports.UNMOUNTED = UNMOUNTED;\nvar EXITED = 'exited';\nexports.EXITED = EXITED;\nvar ENTERING = 'entering';\nexports.ENTERING = ENTERING;\nvar ENTERED = 'entered';\nexports.ENTERED = ENTERED;\nvar EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
    \n * I'm a fade Transition!\n *
    \n * )}\n *
    \n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
    \n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
    \n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nexports.EXITING = EXITING;\n\nvar Transition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n }; // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n var node = _reactDom.default.findDOMNode(this);\n\n if (nextStatus === ENTERING) {\n this.performEnter(node, mounting);\n } else {\n this.performExit(node);\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(node, mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node);\n });\n return;\n }\n\n this.props.onEnter(node, appearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(node, appearing);\n\n _this2.onTransitionEnd(node, enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node, appearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit(node) {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED\n\n if (!exit) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n return;\n }\n\n this.props.onExit(node);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(node);\n\n _this3.onTransitionEnd(node, timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {\n this.setNextCallback(handler);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n this.props.addEndListener(node, this.nextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\"]); // filter props for Transtition\n\n\n delete childProps.in;\n delete childProps.mountOnEnter;\n delete childProps.unmountOnExit;\n delete childProps.appear;\n delete childProps.enter;\n delete childProps.exit;\n delete childProps.timeout;\n delete childProps.addEndListener;\n delete childProps.onEnter;\n delete childProps.onEntering;\n delete childProps.onEntered;\n delete childProps.onExit;\n delete childProps.onExiting;\n delete childProps.onExited;\n\n if (typeof children === 'function') {\n // allows for nested Transitions\n return _react.default.createElement(_TransitionGroupContext.default.Provider, {\n value: null\n }, children(status, childProps));\n }\n\n var child = _react.default.Children.only(children);\n\n return (// allows for nested Transitions\n _react.default.createElement(_TransitionGroupContext.default.Provider, {\n value: null\n }, _react.default.cloneElement(child, childProps))\n );\n };\n\n return Transition;\n}(_react.default.Component);\n\nTransition.contextType = _TransitionGroupContext.default;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`, `'unmounted'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * Normally a component is not transitioned if it is shown when the `` component mounts.\n * If you want to transition on the first mount set `appear` to `true`, and the\n * component will transition in as soon as the `` mounts.\n *\n * > Note: there are no specific \"appear\" states. `appear` only adds an additional `enter` transition.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = _PropTypes.timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. **Note:** Timeouts are still used as a fallback if provided.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func // Name the function so it is clearer in the documentation\n\n} : {};\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = 0;\nTransition.EXITED = 1;\nTransition.ENTERING = 2;\nTransition.ENTERED = 3;\nTransition.EXITING = 4;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(Transition);\n\nexports.default = _default;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","\"use strict\";\n\nexports.__esModule = true;\nexports.classNamesShape = exports.timeoutsShape = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar timeoutsShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number,\n appear: _propTypes.default.number\n}).isRequired]) : null;\nexports.timeoutsShape = timeoutsShape;\nvar classNamesShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({\n enter: _propTypes.default.string,\n exit: _propTypes.default.string,\n active: _propTypes.default.string\n}), _propTypes.default.shape({\n enter: _propTypes.default.string,\n enterDone: _propTypes.default.string,\n enterActive: _propTypes.default.string,\n exit: _propTypes.default.string,\n exitDone: _propTypes.default.string,\n exitActive: _propTypes.default.string\n})]) : null;\nexports.classNamesShape = classNamesShape;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _default = _react.default.createContext(null);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _TransitionGroupContext = _interopRequireDefault(require(\"./TransitionGroupContext\"));\n\nvar _ChildMapping = require(\"./utils/ChildMapping\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n /**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\n};\n\nvar TransitionGroup =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_assertThisInitialized(_this))); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? (0, _ChildMapping.getInitialChildMapping)(nextProps, handleExited) : (0, _ChildMapping.getNextChildMapping)(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n };\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return _react.default.createElement(_TransitionGroupContext.default.Provider, {\n value: contextValue\n }, children);\n }\n\n return _react.default.createElement(_TransitionGroupContext.default.Provider, {\n value: contextValue\n }, _react.default.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(_react.default.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `
    ` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
    ` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: _propTypes.default.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: _propTypes.default.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: _propTypes.default.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: _propTypes.default.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(TransitionGroup);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","'use strict';\n\nvar $Object = Object;\nvar $TypeError = TypeError;\n\nmodule.exports = function flags() {\n\tif (this != null && this !== $Object(this)) {\n\t\tthrow new $TypeError('RegExp.prototype.flags getter called on non-object');\n\t}\n\tvar result = '';\n\tif (this.global) {\n\t\tresult += 'g';\n\t}\n\tif (this.ignoreCase) {\n\t\tresult += 'i';\n\t}\n\tif (this.multiline) {\n\t\tresult += 'm';\n\t}\n\tif (this.dotAll) {\n\t\tresult += 's';\n\t}\n\tif (this.unicode) {\n\t\tresult += 'u';\n\t}\n\tif (this.sticky) {\n\t\tresult += 'y';\n\t}\n\treturn result;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nvar supportsDescriptors = require('define-properties').supportsDescriptors;\nvar $gOPD = Object.getOwnPropertyDescriptor;\nvar $TypeError = TypeError;\n\nmodule.exports = function getPolyfill() {\n\tif (!supportsDescriptors) {\n\t\tthrow new $TypeError('RegExp.prototype.flags requires a true ES5 environment that supports property descriptors');\n\t}\n\tif ((/a/mig).flags === 'gim') {\n\t\tvar descriptor = $gOPD(RegExp.prototype, 'flags');\n\t\tif (descriptor && typeof descriptor.get === 'function' && typeof (/a/).dotAll === 'boolean') {\n\t\t\treturn descriptor.get;\n\t\t}\n\t}\n\treturn implementation;\n};\n","var jws = require('jws');\n\nmodule.exports = function (jwt, options) {\n options = options || {};\n var decoded = jws.decode(jwt, options);\n if (!decoded) { return null; }\n var payload = decoded.payload;\n\n //try parse the payload\n if(typeof payload === 'string') {\n try {\n var obj = JSON.parse(payload);\n if(obj !== null && typeof obj === 'object') {\n payload = obj;\n }\n } catch (e) { }\n }\n\n //return header if `complete` option is enabled. header includes claims\n //such as `kid` and `alg` used to select the key within a JWKS needed to\n //verify the signature\n if (options.complete === true) {\n return {\n header: decoded.header,\n payload: payload,\n signature: decoded.signature\n };\n }\n return payload;\n};\n","/*global module, process*/\nvar Buffer = require('safe-buffer').Buffer;\nvar Stream = require('stream');\nvar util = require('util');\n\nfunction DataStream(data) {\n this.buffer = null;\n this.writable = true;\n this.readable = true;\n\n // No input\n if (!data) {\n this.buffer = Buffer.alloc(0);\n return this;\n }\n\n // Stream\n if (typeof data.pipe === 'function') {\n this.buffer = Buffer.alloc(0);\n data.pipe(this);\n return this;\n }\n\n // Buffer or String\n // or Object (assumedly a passworded key)\n if (data.length || typeof data === 'object') {\n this.buffer = data;\n this.writable = false;\n process.nextTick(function () {\n this.emit('end', data);\n this.readable = false;\n this.emit('close');\n }.bind(this));\n return this;\n }\n\n throw new TypeError('Unexpected data type ('+ typeof data + ')');\n}\nutil.inherits(DataStream, Stream);\n\nDataStream.prototype.write = function write(data) {\n this.buffer = Buffer.concat([this.buffer, Buffer.from(data)]);\n this.emit('data', data);\n};\n\nDataStream.prototype.end = function end(data) {\n if (data)\n this.write(data);\n this.emit('end', data);\n this.emit('close');\n this.writable = false;\n this.readable = false;\n};\n\nmodule.exports = DataStream;\n","var bufferEqual = require('buffer-equal-constant-time');\nvar Buffer = require('safe-buffer').Buffer;\nvar crypto = require('crypto');\nvar formatEcdsa = require('ecdsa-sig-formatter');\nvar util = require('util');\n\nvar MSG_INVALID_ALGORITHM = '\"%s\" is not a valid algorithm.\\n Supported algorithms are:\\n \"HS256\", \"HS384\", \"HS512\", \"RS256\", \"RS384\", \"RS512\", \"PS256\", \"PS384\", \"PS512\", \"ES256\", \"ES384\", \"ES512\" and \"none\".'\nvar MSG_INVALID_SECRET = 'secret must be a string or buffer';\nvar MSG_INVALID_VERIFIER_KEY = 'key must be a string or a buffer';\nvar MSG_INVALID_SIGNER_KEY = 'key must be a string, a buffer or an object';\n\nvar supportsKeyObjects = typeof crypto.createPublicKey === 'function';\nif (supportsKeyObjects) {\n MSG_INVALID_VERIFIER_KEY += ' or a KeyObject';\n MSG_INVALID_SECRET += 'or a KeyObject';\n}\n\nfunction checkIsPublicKey(key) {\n if (Buffer.isBuffer(key)) {\n return;\n }\n\n if (typeof key === 'string') {\n return;\n }\n\n if (!supportsKeyObjects) {\n throw typeError(MSG_INVALID_VERIFIER_KEY);\n }\n\n if (typeof key !== 'object') {\n throw typeError(MSG_INVALID_VERIFIER_KEY);\n }\n\n if (typeof key.type !== 'string') {\n throw typeError(MSG_INVALID_VERIFIER_KEY);\n }\n\n if (typeof key.asymmetricKeyType !== 'string') {\n throw typeError(MSG_INVALID_VERIFIER_KEY);\n }\n\n if (typeof key.export !== 'function') {\n throw typeError(MSG_INVALID_VERIFIER_KEY);\n }\n};\n\nfunction checkIsPrivateKey(key) {\n if (Buffer.isBuffer(key)) {\n return;\n }\n\n if (typeof key === 'string') {\n return;\n }\n\n if (typeof key === 'object') {\n return;\n }\n\n throw typeError(MSG_INVALID_SIGNER_KEY);\n};\n\nfunction checkIsSecretKey(key) {\n if (Buffer.isBuffer(key)) {\n return;\n }\n\n if (typeof key === 'string') {\n return key;\n }\n\n if (!supportsKeyObjects) {\n throw typeError(MSG_INVALID_SECRET);\n }\n\n if (typeof key !== 'object') {\n throw typeError(MSG_INVALID_SECRET);\n }\n\n if (key.type !== 'secret') {\n throw typeError(MSG_INVALID_SECRET);\n }\n\n if (typeof key.export !== 'function') {\n throw typeError(MSG_INVALID_SECRET);\n }\n}\n\nfunction fromBase64(base64) {\n return base64\n .replace(/=/g, '')\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_');\n}\n\nfunction toBase64(base64url) {\n base64url = base64url.toString();\n\n var padding = 4 - base64url.length % 4;\n if (padding !== 4) {\n for (var i = 0; i < padding; ++i) {\n base64url += '=';\n }\n }\n\n return base64url\n .replace(/\\-/g, '+')\n .replace(/_/g, '/');\n}\n\nfunction typeError(template) {\n var args = [].slice.call(arguments, 1);\n var errMsg = util.format.bind(util, template).apply(null, args);\n return new TypeError(errMsg);\n}\n\nfunction bufferOrString(obj) {\n return Buffer.isBuffer(obj) || typeof obj === 'string';\n}\n\nfunction normalizeInput(thing) {\n if (!bufferOrString(thing))\n thing = JSON.stringify(thing);\n return thing;\n}\n\nfunction createHmacSigner(bits) {\n return function sign(thing, secret) {\n checkIsSecretKey(secret);\n thing = normalizeInput(thing);\n var hmac = crypto.createHmac('sha' + bits, secret);\n var sig = (hmac.update(thing), hmac.digest('base64'))\n return fromBase64(sig);\n }\n}\n\nfunction createHmacVerifier(bits) {\n return function verify(thing, signature, secret) {\n var computedSig = createHmacSigner(bits)(thing, secret);\n return bufferEqual(Buffer.from(signature), Buffer.from(computedSig));\n }\n}\n\nfunction createKeySigner(bits) {\n return function sign(thing, privateKey) {\n checkIsPrivateKey(privateKey);\n thing = normalizeInput(thing);\n // Even though we are specifying \"RSA\" here, this works with ECDSA\n // keys as well.\n var signer = crypto.createSign('RSA-SHA' + bits);\n var sig = (signer.update(thing), signer.sign(privateKey, 'base64'));\n return fromBase64(sig);\n }\n}\n\nfunction createKeyVerifier(bits) {\n return function verify(thing, signature, publicKey) {\n checkIsPublicKey(publicKey);\n thing = normalizeInput(thing);\n signature = toBase64(signature);\n var verifier = crypto.createVerify('RSA-SHA' + bits);\n verifier.update(thing);\n return verifier.verify(publicKey, signature, 'base64');\n }\n}\n\nfunction createPSSKeySigner(bits) {\n return function sign(thing, privateKey) {\n checkIsPrivateKey(privateKey);\n thing = normalizeInput(thing);\n var signer = crypto.createSign('RSA-SHA' + bits);\n var sig = (signer.update(thing), signer.sign({\n key: privateKey,\n padding: crypto.constants.RSA_PKCS1_PSS_PADDING,\n saltLength: crypto.constants.RSA_PSS_SALTLEN_DIGEST\n }, 'base64'));\n return fromBase64(sig);\n }\n}\n\nfunction createPSSKeyVerifier(bits) {\n return function verify(thing, signature, publicKey) {\n checkIsPublicKey(publicKey);\n thing = normalizeInput(thing);\n signature = toBase64(signature);\n var verifier = crypto.createVerify('RSA-SHA' + bits);\n verifier.update(thing);\n return verifier.verify({\n key: publicKey,\n padding: crypto.constants.RSA_PKCS1_PSS_PADDING,\n saltLength: crypto.constants.RSA_PSS_SALTLEN_DIGEST\n }, signature, 'base64');\n }\n}\n\nfunction createECDSASigner(bits) {\n var inner = createKeySigner(bits);\n return function sign() {\n var signature = inner.apply(null, arguments);\n signature = formatEcdsa.derToJose(signature, 'ES' + bits);\n return signature;\n };\n}\n\nfunction createECDSAVerifer(bits) {\n var inner = createKeyVerifier(bits);\n return function verify(thing, signature, publicKey) {\n signature = formatEcdsa.joseToDer(signature, 'ES' + bits).toString('base64');\n var result = inner(thing, signature, publicKey);\n return result;\n };\n}\n\nfunction createNoneSigner() {\n return function sign() {\n return '';\n }\n}\n\nfunction createNoneVerifier() {\n return function verify(thing, signature) {\n return signature === '';\n }\n}\n\nmodule.exports = function jwa(algorithm) {\n var signerFactories = {\n hs: createHmacSigner,\n rs: createKeySigner,\n ps: createPSSKeySigner,\n es: createECDSASigner,\n none: createNoneSigner,\n }\n var verifierFactories = {\n hs: createHmacVerifier,\n rs: createKeyVerifier,\n ps: createPSSKeyVerifier,\n es: createECDSAVerifer,\n none: createNoneVerifier,\n }\n var match = algorithm.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/i);\n if (!match)\n throw typeError(MSG_INVALID_ALGORITHM, algorithm);\n var algo = (match[1] || match[3]).toLowerCase();\n var bits = match[2];\n\n return {\n sign: signerFactories[algo](bits),\n verify: verifierFactories[algo](bits),\n }\n};\n","'use strict'\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('readable-stream').Transform\nvar inherits = require('inherits')\n\nfunction throwIfNotStringOrBuffer (val, prefix) {\n if (!Buffer.isBuffer(val) && typeof val !== 'string') {\n throw new TypeError(prefix + ' must be a string or a buffer')\n }\n}\n\nfunction HashBase (blockSize) {\n Transform.call(this)\n\n this._block = Buffer.allocUnsafe(blockSize)\n this._blockSize = blockSize\n this._blockOffset = 0\n this._length = [0, 0, 0, 0]\n\n this._finalized = false\n}\n\ninherits(HashBase, Transform)\n\nHashBase.prototype._transform = function (chunk, encoding, callback) {\n var error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype._flush = function (callback) {\n var error = null\n try {\n this.push(this.digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype.update = function (data, encoding) {\n throwIfNotStringOrBuffer(data, 'Data')\n if (this._finalized) throw new Error('Digest already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n // consume data\n var block = this._block\n var offset = 0\n while (this._blockOffset + data.length - offset >= this._blockSize) {\n for (var i = this._blockOffset; i < this._blockSize;) block[i++] = data[offset++]\n this._update()\n this._blockOffset = 0\n }\n while (offset < data.length) block[this._blockOffset++] = data[offset++]\n\n // update length\n for (var j = 0, carry = data.length * 8; carry > 0; ++j) {\n this._length[j] += carry\n carry = (this._length[j] / 0x0100000000) | 0\n if (carry > 0) this._length[j] -= 0x0100000000 * carry\n }\n\n return this\n}\n\nHashBase.prototype._update = function () {\n throw new Error('_update is not implemented')\n}\n\nHashBase.prototype.digest = function (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n var digest = this._digest()\n if (encoding !== undefined) digest = digest.toString(encoding)\n\n // reset state\n this._block.fill(0)\n this._blockOffset = 0\n for (var i = 0; i < 4; ++i) this._length[i] = 0\n\n return digest\n}\n\nHashBase.prototype._digest = function () {\n throw new Error('_digest is not implemented')\n}\n\nmodule.exports = HashBase\n","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\nexports.finished = require('./lib/internal/streams/end-of-stream.js');\nexports.pipeline = require('./lib/internal/streams/pipeline.js');\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nmodule.exports = Readable;\n/**/\n\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n/**/\n\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\n\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/**/\n\n\nvar debugUtil = require('util');\n\nvar debug;\n\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\n\nvar BufferList = require('./internal/streams/buffer_list');\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance.\n\n\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\n\nrequire('inherits')(Readable, Stream);\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n\n this.sync = true; // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish')\n\n this.autoDestroy = !!options.autoDestroy; // has it been destroyed\n\n this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s\n\n this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled\n\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex); // legacy\n\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\n\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n}; // Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\n\n\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n}; // Unshift should *always* be something directly out of read()\n\n\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n } // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n\n\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n\n return er;\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n}; // backwards compatibility.\n\n\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8\n\n this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers:\n\n var p = this._readableState.buffer.head;\n var content = '';\n\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n\n this._readableState.buffer.clear();\n\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n}; // Don't raise the hwm > 1GB\n\n\nvar MAX_HWM = 0x40000000;\n\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n\n return n;\n} // This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\n\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n } // If we're asking for more than the current hwm, then raise the hwm.\n\n\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n; // Don't have enough\n\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n\n return state.length;\n} // you can override either this method, or the async _read(n) below.\n\n\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up.\n\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n } // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n // if we need a readable event, then we need to do some reading.\n\n\n var doRead = state.needReadable;\n debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some\n\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n } // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n\n\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true; // if the length is currently zero, then we *need* a readable event.\n\n if (state.length === 0) state.needReadable = true; // call internal read method\n\n this._read(state.highWaterMark);\n\n state.sync = false; // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick.\n\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n\n if (state.decoder) {\n var chunk = state.decoder.end();\n\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n\n state.ended = true;\n\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n} // Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\n\n\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\n\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n } // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n\n\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n} // at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\n\n\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length) // didn't get any data, stop spinning.\n break;\n }\n\n state.readingMore = false;\n} // abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\n\n\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n\n default:\n state.pipes.push(dest);\n break;\n }\n\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n } // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n\n\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n\n function cleanup() {\n debug('cleanup'); // cleanup event handlers once the pipe is broken\n\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true; // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n src.on('data', ondata);\n\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n\n src.pause();\n }\n } // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n\n\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n } // Make sure our error handler is attached before userland ones.\n\n\n prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once.\n\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n\n dest.once('close', onclose);\n\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n } // tell the dest that it's being piped to\n\n\n dest.emit('pipe', src); // start the flow if it hasn't been started already.\n\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n }; // if we're not piping anywhere, then do nothing.\n\n if (state.pipesCount === 0) return this; // just one destination. most common case.\n\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes; // got a match.\n\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n } // slow case. multiple pipe destinations.\n\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n }\n\n return this;\n } // try to find the right one.\n\n\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n}; // set up data events if they are asked for\n// Ensure readable listeners eventually get something\n\n\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused\n\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n\n return res;\n};\n\nReadable.prototype.addListener = Readable.prototype.on;\n\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true; // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n} // pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\n\n\nReadable.prototype.resume = function () {\n var state = this._readableState;\n\n if (!state.flowing) {\n debug('resume'); // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n\n state.paused = false;\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n\n if (!state.reading) {\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n\n this._readableState.paused = true;\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n\n while (state.flowing && stream.read() !== null) {\n ;\n }\n} // wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\n\n\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode\n\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n\n if (!ret) {\n paused = true;\n stream.pause();\n }\n }); // proxy all the other methods.\n // important when wrapping filters and duplexes.\n\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n } // proxy certain important events.\n\n\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n } // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n\n\n this._read = function (n) {\n debug('wrapped _read', n);\n\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n\n return createReadableStreamAsyncIterator(this);\n };\n}\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n}); // exposed for testing purposes only.\n\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n}); // Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift.\n\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\n\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n\n return from(Readable, iterable, opts);\n };\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n\n return -1;\n}","module.exports = require('events').EventEmitter;\n","'use strict'; // undocumented cb() API, needed for core, not for public API\n\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n\n return this;\n } // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n } // if this is a duplex stream mark the writable part as destroyed as well\n\n\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n\n return this;\n}\n\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\n\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\n\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\n\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n\n return Math.floor(hwm);\n } // Default value\n\n\n return state.objectMode ? 16 : 16 * 1024;\n}\n\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n'use strict';\n\nmodule.exports = Writable;\n/* */\n\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n} // It seems a linked list but it is not\n// there will be only 2 of these for each stream\n\n\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\n\n\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n/**/\n\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\n\nrequire('inherits')(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called\n\n this.finalCalled = false; // drain event flag.\n\n this.needDrain = false; // at the start of calling end()\n\n this.ending = false; // when end() has been called, and returned\n\n this.ended = false; // when 'finish' is emitted\n\n this.finished = false; // has it been destroyed\n\n this.destroyed = false; // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n\n this.length = 0; // a flag to see when we're in the middle of a write.\n\n this.writing = false; // when true all writes will be buffered until .uncork() call\n\n this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n\n this.sync = true; // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n\n this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb)\n\n this.onwrite = function (er) {\n onwrite(stream, er);\n }; // the callback that the user supplies to write(chunk,encoding,cb)\n\n\n this.writecb = null; // the amount that is being written when _write is called.\n\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null; // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n\n this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n\n this.prefinished = false; // True if the error was already emitted and should not be thrown again\n\n this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end')\n\n this.autoDestroy = !!options.autoDestroy; // count buffered requests\n\n this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n\n while (current) {\n out.push(current);\n current = current.next;\n }\n\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})(); // Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\n\n\nvar realHasInstance;\n\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex'); // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex); // legacy.\n\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n} // Otherwise people can pipe Writable streams, which is just wrong.\n\n\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb\n\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n} // Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\n\n\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n\n return true;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\n\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n}); // if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\n\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false.\n\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er); // this can emit finish, and it will always happen\n // after error\n\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er); // this can emit finish, but finish must\n // always follow error\n\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n} // Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\n\n\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n} // if there's something in the buffer waiting, then process it\n\n\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n\n state.pendingcb++;\n state.lastBufferedRequest = null;\n\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks\n\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n } // ignore unnecessary end() calls.\n\n\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\n\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n\n if (err) {\n errorOrDestroy(stream, err);\n }\n\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\n\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n\n if (need) {\n prefinish(stream, state);\n\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n } // reuse the free corkReq.\n\n\n state.corkedRequestsFree.next = corkReq;\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\n\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n'use strict';\n\nmodule.exports = Transform;\n\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n\nvar Duplex = require('./_stream_duplex');\n\nrequire('inherits')(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n }; // start out asking for a readable event once data is transformed.\n\n this._readableState.needReadable = true; // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n } // When the writable side finishes, then flush out anything remaining.\n\n\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n}; // This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\n\n\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n}; // Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\n\n\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data); // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,\n 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,\n 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,\n 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,\n 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,\n 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,\n 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,\n 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,\n 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,\n 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,\n 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,\n 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,\n 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,\n 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,\n 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,\n 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2\n]\n\nvar W = new Array(64)\n\nfunction Sha256 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha256, Hash)\n\nSha256.prototype.init = function () {\n this._a = 0x6a09e667\n this._b = 0xbb67ae85\n this._c = 0x3c6ef372\n this._d = 0xa54ff53a\n this._e = 0x510e527f\n this._f = 0x9b05688c\n this._g = 0x1f83d9ab\n this._h = 0x5be0cd19\n\n return this\n}\n\nfunction ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10)\n}\n\nfunction sigma1 (x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)\n}\n\nfunction gamma0 (x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3)\n}\n\nfunction gamma1 (x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10)\n}\n\nSha256.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n var f = this._f | 0\n var g = this._g | 0\n var h = this._h | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0\n\n for (var j = 0; j < 64; ++j) {\n var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0\n var T2 = (sigma0(a) + maj(a, b, c)) | 0\n\n h = g\n g = f\n f = e\n e = (d + T1) | 0\n d = c\n c = b\n b = a\n a = (T1 + T2) | 0\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n this._f = (f + this._f) | 0\n this._g = (g + this._g) | 0\n this._h = (h + this._h) | 0\n}\n\nSha256.prototype._hash = function () {\n var H = Buffer.allocUnsafe(32)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n H.writeInt32BE(this._h, 28)\n\n return H\n}\n\nmodule.exports = Sha256\n","var inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]\n\nvar W = new Array(160)\n\nfunction Sha512 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha512, Hash)\n\nSha512.prototype.init = function () {\n this._ah = 0x6a09e667\n this._bh = 0xbb67ae85\n this._ch = 0x3c6ef372\n this._dh = 0xa54ff53a\n this._eh = 0x510e527f\n this._fh = 0x9b05688c\n this._gh = 0x1f83d9ab\n this._hh = 0x5be0cd19\n\n this._al = 0xf3bcc908\n this._bl = 0x84caa73b\n this._cl = 0xfe94f82b\n this._dl = 0x5f1d36f1\n this._el = 0xade682d1\n this._fl = 0x2b3e6c1f\n this._gl = 0xfb41bd6b\n this._hl = 0x137e2179\n\n return this\n}\n\nfunction Ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25)\n}\n\nfunction sigma1 (x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23)\n}\n\nfunction Gamma0 (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7)\n}\n\nfunction Gamma0l (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25)\n}\n\nfunction Gamma1 (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6)\n}\n\nfunction Gamma1l (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26)\n}\n\nfunction getCarry (a, b) {\n return (a >>> 0) < (b >>> 0) ? 1 : 0\n}\n\nSha512.prototype._update = function (M) {\n var W = this._w\n\n var ah = this._ah | 0\n var bh = this._bh | 0\n var ch = this._ch | 0\n var dh = this._dh | 0\n var eh = this._eh | 0\n var fh = this._fh | 0\n var gh = this._gh | 0\n var hh = this._hh | 0\n\n var al = this._al | 0\n var bl = this._bl | 0\n var cl = this._cl | 0\n var dl = this._dl | 0\n var el = this._el | 0\n var fl = this._fl | 0\n var gl = this._gl | 0\n var hl = this._hl | 0\n\n for (var i = 0; i < 32; i += 2) {\n W[i] = M.readInt32BE(i * 4)\n W[i + 1] = M.readInt32BE(i * 4 + 4)\n }\n for (; i < 160; i += 2) {\n var xh = W[i - 15 * 2]\n var xl = W[i - 15 * 2 + 1]\n var gamma0 = Gamma0(xh, xl)\n var gamma0l = Gamma0l(xl, xh)\n\n xh = W[i - 2 * 2]\n xl = W[i - 2 * 2 + 1]\n var gamma1 = Gamma1(xh, xl)\n var gamma1l = Gamma1l(xl, xh)\n\n // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n var Wi7h = W[i - 7 * 2]\n var Wi7l = W[i - 7 * 2 + 1]\n\n var Wi16h = W[i - 16 * 2]\n var Wi16l = W[i - 16 * 2 + 1]\n\n var Wil = (gamma0l + Wi7l) | 0\n var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0\n Wil = (Wil + gamma1l) | 0\n Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0\n Wil = (Wil + Wi16l) | 0\n Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0\n\n W[i] = Wih\n W[i + 1] = Wil\n }\n\n for (var j = 0; j < 160; j += 2) {\n Wih = W[j]\n Wil = W[j + 1]\n\n var majh = maj(ah, bh, ch)\n var majl = maj(al, bl, cl)\n\n var sigma0h = sigma0(ah, al)\n var sigma0l = sigma0(al, ah)\n var sigma1h = sigma1(eh, el)\n var sigma1l = sigma1(el, eh)\n\n // t1 = h + sigma1 + ch + K[j] + W[j]\n var Kih = K[j]\n var Kil = K[j + 1]\n\n var chh = Ch(eh, fh, gh)\n var chl = Ch(el, fl, gl)\n\n var t1l = (hl + sigma1l) | 0\n var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0\n t1l = (t1l + chl) | 0\n t1h = (t1h + chh + getCarry(t1l, chl)) | 0\n t1l = (t1l + Kil) | 0\n t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0\n t1l = (t1l + Wil) | 0\n t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0\n\n // t2 = sigma0 + maj\n var t2l = (sigma0l + majl) | 0\n var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0\n\n hh = gh\n hl = gl\n gh = fh\n gl = fl\n fh = eh\n fl = el\n el = (dl + t1l) | 0\n eh = (dh + t1h + getCarry(el, dl)) | 0\n dh = ch\n dl = cl\n ch = bh\n cl = bl\n bh = ah\n bl = al\n al = (t1l + t2l) | 0\n ah = (t1h + t2h + getCarry(al, t1l)) | 0\n }\n\n this._al = (this._al + al) | 0\n this._bl = (this._bl + bl) | 0\n this._cl = (this._cl + cl) | 0\n this._dl = (this._dl + dl) | 0\n this._el = (this._el + el) | 0\n this._fl = (this._fl + fl) | 0\n this._gl = (this._gl + gl) | 0\n this._hl = (this._hl + hl) | 0\n\n this._ah = (this._ah + ah + getCarry(this._al, al)) | 0\n this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0\n this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0\n this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0\n this._eh = (this._eh + eh + getCarry(this._el, el)) | 0\n this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0\n this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0\n this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0\n}\n\nSha512.prototype._hash = function () {\n var H = Buffer.allocUnsafe(64)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n writeInt64BE(this._gh, this._gl, 48)\n writeInt64BE(this._hh, this._hl, 56)\n\n return H\n}\n\nmodule.exports = Sha512\n","'use strict'\nvar inherits = require('inherits')\nvar Legacy = require('./legacy')\nvar Base = require('cipher-base')\nvar Buffer = require('safe-buffer').Buffer\nvar md5 = require('create-hash/md5')\nvar RIPEMD160 = require('ripemd160')\n\nvar sha = require('sha.js')\n\nvar ZEROS = Buffer.alloc(128)\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n this._alg = alg\n this._key = key\n if (key.length > blocksize) {\n var hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n key = hash.update(key).digest()\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n this._hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n this._hash.update(ipad)\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._hash.digest()\n var hash = this._alg === 'rmd160' ? new RIPEMD160() : sha(this._alg)\n return hash.update(this._opad).update(h).digest()\n}\n\nmodule.exports = function createHmac (alg, key) {\n alg = alg.toLowerCase()\n if (alg === 'rmd160' || alg === 'ripemd160') {\n return new Hmac('rmd160', key)\n }\n if (alg === 'md5') {\n return new Legacy(md5, key)\n }\n return new Hmac(alg, key)\n}\n","var MD5 = require('md5.js')\n\nmodule.exports = function (buffer) {\n return new MD5().update(buffer).digest()\n}\n","exports.pbkdf2 = require('./lib/async')\nexports.pbkdf2Sync = require('./lib/sync')\n","var MAX_ALLOC = Math.pow(2, 30) - 1 // default in iojs\n\nmodule.exports = function (iterations, keylen) {\n if (typeof iterations !== 'number') {\n throw new TypeError('Iterations not a number')\n }\n\n if (iterations < 0) {\n throw new TypeError('Bad iterations')\n }\n\n if (typeof keylen !== 'number') {\n throw new TypeError('Key length not a number')\n }\n\n if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen) { /* eslint no-self-compare: 0 */\n throw new TypeError('Bad key length')\n }\n}\n","var defaultEncoding\n/* istanbul ignore next */\nif (process.browser) {\n defaultEncoding = 'utf-8'\n} else if (process.version) {\n var pVersionMajor = parseInt(process.version.split('.')[0].slice(1), 10)\n\n defaultEncoding = pVersionMajor >= 6 ? 'utf-8' : 'binary'\n} else {\n defaultEncoding = 'utf-8'\n}\nmodule.exports = defaultEncoding\n","var md5 = require('create-hash/md5')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar toBuffer = require('./to-buffer')\n\nvar ZEROS = Buffer.alloc(128)\nvar sizes = {\n md5: 16,\n sha1: 20,\n sha224: 28,\n sha256: 32,\n sha384: 48,\n sha512: 64,\n rmd160: 20,\n ripemd160: 20\n}\n\nfunction Hmac (alg, key, saltLen) {\n var hash = getDigest(alg)\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n if (key.length > blocksize) {\n key = hash(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = Buffer.allocUnsafe(blocksize + sizes[alg])\n var opad = Buffer.allocUnsafe(blocksize + sizes[alg])\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n var ipad1 = Buffer.allocUnsafe(blocksize + saltLen + 4)\n ipad.copy(ipad1, 0, 0, blocksize)\n this.ipad1 = ipad1\n this.ipad2 = ipad\n this.opad = opad\n this.alg = alg\n this.blocksize = blocksize\n this.hash = hash\n this.size = sizes[alg]\n}\n\nHmac.prototype.run = function (data, ipad) {\n data.copy(ipad, this.blocksize)\n var h = this.hash(ipad)\n h.copy(this.opad, this.blocksize)\n return this.hash(this.opad)\n}\n\nfunction getDigest (alg) {\n function shaFunc (data) {\n return sha(alg).update(data).digest()\n }\n function rmd160Func (data) {\n return new RIPEMD160().update(data).digest()\n }\n\n if (alg === 'rmd160' || alg === 'ripemd160') return rmd160Func\n if (alg === 'md5') return md5\n return shaFunc\n}\n\nfunction pbkdf2 (password, salt, iterations, keylen, digest) {\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n\n digest = digest || 'sha1'\n\n var hmac = new Hmac(digest, password, salt.length)\n\n var DK = Buffer.allocUnsafe(keylen)\n var block1 = Buffer.allocUnsafe(salt.length + 4)\n salt.copy(block1, 0, 0, salt.length)\n\n var destPos = 0\n var hLen = sizes[digest]\n var l = Math.ceil(keylen / hLen)\n\n for (var i = 1; i <= l; i++) {\n block1.writeUInt32BE(i, salt.length)\n\n var T = hmac.run(block1, hmac.ipad1)\n var U = T\n\n for (var j = 1; j < iterations; j++) {\n U = hmac.run(U, hmac.ipad2)\n for (var k = 0; k < hLen; k++) T[k] ^= U[k]\n }\n\n T.copy(DK, destPos)\n destPos += hLen\n }\n\n return DK\n}\n\nmodule.exports = pbkdf2\n","var Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (thing, encoding, name) {\n if (Buffer.isBuffer(thing)) {\n return thing\n } else if (typeof thing === 'string') {\n return Buffer.from(thing, encoding)\n } else if (ArrayBuffer.isView(thing)) {\n return Buffer.from(thing.buffer)\n } else {\n throw new TypeError(name + ' must be a string, a Buffer, a typed array or a DataView')\n }\n}\n","'use strict';\n\nexports.readUInt32BE = function readUInt32BE(bytes, off) {\n var res = (bytes[0 + off] << 24) |\n (bytes[1 + off] << 16) |\n (bytes[2 + off] << 8) |\n bytes[3 + off];\n return res >>> 0;\n};\n\nexports.writeUInt32BE = function writeUInt32BE(bytes, value, off) {\n bytes[0 + off] = value >>> 24;\n bytes[1 + off] = (value >>> 16) & 0xff;\n bytes[2 + off] = (value >>> 8) & 0xff;\n bytes[3 + off] = value & 0xff;\n};\n\nexports.ip = function ip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n }\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.rip = function rip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 0; i < 4; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n for (var i = 4; i < 8; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.pc1 = function pc1(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n // 7, 15, 23, 31, 39, 47, 55, 63\n // 6, 14, 22, 30, 39, 47, 55, 63\n // 5, 13, 21, 29, 39, 47, 55, 63\n // 4, 12, 20, 28\n for (var i = 7; i >= 5; i--) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n\n // 1, 9, 17, 25, 33, 41, 49, 57\n // 2, 10, 18, 26, 34, 42, 50, 58\n // 3, 11, 19, 27, 35, 43, 51, 59\n // 36, 44, 52, 60\n for (var i = 1; i <= 3; i++) {\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.r28shl = function r28shl(num, shift) {\n return ((num << shift) & 0xfffffff) | (num >>> (28 - shift));\n};\n\nvar pc2table = [\n // inL => outL\n 14, 11, 17, 4, 27, 23, 25, 0,\n 13, 22, 7, 18, 5, 9, 16, 24,\n 2, 20, 12, 21, 1, 8, 15, 26,\n\n // inR => outR\n 15, 4, 25, 19, 9, 1, 26, 16,\n 5, 11, 23, 8, 12, 7, 17, 0,\n 22, 3, 10, 14, 6, 20, 27, 24\n];\n\nexports.pc2 = function pc2(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n var len = pc2table.length >>> 1;\n for (var i = 0; i < len; i++) {\n outL <<= 1;\n outL |= (inL >>> pc2table[i]) & 0x1;\n }\n for (var i = len; i < pc2table.length; i++) {\n outR <<= 1;\n outR |= (inR >>> pc2table[i]) & 0x1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.expand = function expand(r, out, off) {\n var outL = 0;\n var outR = 0;\n\n outL = ((r & 1) << 5) | (r >>> 27);\n for (var i = 23; i >= 15; i -= 4) {\n outL <<= 6;\n outL |= (r >>> i) & 0x3f;\n }\n for (var i = 11; i >= 3; i -= 4) {\n outR |= (r >>> i) & 0x3f;\n outR <<= 6;\n }\n outR |= ((r & 0x1f) << 1) | (r >>> 31);\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nvar sTable = [\n 14, 0, 4, 15, 13, 7, 1, 4, 2, 14, 15, 2, 11, 13, 8, 1,\n 3, 10, 10, 6, 6, 12, 12, 11, 5, 9, 9, 5, 0, 3, 7, 8,\n 4, 15, 1, 12, 14, 8, 8, 2, 13, 4, 6, 9, 2, 1, 11, 7,\n 15, 5, 12, 11, 9, 3, 7, 14, 3, 10, 10, 0, 5, 6, 0, 13,\n\n 15, 3, 1, 13, 8, 4, 14, 7, 6, 15, 11, 2, 3, 8, 4, 14,\n 9, 12, 7, 0, 2, 1, 13, 10, 12, 6, 0, 9, 5, 11, 10, 5,\n 0, 13, 14, 8, 7, 10, 11, 1, 10, 3, 4, 15, 13, 4, 1, 2,\n 5, 11, 8, 6, 12, 7, 6, 12, 9, 0, 3, 5, 2, 14, 15, 9,\n\n 10, 13, 0, 7, 9, 0, 14, 9, 6, 3, 3, 4, 15, 6, 5, 10,\n 1, 2, 13, 8, 12, 5, 7, 14, 11, 12, 4, 11, 2, 15, 8, 1,\n 13, 1, 6, 10, 4, 13, 9, 0, 8, 6, 15, 9, 3, 8, 0, 7,\n 11, 4, 1, 15, 2, 14, 12, 3, 5, 11, 10, 5, 14, 2, 7, 12,\n\n 7, 13, 13, 8, 14, 11, 3, 5, 0, 6, 6, 15, 9, 0, 10, 3,\n 1, 4, 2, 7, 8, 2, 5, 12, 11, 1, 12, 10, 4, 14, 15, 9,\n 10, 3, 6, 15, 9, 0, 0, 6, 12, 10, 11, 1, 7, 13, 13, 8,\n 15, 9, 1, 4, 3, 5, 14, 11, 5, 12, 2, 7, 8, 2, 4, 14,\n\n 2, 14, 12, 11, 4, 2, 1, 12, 7, 4, 10, 7, 11, 13, 6, 1,\n 8, 5, 5, 0, 3, 15, 15, 10, 13, 3, 0, 9, 14, 8, 9, 6,\n 4, 11, 2, 8, 1, 12, 11, 7, 10, 1, 13, 14, 7, 2, 8, 13,\n 15, 6, 9, 15, 12, 0, 5, 9, 6, 10, 3, 4, 0, 5, 14, 3,\n\n 12, 10, 1, 15, 10, 4, 15, 2, 9, 7, 2, 12, 6, 9, 8, 5,\n 0, 6, 13, 1, 3, 13, 4, 14, 14, 0, 7, 11, 5, 3, 11, 8,\n 9, 4, 14, 3, 15, 2, 5, 12, 2, 9, 8, 5, 12, 15, 3, 10,\n 7, 11, 0, 14, 4, 1, 10, 7, 1, 6, 13, 0, 11, 8, 6, 13,\n\n 4, 13, 11, 0, 2, 11, 14, 7, 15, 4, 0, 9, 8, 1, 13, 10,\n 3, 14, 12, 3, 9, 5, 7, 12, 5, 2, 10, 15, 6, 8, 1, 6,\n 1, 6, 4, 11, 11, 13, 13, 8, 12, 1, 3, 4, 7, 10, 14, 7,\n 10, 9, 15, 5, 6, 0, 8, 15, 0, 14, 5, 2, 9, 3, 2, 12,\n\n 13, 1, 2, 15, 8, 13, 4, 8, 6, 10, 15, 3, 11, 7, 1, 4,\n 10, 12, 9, 5, 3, 6, 14, 11, 5, 0, 0, 14, 12, 9, 7, 2,\n 7, 2, 11, 1, 4, 14, 1, 7, 9, 4, 12, 10, 14, 8, 2, 13,\n 0, 15, 6, 12, 10, 9, 13, 0, 15, 3, 3, 5, 5, 6, 8, 11\n];\n\nexports.substitute = function substitute(inL, inR) {\n var out = 0;\n for (var i = 0; i < 4; i++) {\n var b = (inL >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n for (var i = 0; i < 4; i++) {\n var b = (inR >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[4 * 0x40 + i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n return out >>> 0;\n};\n\nvar permuteTable = [\n 16, 25, 12, 11, 3, 20, 4, 15, 31, 17, 9, 6, 27, 14, 1, 22,\n 30, 24, 8, 18, 0, 5, 29, 23, 13, 19, 2, 26, 10, 21, 28, 7\n];\n\nexports.permute = function permute(num) {\n var out = 0;\n for (var i = 0; i < permuteTable.length; i++) {\n out <<= 1;\n out |= (num >>> permuteTable[i]) & 0x1;\n }\n return out >>> 0;\n};\n\nexports.padSplit = function padSplit(num, size, group) {\n var str = num.toString(2);\n while (str.length < size)\n str = '0' + str;\n\n var out = [];\n for (var i = 0; i < size; i += group)\n out.push(str.slice(i, i + group));\n return out.join(' ');\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar utils = require('./utils');\nvar Cipher = require('./cipher');\n\nfunction DESState() {\n this.tmp = new Array(2);\n this.keys = null;\n}\n\nfunction DES(options) {\n Cipher.call(this, options);\n\n var state = new DESState();\n this._desState = state;\n\n this.deriveKeys(state, options.key);\n}\ninherits(DES, Cipher);\nmodule.exports = DES;\n\nDES.create = function create(options) {\n return new DES(options);\n};\n\nvar shiftTable = [\n 1, 1, 2, 2, 2, 2, 2, 2,\n 1, 2, 2, 2, 2, 2, 2, 1\n];\n\nDES.prototype.deriveKeys = function deriveKeys(state, key) {\n state.keys = new Array(16 * 2);\n\n assert.equal(key.length, this.blockSize, 'Invalid key length');\n\n var kL = utils.readUInt32BE(key, 0);\n var kR = utils.readUInt32BE(key, 4);\n\n utils.pc1(kL, kR, state.tmp, 0);\n kL = state.tmp[0];\n kR = state.tmp[1];\n for (var i = 0; i < state.keys.length; i += 2) {\n var shift = shiftTable[i >>> 1];\n kL = utils.r28shl(kL, shift);\n kR = utils.r28shl(kR, shift);\n utils.pc2(kL, kR, state.keys, i);\n }\n};\n\nDES.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._desState;\n\n var l = utils.readUInt32BE(inp, inOff);\n var r = utils.readUInt32BE(inp, inOff + 4);\n\n // Initial Permutation\n utils.ip(l, r, state.tmp, 0);\n l = state.tmp[0];\n r = state.tmp[1];\n\n if (this.type === 'encrypt')\n this._encrypt(state, l, r, state.tmp, 0);\n else\n this._decrypt(state, l, r, state.tmp, 0);\n\n l = state.tmp[0];\n r = state.tmp[1];\n\n utils.writeUInt32BE(out, l, outOff);\n utils.writeUInt32BE(out, r, outOff + 4);\n};\n\nDES.prototype._pad = function _pad(buffer, off) {\n var value = buffer.length - off;\n for (var i = off; i < buffer.length; i++)\n buffer[i] = value;\n\n return true;\n};\n\nDES.prototype._unpad = function _unpad(buffer) {\n var pad = buffer[buffer.length - 1];\n for (var i = buffer.length - pad; i < buffer.length; i++)\n assert.equal(buffer[i], pad);\n\n return buffer.slice(0, buffer.length - pad);\n};\n\nDES.prototype._encrypt = function _encrypt(state, lStart, rStart, out, off) {\n var l = lStart;\n var r = rStart;\n\n // Apply f() x16 times\n for (var i = 0; i < state.keys.length; i += 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(r, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = r;\n r = (l ^ f) >>> 0;\n l = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(r, l, out, off);\n};\n\nDES.prototype._decrypt = function _decrypt(state, lStart, rStart, out, off) {\n var l = rStart;\n var r = lStart;\n\n // Apply f() x16 times\n for (var i = state.keys.length - 2; i >= 0; i -= 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(l, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = l;\n l = (r ^ f) >>> 0;\n r = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(l, r, out, off);\n};\n","var xor = require('buffer-xor')\nvar Buffer = require('safe-buffer').Buffer\nvar incr32 = require('../incr32')\n\nfunction getBlock (self) {\n var out = self._cipher.encryptBlockRaw(self._prev)\n incr32(self._prev)\n return out\n}\n\nvar blockSize = 16\nexports.encrypt = function (self, chunk) {\n var chunkNum = Math.ceil(chunk.length / blockSize)\n var start = self._cache.length\n self._cache = Buffer.concat([\n self._cache,\n Buffer.allocUnsafe(chunkNum * blockSize)\n ])\n for (var i = 0; i < chunkNum; i++) {\n var out = getBlock(self)\n var offset = start + i * blockSize\n self._cache.writeUInt32BE(out[0], offset + 0)\n self._cache.writeUInt32BE(out[1], offset + 4)\n self._cache.writeUInt32BE(out[2], offset + 8)\n self._cache.writeUInt32BE(out[3], offset + 12)\n }\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n","function incr32 (iv) {\n var len = iv.length\n var item\n while (len--) {\n item = iv.readUInt8(len)\n if (item === 255) {\n iv.writeUInt8(0, len)\n } else {\n item++\n iv.writeUInt8(item, len)\n break\n }\n }\n}\nmodule.exports = incr32\n","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\nvar GHASH = require('./ghash')\nvar xor = require('buffer-xor')\nvar incr32 = require('./incr32')\n\nfunction xorTest (a, b) {\n var out = 0\n if (a.length !== b.length) out++\n\n var len = Math.min(a.length, b.length)\n for (var i = 0; i < len; ++i) {\n out += (a[i] ^ b[i])\n }\n\n return out\n}\n\nfunction calcIv (self, iv, ck) {\n if (iv.length === 12) {\n self._finID = Buffer.concat([iv, Buffer.from([0, 0, 0, 1])])\n return Buffer.concat([iv, Buffer.from([0, 0, 0, 2])])\n }\n var ghash = new GHASH(ck)\n var len = iv.length\n var toPad = len % 16\n ghash.update(iv)\n if (toPad) {\n toPad = 16 - toPad\n ghash.update(Buffer.alloc(toPad, 0))\n }\n ghash.update(Buffer.alloc(8, 0))\n var ivBits = len * 8\n var tail = Buffer.alloc(8)\n tail.writeUIntBE(ivBits, 0, 8)\n ghash.update(tail)\n self._finID = ghash.state\n var out = Buffer.from(self._finID)\n incr32(out)\n return out\n}\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n var h = Buffer.alloc(4, 0)\n\n this._cipher = new aes.AES(key)\n var ck = this._cipher.encryptBlock(h)\n this._ghash = new GHASH(ck)\n iv = calcIv(this, iv, ck)\n\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._alen = 0\n this._len = 0\n this._mode = mode\n\n this._authTag = null\n this._called = false\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n if (!this._called && this._alen) {\n var rump = 16 - (this._alen % 16)\n if (rump < 16) {\n rump = Buffer.alloc(rump, 0)\n this._ghash.update(rump)\n }\n }\n\n this._called = true\n var out = this._mode.encrypt(this, chunk)\n if (this._decrypt) {\n this._ghash.update(chunk)\n } else {\n this._ghash.update(out)\n }\n this._len += chunk.length\n return out\n}\n\nStreamCipher.prototype._final = function () {\n if (this._decrypt && !this._authTag) throw new Error('Unsupported state or unable to authenticate data')\n\n var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID))\n if (this._decrypt && xorTest(tag, this._authTag)) throw new Error('Unsupported state or unable to authenticate data')\n\n this._authTag = tag\n this._cipher.scrub()\n}\n\nStreamCipher.prototype.getAuthTag = function getAuthTag () {\n if (this._decrypt || !Buffer.isBuffer(this._authTag)) throw new Error('Attempting to get auth tag in unsupported state')\n\n return this._authTag\n}\n\nStreamCipher.prototype.setAuthTag = function setAuthTag (tag) {\n if (!this._decrypt) throw new Error('Attempting to set auth tag in unsupported state')\n\n this._authTag = tag\n}\n\nStreamCipher.prototype.setAAD = function setAAD (buf) {\n if (this._called) throw new Error('Attempting to set AAD in unsupported state')\n\n this._ghash.update(buf)\n this._alen += buf.length\n}\n\nmodule.exports = StreamCipher\n","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\n\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._mode = mode\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n return this._mode.encrypt(this, chunk, this._decrypt)\n}\n\nStreamCipher.prototype._final = function () {\n this._cipher.scrub()\n}\n\nmodule.exports = StreamCipher\n","var randomBytes = require('randombytes');\nmodule.exports = findPrime;\nfindPrime.simpleSieve = simpleSieve;\nfindPrime.fermatTest = fermatTest;\nvar BN = require('bn.js');\nvar TWENTYFOUR = new BN(24);\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar ONE = new BN(1);\nvar TWO = new BN(2);\nvar FIVE = new BN(5);\nvar SIXTEEN = new BN(16);\nvar EIGHT = new BN(8);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar ELEVEN = new BN(11);\nvar FOUR = new BN(4);\nvar TWELVE = new BN(12);\nvar primes = null;\n\nfunction _getPrimes() {\n if (primes !== null)\n return primes;\n\n var limit = 0x100000;\n var res = [];\n res[0] = 2;\n for (var i = 1, k = 3; k < limit; k += 2) {\n var sqrt = Math.ceil(Math.sqrt(k));\n for (var j = 0; j < i && res[j] <= sqrt; j++)\n if (k % res[j] === 0)\n break;\n\n if (i !== j && res[j] <= sqrt)\n continue;\n\n res[i++] = k;\n }\n primes = res;\n return res;\n}\n\nfunction simpleSieve(p) {\n var primes = _getPrimes();\n\n for (var i = 0; i < primes.length; i++)\n if (p.modn(primes[i]) === 0) {\n if (p.cmpn(primes[i]) === 0) {\n return true;\n } else {\n return false;\n }\n }\n\n return true;\n}\n\nfunction fermatTest(p) {\n var red = BN.mont(p);\n return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;\n}\n\nfunction findPrime(bits, gen) {\n if (bits < 16) {\n // this is what openssl does\n if (gen === 2 || gen === 5) {\n return new BN([0x8c, 0x7b]);\n } else {\n return new BN([0x8c, 0x27]);\n }\n }\n gen = new BN(gen);\n\n var num, n2;\n\n while (true) {\n num = new BN(randomBytes(Math.ceil(bits / 8)));\n while (num.bitLength() > bits) {\n num.ishrn(1);\n }\n if (num.isEven()) {\n num.iadd(ONE);\n }\n if (!num.testn(1)) {\n num.iadd(TWO);\n }\n if (!gen.cmp(TWO)) {\n while (num.mod(TWENTYFOUR).cmp(ELEVEN)) {\n num.iadd(FOUR);\n }\n } else if (!gen.cmp(FIVE)) {\n while (num.mod(TEN).cmp(THREE)) {\n num.iadd(FOUR);\n }\n }\n n2 = num.shrn(1);\n if (simpleSieve(n2) && simpleSieve(num) &&\n fermatTest(n2) && fermatTest(num) &&\n millerRabin.test(n2) && millerRabin.test(num)) {\n return num;\n }\n }\n\n}\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buffer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","var bn = require('bn.js');\nvar brorand = require('brorand');\n\nfunction MillerRabin(rand) {\n this.rand = rand || new brorand.Rand();\n}\nmodule.exports = MillerRabin;\n\nMillerRabin.create = function create(rand) {\n return new MillerRabin(rand);\n};\n\nMillerRabin.prototype._randbelow = function _randbelow(n) {\n var len = n.bitLength();\n var min_bytes = Math.ceil(len / 8);\n\n // Generage random bytes until a number less than n is found.\n // This ensures that 0..n-1 have an equal probability of being selected.\n do\n var a = new bn(this.rand.generate(min_bytes));\n while (a.cmp(n) >= 0);\n\n return a;\n};\n\nMillerRabin.prototype._randrange = function _randrange(start, stop) {\n // Generate a random number greater than or equal to start and less than stop.\n var size = stop.sub(start);\n return start.add(this._randbelow(size));\n};\n\nMillerRabin.prototype.test = function test(n, k, cb) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n var prime = true;\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n if (cb)\n cb(a);\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return false;\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s)\n return false;\n }\n\n return prime;\n};\n\nMillerRabin.prototype.getDivisor = function getDivisor(n, k) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n\n var g = n.gcd(a);\n if (g.cmpn(1) !== 0)\n return g;\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return x.fromRed().subn(1).gcd(n);\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s) {\n x = x.redSqr();\n return x.fromRed().subn(1).gcd(n);\n }\n }\n\n return false;\n};\n","'use strict';\n\nvar utils = exports;\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg !== 'string') {\n for (var i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (var i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else {\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n var hi = c >> 8;\n var lo = c & 0xff;\n if (hi)\n res.push(hi, lo);\n else\n res.push(lo);\n }\n }\n return res;\n}\nutils.toArray = toArray;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nutils.zero2 = zero2;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nutils.toHex = toHex;\n\nutils.encode = function encode(arr, enc) {\n if (enc === 'hex')\n return toHex(arr);\n else\n return arr;\n};\n","'use strict';\n\nvar curve = exports;\n\ncurve.base = require('./base');\ncurve.short = require('./short');\ncurve.mont = require('./mont');\ncurve.edwards = require('./edwards');\n","'use strict';\n\nvar utils = require('../utils');\nvar rotr32 = utils.rotr32;\n\nfunction ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n}\nexports.ft_1 = ft_1;\n\nfunction ch32(x, y, z) {\n return (x & y) ^ ((~x) & z);\n}\nexports.ch32 = ch32;\n\nfunction maj32(x, y, z) {\n return (x & y) ^ (x & z) ^ (y & z);\n}\nexports.maj32 = maj32;\n\nfunction p32(x, y, z) {\n return x ^ y ^ z;\n}\nexports.p32 = p32;\n\nfunction s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n}\nexports.s0_256 = s0_256;\n\nfunction s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n}\nexports.s1_256 = s1_256;\n\nfunction g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3);\n}\nexports.g0_256 = g0_256;\n\nfunction g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10);\n}\nexports.g1_256 = g1_256;\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\nvar assert = require('minimalistic-assert');\n\nvar sum32 = utils.sum32;\nvar sum32_4 = utils.sum32_4;\nvar sum32_5 = utils.sum32_5;\nvar ch32 = shaCommon.ch32;\nvar maj32 = shaCommon.maj32;\nvar s0_256 = shaCommon.s0_256;\nvar s1_256 = shaCommon.s1_256;\nvar g0_256 = shaCommon.g0_256;\nvar g1_256 = shaCommon.g1_256;\n\nvar BlockHash = common.BlockHash;\n\nvar sha256_K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,\n 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,\n 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,\n 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,\n 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n];\n\nfunction SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,\n 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n ];\n this.k = sha256_K;\n this.W = new Array(64);\n}\nutils.inherits(SHA256, BlockHash);\nmodule.exports = SHA256;\n\nSHA256.blockSize = 512;\nSHA256.outSize = 256;\nSHA256.hmacStrength = 192;\nSHA256.padLength = 64;\n\nSHA256.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n var f = this.h[5];\n var g = this.h[6];\n var h = this.h[7];\n\n assert(this.k.length === W.length);\n for (i = 0; i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]);\n var T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g;\n g = f;\n f = e;\n e = sum32(d, T1);\n d = c;\n c = b;\n b = a;\n a = sum32(T1, T2);\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n this.h[5] = sum32(this.h[5], f);\n this.h[6] = sum32(this.h[6], g);\n this.h[7] = sum32(this.h[7], h);\n};\n\nSHA256.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar assert = require('minimalistic-assert');\n\nvar rotr64_hi = utils.rotr64_hi;\nvar rotr64_lo = utils.rotr64_lo;\nvar shr64_hi = utils.shr64_hi;\nvar shr64_lo = utils.shr64_lo;\nvar sum64 = utils.sum64;\nvar sum64_hi = utils.sum64_hi;\nvar sum64_lo = utils.sum64_lo;\nvar sum64_4_hi = utils.sum64_4_hi;\nvar sum64_4_lo = utils.sum64_4_lo;\nvar sum64_5_hi = utils.sum64_5_hi;\nvar sum64_5_lo = utils.sum64_5_lo;\n\nvar BlockHash = common.BlockHash;\n\nvar sha512_K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n];\n\nfunction SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xf3bcc908,\n 0xbb67ae85, 0x84caa73b,\n 0x3c6ef372, 0xfe94f82b,\n 0xa54ff53a, 0x5f1d36f1,\n 0x510e527f, 0xade682d1,\n 0x9b05688c, 0x2b3e6c1f,\n 0x1f83d9ab, 0xfb41bd6b,\n 0x5be0cd19, 0x137e2179 ];\n this.k = sha512_K;\n this.W = new Array(160);\n}\nutils.inherits(SHA512, BlockHash);\nmodule.exports = SHA512;\n\nSHA512.blockSize = 1024;\nSHA512.outSize = 512;\nSHA512.hmacStrength = 192;\nSHA512.padLength = 128;\n\nSHA512.prototype._prepareBlock = function _prepareBlock(msg, start) {\n var W = this.W;\n\n // 32 x 32bit words\n for (var i = 0; i < 32; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2\n var c0_lo = g1_512_lo(W[i - 4], W[i - 3]);\n var c1_hi = W[i - 14]; // i - 7\n var c1_lo = W[i - 13];\n var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15\n var c2_lo = g0_512_lo(W[i - 30], W[i - 29]);\n var c3_hi = W[i - 32]; // i - 16\n var c3_lo = W[i - 31];\n\n W[i] = sum64_4_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n W[i + 1] = sum64_4_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n }\n};\n\nSHA512.prototype._update = function _update(msg, start) {\n this._prepareBlock(msg, start);\n\n var W = this.W;\n\n var ah = this.h[0];\n var al = this.h[1];\n var bh = this.h[2];\n var bl = this.h[3];\n var ch = this.h[4];\n var cl = this.h[5];\n var dh = this.h[6];\n var dl = this.h[7];\n var eh = this.h[8];\n var el = this.h[9];\n var fh = this.h[10];\n var fl = this.h[11];\n var gh = this.h[12];\n var gl = this.h[13];\n var hh = this.h[14];\n var hl = this.h[15];\n\n assert(this.k.length === W.length);\n for (var i = 0; i < W.length; i += 2) {\n var c0_hi = hh;\n var c0_lo = hl;\n var c1_hi = s1_512_hi(eh, el);\n var c1_lo = s1_512_lo(eh, el);\n var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl);\n var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl);\n var c3_hi = this.k[i];\n var c3_lo = this.k[i + 1];\n var c4_hi = W[i];\n var c4_lo = W[i + 1];\n\n var T1_hi = sum64_5_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n var T1_lo = sum64_5_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n\n c0_hi = s0_512_hi(ah, al);\n c0_lo = s0_512_lo(ah, al);\n c1_hi = maj64_hi(ah, al, bh, bl, ch, cl);\n c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);\n var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n\n hh = gh;\n hl = gl;\n\n gh = fh;\n gl = fl;\n\n fh = eh;\n fl = el;\n\n eh = sum64_hi(dh, dl, T1_hi, T1_lo);\n el = sum64_lo(dl, dl, T1_hi, T1_lo);\n\n dh = ch;\n dl = cl;\n\n ch = bh;\n cl = bl;\n\n bh = ah;\n bl = al;\n\n ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);\n al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n\n sum64(this.h, 0, ah, al);\n sum64(this.h, 2, bh, bl);\n sum64(this.h, 4, ch, cl);\n sum64(this.h, 6, dh, dl);\n sum64(this.h, 8, eh, el);\n sum64(this.h, 10, fh, fl);\n sum64(this.h, 12, gh, gl);\n sum64(this.h, 14, hh, hl);\n};\n\nSHA512.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n\nfunction ch64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ ((~xh) & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ ((~xl) & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ (xh & zh) ^ (yh & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ (xl & zl) ^ (yl & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28);\n var c1_hi = rotr64_hi(xl, xh, 2); // 34\n var c2_hi = rotr64_hi(xl, xh, 7); // 39\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28);\n var c1_lo = rotr64_lo(xl, xh, 2); // 34\n var c2_lo = rotr64_lo(xl, xh, 7); // 39\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14);\n var c1_hi = rotr64_hi(xh, xl, 18);\n var c2_hi = rotr64_hi(xl, xh, 9); // 41\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14);\n var c1_lo = rotr64_lo(xh, xl, 18);\n var c2_lo = rotr64_lo(xl, xh, 9); // 41\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1);\n var c1_hi = rotr64_hi(xh, xl, 8);\n var c2_hi = shr64_hi(xh, xl, 7);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1);\n var c1_lo = rotr64_lo(xh, xl, 8);\n var c2_lo = shr64_lo(xh, xl, 7);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19);\n var c1_hi = rotr64_hi(xl, xh, 29); // 61\n var c2_hi = shr64_hi(xh, xl, 6);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19);\n var c1_lo = rotr64_lo(xl, xh, 29); // 61\n var c2_lo = shr64_lo(xh, xl, 6);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n","'use strict';\n\nconst asn1 = exports;\n\nasn1.bignum = require('bn.js');\n\nasn1.define = require('./asn1/api').define;\nasn1.base = require('./asn1/base');\nasn1.constants = require('./asn1/constants');\nasn1.decoders = require('./asn1/decoders');\nasn1.encoders = require('./asn1/encoders');\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buffer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","'use strict';\n\nconst encoders = exports;\n\nencoders.der = require('./der');\nencoders.pem = require('./pem');\n","'use strict';\n\nconst inherits = require('inherits');\nconst Buffer = require('safer-buffer').Buffer;\nconst Node = require('../base/node');\n\n// Import DER constants\nconst der = require('../constants/der');\n\nfunction DEREncoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n}\nmodule.exports = DEREncoder;\n\nDEREncoder.prototype.encode = function encode(data, reporter) {\n return this.tree._encode(data, reporter).join();\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n Node.call(this, 'der', parent);\n}\ninherits(DERNode, Node);\n\nDERNode.prototype._encodeComposite = function encodeComposite(tag,\n primitive,\n cls,\n content) {\n const encodedTag = encodeTag(tag, primitive, cls, this.reporter);\n\n // Short form\n if (content.length < 0x80) {\n const header = Buffer.alloc(2);\n header[0] = encodedTag;\n header[1] = content.length;\n return this._createEncoderBuffer([ header, content ]);\n }\n\n // Long form\n // Count octets required to store length\n let lenOctets = 1;\n for (let i = content.length; i >= 0x100; i >>= 8)\n lenOctets++;\n\n const header = Buffer.alloc(1 + 1 + lenOctets);\n header[0] = encodedTag;\n header[1] = 0x80 | lenOctets;\n\n for (let i = 1 + lenOctets, j = content.length; j > 0; i--, j >>= 8)\n header[i] = j & 0xff;\n\n return this._createEncoderBuffer([ header, content ]);\n};\n\nDERNode.prototype._encodeStr = function encodeStr(str, tag) {\n if (tag === 'bitstr') {\n return this._createEncoderBuffer([ str.unused | 0, str.data ]);\n } else if (tag === 'bmpstr') {\n const buf = Buffer.alloc(str.length * 2);\n for (let i = 0; i < str.length; i++) {\n buf.writeUInt16BE(str.charCodeAt(i), i * 2);\n }\n return this._createEncoderBuffer(buf);\n } else if (tag === 'numstr') {\n if (!this._isNumstr(str)) {\n return this.reporter.error('Encoding of string type: numstr supports ' +\n 'only digits and space');\n }\n return this._createEncoderBuffer(str);\n } else if (tag === 'printstr') {\n if (!this._isPrintstr(str)) {\n return this.reporter.error('Encoding of string type: printstr supports ' +\n 'only latin upper and lower case letters, ' +\n 'digits, space, apostrophe, left and rigth ' +\n 'parenthesis, plus sign, comma, hyphen, ' +\n 'dot, slash, colon, equal sign, ' +\n 'question mark');\n }\n return this._createEncoderBuffer(str);\n } else if (/str$/.test(tag)) {\n return this._createEncoderBuffer(str);\n } else if (tag === 'objDesc') {\n return this._createEncoderBuffer(str);\n } else {\n return this.reporter.error('Encoding of string type: ' + tag +\n ' unsupported');\n }\n};\n\nDERNode.prototype._encodeObjid = function encodeObjid(id, values, relative) {\n if (typeof id === 'string') {\n if (!values)\n return this.reporter.error('string objid given, but no values map found');\n if (!values.hasOwnProperty(id))\n return this.reporter.error('objid not found in values map');\n id = values[id].split(/[\\s.]+/g);\n for (let i = 0; i < id.length; i++)\n id[i] |= 0;\n } else if (Array.isArray(id)) {\n id = id.slice();\n for (let i = 0; i < id.length; i++)\n id[i] |= 0;\n }\n\n if (!Array.isArray(id)) {\n return this.reporter.error('objid() should be either array or string, ' +\n 'got: ' + JSON.stringify(id));\n }\n\n if (!relative) {\n if (id[1] >= 40)\n return this.reporter.error('Second objid identifier OOB');\n id.splice(0, 2, id[0] * 40 + id[1]);\n }\n\n // Count number of octets\n let size = 0;\n for (let i = 0; i < id.length; i++) {\n let ident = id[i];\n for (size++; ident >= 0x80; ident >>= 7)\n size++;\n }\n\n const objid = Buffer.alloc(size);\n let offset = objid.length - 1;\n for (let i = id.length - 1; i >= 0; i--) {\n let ident = id[i];\n objid[offset--] = ident & 0x7f;\n while ((ident >>= 7) > 0)\n objid[offset--] = 0x80 | (ident & 0x7f);\n }\n\n return this._createEncoderBuffer(objid);\n};\n\nfunction two(num) {\n if (num < 10)\n return '0' + num;\n else\n return num;\n}\n\nDERNode.prototype._encodeTime = function encodeTime(time, tag) {\n let str;\n const date = new Date(time);\n\n if (tag === 'gentime') {\n str = [\n two(date.getUTCFullYear()),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else if (tag === 'utctime') {\n str = [\n two(date.getUTCFullYear() % 100),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else {\n this.reporter.error('Encoding ' + tag + ' time is not supported yet');\n }\n\n return this._encodeStr(str, 'octstr');\n};\n\nDERNode.prototype._encodeNull = function encodeNull() {\n return this._createEncoderBuffer('');\n};\n\nDERNode.prototype._encodeInt = function encodeInt(num, values) {\n if (typeof num === 'string') {\n if (!values)\n return this.reporter.error('String int or enum given, but no values map');\n if (!values.hasOwnProperty(num)) {\n return this.reporter.error('Values map doesn\\'t contain: ' +\n JSON.stringify(num));\n }\n num = values[num];\n }\n\n // Bignum, assume big endian\n if (typeof num !== 'number' && !Buffer.isBuffer(num)) {\n const numArray = num.toArray();\n if (!num.sign && numArray[0] & 0x80) {\n numArray.unshift(0);\n }\n num = Buffer.from(numArray);\n }\n\n if (Buffer.isBuffer(num)) {\n let size = num.length;\n if (num.length === 0)\n size++;\n\n const out = Buffer.alloc(size);\n num.copy(out);\n if (num.length === 0)\n out[0] = 0;\n return this._createEncoderBuffer(out);\n }\n\n if (num < 0x80)\n return this._createEncoderBuffer(num);\n\n if (num < 0x100)\n return this._createEncoderBuffer([0, num]);\n\n let size = 1;\n for (let i = num; i >= 0x100; i >>= 8)\n size++;\n\n const out = new Array(size);\n for (let i = out.length - 1; i >= 0; i--) {\n out[i] = num & 0xff;\n num >>= 8;\n }\n if(out[0] & 0x80) {\n out.unshift(0);\n }\n\n return this._createEncoderBuffer(Buffer.from(out));\n};\n\nDERNode.prototype._encodeBool = function encodeBool(value) {\n return this._createEncoderBuffer(value ? 0xff : 0);\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getEncoder('der').tree;\n};\n\nDERNode.prototype._skipDefault = function skipDefault(dataBuffer, reporter, parent) {\n const state = this._baseState;\n let i;\n if (state['default'] === null)\n return false;\n\n const data = dataBuffer.join();\n if (state.defaultBuffer === undefined)\n state.defaultBuffer = this._encodeValue(state['default'], reporter, parent).join();\n\n if (data.length !== state.defaultBuffer.length)\n return false;\n\n for (i=0; i < data.length; i++)\n if (data[i] !== state.defaultBuffer[i])\n return false;\n\n return true;\n};\n\n// Utility methods\n\nfunction encodeTag(tag, primitive, cls, reporter) {\n let res;\n\n if (tag === 'seqof')\n tag = 'seq';\n else if (tag === 'setof')\n tag = 'set';\n\n if (der.tagByName.hasOwnProperty(tag))\n res = der.tagByName[tag];\n else if (typeof tag === 'number' && (tag | 0) === tag)\n res = tag;\n else\n return reporter.error('Unknown tag: ' + tag);\n\n if (res >= 0x1f)\n return reporter.error('Multi-octet tag encoding unsupported');\n\n if (!primitive)\n res |= 0x20;\n\n res |= (der.tagClassByName[cls || 'universal'] << 6);\n\n return res;\n}\n","'use strict';\n\nconst decoders = exports;\n\ndecoders.der = require('./der');\ndecoders.pem = require('./pem');\n","'use strict';\n\nconst inherits = require('inherits');\n\nconst bignum = require('bn.js');\nconst DecoderBuffer = require('../base/buffer').DecoderBuffer;\nconst Node = require('../base/node');\n\n// Import DER constants\nconst der = require('../constants/der');\n\nfunction DERDecoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n}\nmodule.exports = DERDecoder;\n\nDERDecoder.prototype.decode = function decode(data, options) {\n if (!DecoderBuffer.isDecoderBuffer(data)) {\n data = new DecoderBuffer(data, options);\n }\n\n return this.tree._decode(data, options);\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n Node.call(this, 'der', parent);\n}\ninherits(DERNode, Node);\n\nDERNode.prototype._peekTag = function peekTag(buffer, tag, any) {\n if (buffer.isEmpty())\n return false;\n\n const state = buffer.save();\n const decodedTag = derDecodeTag(buffer, 'Failed to peek tag: \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n buffer.restore(state);\n\n return decodedTag.tag === tag || decodedTag.tagStr === tag ||\n (decodedTag.tagStr + 'of') === tag || any;\n};\n\nDERNode.prototype._decodeTag = function decodeTag(buffer, tag, any) {\n const decodedTag = derDecodeTag(buffer,\n 'Failed to decode tag of \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n let len = derDecodeLen(buffer,\n decodedTag.primitive,\n 'Failed to get length of \"' + tag + '\"');\n\n // Failure\n if (buffer.isError(len))\n return len;\n\n if (!any &&\n decodedTag.tag !== tag &&\n decodedTag.tagStr !== tag &&\n decodedTag.tagStr + 'of' !== tag) {\n return buffer.error('Failed to match tag: \"' + tag + '\"');\n }\n\n if (decodedTag.primitive || len !== null)\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n\n // Indefinite length... find END tag\n const state = buffer.save();\n const res = this._skipUntilEnd(\n buffer,\n 'Failed to skip indefinite length body: \"' + this.tag + '\"');\n if (buffer.isError(res))\n return res;\n\n len = buffer.offset - state.offset;\n buffer.restore(state);\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n};\n\nDERNode.prototype._skipUntilEnd = function skipUntilEnd(buffer, fail) {\n for (;;) {\n const tag = derDecodeTag(buffer, fail);\n if (buffer.isError(tag))\n return tag;\n const len = derDecodeLen(buffer, tag.primitive, fail);\n if (buffer.isError(len))\n return len;\n\n let res;\n if (tag.primitive || len !== null)\n res = buffer.skip(len);\n else\n res = this._skipUntilEnd(buffer, fail);\n\n // Failure\n if (buffer.isError(res))\n return res;\n\n if (tag.tagStr === 'end')\n break;\n }\n};\n\nDERNode.prototype._decodeList = function decodeList(buffer, tag, decoder,\n options) {\n const result = [];\n while (!buffer.isEmpty()) {\n const possibleEnd = this._peekTag(buffer, 'end');\n if (buffer.isError(possibleEnd))\n return possibleEnd;\n\n const res = decoder.decode(buffer, 'der', options);\n if (buffer.isError(res) && possibleEnd)\n break;\n result.push(res);\n }\n return result;\n};\n\nDERNode.prototype._decodeStr = function decodeStr(buffer, tag) {\n if (tag === 'bitstr') {\n const unused = buffer.readUInt8();\n if (buffer.isError(unused))\n return unused;\n return { unused: unused, data: buffer.raw() };\n } else if (tag === 'bmpstr') {\n const raw = buffer.raw();\n if (raw.length % 2 === 1)\n return buffer.error('Decoding of string type: bmpstr length mismatch');\n\n let str = '';\n for (let i = 0; i < raw.length / 2; i++) {\n str += String.fromCharCode(raw.readUInt16BE(i * 2));\n }\n return str;\n } else if (tag === 'numstr') {\n const numstr = buffer.raw().toString('ascii');\n if (!this._isNumstr(numstr)) {\n return buffer.error('Decoding of string type: ' +\n 'numstr unsupported characters');\n }\n return numstr;\n } else if (tag === 'octstr') {\n return buffer.raw();\n } else if (tag === 'objDesc') {\n return buffer.raw();\n } else if (tag === 'printstr') {\n const printstr = buffer.raw().toString('ascii');\n if (!this._isPrintstr(printstr)) {\n return buffer.error('Decoding of string type: ' +\n 'printstr unsupported characters');\n }\n return printstr;\n } else if (/str$/.test(tag)) {\n return buffer.raw().toString();\n } else {\n return buffer.error('Decoding of string type: ' + tag + ' unsupported');\n }\n};\n\nDERNode.prototype._decodeObjid = function decodeObjid(buffer, values, relative) {\n let result;\n const identifiers = [];\n let ident = 0;\n let subident = 0;\n while (!buffer.isEmpty()) {\n subident = buffer.readUInt8();\n ident <<= 7;\n ident |= subident & 0x7f;\n if ((subident & 0x80) === 0) {\n identifiers.push(ident);\n ident = 0;\n }\n }\n if (subident & 0x80)\n identifiers.push(ident);\n\n const first = (identifiers[0] / 40) | 0;\n const second = identifiers[0] % 40;\n\n if (relative)\n result = identifiers;\n else\n result = [first, second].concat(identifiers.slice(1));\n\n if (values) {\n let tmp = values[result.join(' ')];\n if (tmp === undefined)\n tmp = values[result.join('.')];\n if (tmp !== undefined)\n result = tmp;\n }\n\n return result;\n};\n\nDERNode.prototype._decodeTime = function decodeTime(buffer, tag) {\n const str = buffer.raw().toString();\n\n let year;\n let mon;\n let day;\n let hour;\n let min;\n let sec;\n if (tag === 'gentime') {\n year = str.slice(0, 4) | 0;\n mon = str.slice(4, 6) | 0;\n day = str.slice(6, 8) | 0;\n hour = str.slice(8, 10) | 0;\n min = str.slice(10, 12) | 0;\n sec = str.slice(12, 14) | 0;\n } else if (tag === 'utctime') {\n year = str.slice(0, 2) | 0;\n mon = str.slice(2, 4) | 0;\n day = str.slice(4, 6) | 0;\n hour = str.slice(6, 8) | 0;\n min = str.slice(8, 10) | 0;\n sec = str.slice(10, 12) | 0;\n if (year < 70)\n year = 2000 + year;\n else\n year = 1900 + year;\n } else {\n return buffer.error('Decoding ' + tag + ' time is not supported yet');\n }\n\n return Date.UTC(year, mon - 1, day, hour, min, sec, 0);\n};\n\nDERNode.prototype._decodeNull = function decodeNull() {\n return null;\n};\n\nDERNode.prototype._decodeBool = function decodeBool(buffer) {\n const res = buffer.readUInt8();\n if (buffer.isError(res))\n return res;\n else\n return res !== 0;\n};\n\nDERNode.prototype._decodeInt = function decodeInt(buffer, values) {\n // Bigint, return as it is (assume big endian)\n const raw = buffer.raw();\n let res = new bignum(raw);\n\n if (values)\n res = values[res.toString(10)] || res;\n\n return res;\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getDecoder('der').tree;\n};\n\n// Utility methods\n\nfunction derDecodeTag(buf, fail) {\n let tag = buf.readUInt8(fail);\n if (buf.isError(tag))\n return tag;\n\n const cls = der.tagClass[tag >> 6];\n const primitive = (tag & 0x20) === 0;\n\n // Multi-octet tag - load\n if ((tag & 0x1f) === 0x1f) {\n let oct = tag;\n tag = 0;\n while ((oct & 0x80) === 0x80) {\n oct = buf.readUInt8(fail);\n if (buf.isError(oct))\n return oct;\n\n tag <<= 7;\n tag |= oct & 0x7f;\n }\n } else {\n tag &= 0x1f;\n }\n const tagStr = der.tag[tag];\n\n return {\n cls: cls,\n primitive: primitive,\n tag: tag,\n tagStr: tagStr\n };\n}\n\nfunction derDecodeLen(buf, primitive, fail) {\n let len = buf.readUInt8(fail);\n if (buf.isError(len))\n return len;\n\n // Indefinite form\n if (!primitive && len === 0x80)\n return null;\n\n // Definite form\n if ((len & 0x80) === 0) {\n // Short form\n return len;\n }\n\n // Long form\n const num = len & 0x7f;\n if (num > 4)\n return buf.error('length octect is too long');\n\n len = 0;\n for (let i = 0; i < num; i++) {\n len <<= 8;\n const j = buf.readUInt8(fail);\n if (buf.isError(j))\n return j;\n len |= j;\n }\n\n return len;\n}\n","var createHash = require('create-hash')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (seed, len) {\n var t = Buffer.alloc(0)\n var i = 0\n var c\n while (t.length < len) {\n c = i2ops(i++)\n t = Buffer.concat([t, createHash('sha1').update(seed).update(c).digest()])\n }\n return t.slice(0, len)\n}\n\nfunction i2ops (c) {\n var out = Buffer.allocUnsafe(4)\n out.writeUInt32BE(c, 0)\n return out\n}\n","module.exports = function xor (a, b) {\n var len = a.length\n var i = -1\n while (++i < len) {\n a[i] ^= b[i]\n }\n return a\n}\n","var BN = require('bn.js')\nvar Buffer = require('safe-buffer').Buffer\n\nfunction withPublic (paddedMsg, key) {\n return Buffer.from(paddedMsg\n .toRed(BN.mont(key.modulus))\n .redPow(new BN(key.publicExponent))\n .fromRed()\n .toArray())\n}\n\nmodule.exports = withPublic\n","/*global module*/\nvar Buffer = require('buffer').Buffer;\n\nmodule.exports = function toString(obj) {\n if (typeof obj === 'string')\n return obj;\n if (typeof obj === 'number' || Buffer.isBuffer(obj))\n return obj.toString();\n return JSON.stringify(obj);\n};\n","var JsonWebTokenError = require('./JsonWebTokenError');\n\nvar NotBeforeError = function (message, date) {\n JsonWebTokenError.call(this, message);\n this.name = 'NotBeforeError';\n this.date = date;\n};\n\nNotBeforeError.prototype = Object.create(JsonWebTokenError.prototype);\n\nNotBeforeError.prototype.constructor = NotBeforeError;\n\nmodule.exports = NotBeforeError;","var JsonWebTokenError = require('./JsonWebTokenError');\n\nvar TokenExpiredError = function (message, expiredAt) {\n JsonWebTokenError.call(this, message);\n this.name = 'TokenExpiredError';\n this.expiredAt = expiredAt;\n};\n\nTokenExpiredError.prototype = Object.create(JsonWebTokenError.prototype);\n\nTokenExpiredError.prototype.constructor = TokenExpiredError;\n\nmodule.exports = TokenExpiredError;","var ms = require('ms');\n\nmodule.exports = function (time, iat) {\n var timestamp = iat || Math.floor(Date.now() / 1000);\n\n if (typeof time === 'string') {\n var milliseconds = ms(time);\n if (typeof milliseconds === 'undefined') {\n return;\n }\n return Math.floor(timestamp + milliseconds / 1000);\n } else if (typeof time === 'number') {\n return timestamp + time;\n } else {\n return;\n }\n\n};","const ASYMMETRIC_KEY_DETAILS_SUPPORTED = require('./asymmetricKeyDetailsSupported');\nconst RSA_PSS_KEY_DETAILS_SUPPORTED = require('./rsaPssKeyDetailsSupported');\n\nconst allowedAlgorithmsForKeys = {\n 'ec': ['ES256', 'ES384', 'ES512'],\n 'rsa': ['RS256', 'PS256', 'RS384', 'PS384', 'RS512', 'PS512'],\n 'rsa-pss': ['PS256', 'PS384', 'PS512']\n};\n\nconst allowedCurves = {\n ES256: 'prime256v1',\n ES384: 'secp384r1',\n ES512: 'secp521r1',\n};\n\nmodule.exports = function(algorithm, key) {\n if (!algorithm || !key) return;\n\n const keyType = key.asymmetricKeyType;\n if (!keyType) return;\n\n const allowedAlgorithms = allowedAlgorithmsForKeys[keyType];\n\n if (!allowedAlgorithms) {\n throw new Error(`Unknown key type \"${keyType}\".`);\n }\n\n if (!allowedAlgorithms.includes(algorithm)) {\n throw new Error(`\"alg\" parameter for \"${keyType}\" key type must be one of: ${allowedAlgorithms.join(', ')}.`)\n }\n\n /*\n * Ignore the next block from test coverage because it gets executed\n * conditionally depending on the Node version. Not ignoring it would\n * prevent us from reaching the target % of coverage for versions of\n * Node under 15.7.0.\n */\n /* istanbul ignore next */\n if (ASYMMETRIC_KEY_DETAILS_SUPPORTED) {\n switch (keyType) {\n case 'ec':\n const keyCurve = key.asymmetricKeyDetails.namedCurve;\n const allowedCurve = allowedCurves[algorithm];\n\n if (keyCurve !== allowedCurve) {\n throw new Error(`\"alg\" parameter \"${algorithm}\" requires curve \"${allowedCurve}\".`);\n }\n break;\n\n case 'rsa-pss':\n if (RSA_PSS_KEY_DETAILS_SUPPORTED) {\n const length = parseInt(algorithm.slice(-3), 10);\n const { hashAlgorithm, mgf1HashAlgorithm, saltLength } = key.asymmetricKeyDetails;\n\n if (hashAlgorithm !== `sha${length}` || mgf1HashAlgorithm !== hashAlgorithm) {\n throw new Error(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of \"alg\" ${algorithm}.`);\n }\n\n if (saltLength !== undefined && saltLength > length >> 3) {\n throw new Error(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of \"alg\" ${algorithm}.`)\n }\n }\n break;\n }\n }\n}\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers,\n}\n","const compare = require('./compare')\nconst eq = (a, b, loose) => compare(a, b, loose) === 0\nmodule.exports = eq\n","const compare = require('./compare')\nconst neq = (a, b, loose) => compare(a, b, loose) !== 0\nmodule.exports = neq\n","const eq = require('./eq')\nconst neq = require('./neq')\nconst gt = require('./gt')\nconst gte = require('./gte')\nconst lt = require('./lt')\nconst lte = require('./lte')\n\nconst cmp = (a, op, b, loose) => {\n switch (op) {\n case '===':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a === b\n\n case '!==':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError(`Invalid operator: ${op}`)\n }\n}\nmodule.exports = cmp\n","var semver = require('semver');\n\nmodule.exports = semver.satisfies(process.version, '^6.12.0 || >=8.0.0');\n","import React, { Component } from 'react';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport PropTypes from 'prop-types';\nimport warning from 'tiny-warning';\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};\n\nfunction getUniqueId() {\n var key = '__global_unique_id__';\n return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1;\n}\n\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + getUniqueId() + '__';\n\n var Provider = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Provider, _Component);\n\n function Provider() {\n var _this;\n\n _this = _Component.apply(this, arguments) || this;\n _this.emitter = createEventEmitter(_this.props.value);\n return _this;\n }\n\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0;\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n\n if (process.env.NODE_ENV !== 'production') {\n warning((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: ' + changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = PropTypes.object.isRequired, _Provider$childContex);\n\n var Consumer = /*#__PURE__*/function (_Component2) {\n _inheritsLoose(Consumer, _Component2);\n\n function Consumer() {\n var _this2;\n\n _this2 = _Component2.apply(this, arguments) || this;\n _this2.state = {\n value: _this2.getValue()\n };\n\n _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({\n value: _this2.getValue()\n });\n }\n };\n\n return _this2;\n }\n\n var _proto2 = Consumer.prototype;\n\n _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n\n var observedBits = this.props.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n _proto2.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n _proto2.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = PropTypes.object, _Consumer$contextType);\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nvar index = React.createContext || createReactContext;\n\nexport default index;\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nvar _excluded = [\"active\", \"aria-label\", \"block\", \"className\", \"close\", \"cssModule\", \"color\", \"outline\", \"size\", \"tag\", \"innerRef\"];\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nvar propTypes = {\n active: PropTypes.bool,\n 'aria-label': PropTypes.string,\n block: PropTypes.bool,\n color: PropTypes.string,\n disabled: PropTypes.bool,\n outline: PropTypes.bool,\n tag: tagPropType,\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func, PropTypes.string]),\n onClick: PropTypes.func,\n size: PropTypes.string,\n children: PropTypes.node,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n close: PropTypes.bool\n};\nvar defaultProps = {\n color: 'secondary',\n tag: 'button'\n};\n\nvar Button = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Button, _React$Component);\n\n function Button(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.onClick = _this.onClick.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n var _proto = Button.prototype;\n\n _proto.onClick = function onClick(e) {\n if (this.props.disabled) {\n e.preventDefault();\n return;\n }\n\n if (this.props.onClick) {\n return this.props.onClick(e);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n active = _this$props.active,\n ariaLabel = _this$props['aria-label'],\n block = _this$props.block,\n className = _this$props.className,\n close = _this$props.close,\n cssModule = _this$props.cssModule,\n color = _this$props.color,\n outline = _this$props.outline,\n size = _this$props.size,\n Tag = _this$props.tag,\n innerRef = _this$props.innerRef,\n attributes = _objectWithoutPropertiesLoose(_this$props, _excluded);\n\n if (close && typeof attributes.children === 'undefined') {\n attributes.children = /*#__PURE__*/React.createElement(\"span\", {\n \"aria-hidden\": true\n }, \"\\xD7\");\n }\n\n var btnOutlineColor = \"btn\" + (outline ? '-outline' : '') + \"-\" + color;\n var classes = mapToCssModules(classNames(className, {\n close: close\n }, close || 'btn', close || btnOutlineColor, size ? \"btn-\" + size : false, block ? 'btn-block' : false, {\n active: active,\n disabled: this.props.disabled\n }), cssModule);\n\n if (attributes.href && Tag === 'button') {\n Tag = 'a';\n }\n\n var defaultAriaLabel = close ? 'Close' : null;\n return /*#__PURE__*/React.createElement(Tag, _extends({\n type: Tag === 'button' && attributes.onClick ? 'button' : undefined\n }, attributes, {\n className: classes,\n ref: innerRef,\n onClick: this.onClick,\n \"aria-label\": ariaLabel || defaultAriaLabel\n }));\n };\n\n return Button;\n}(React.Component);\n\nButton.propTypes = propTypes;\nButton.defaultProps = defaultProps;\nexport default Button;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;","var objectKeys = require('object-keys');\nvar isArguments = require('is-arguments');\nvar is = require('object-is');\nvar isRegex = require('is-regex');\nvar flags = require('regexp.prototype.flags');\nvar isDate = require('is-date-object');\n\nvar getTime = Date.prototype.getTime;\n\nfunction deepEqual(actual, expected, options) {\n var opts = options || {};\n\n // 7.1. All identical values are equivalent, as determined by ===.\n if (opts.strict ? is(actual, expected) : actual === expected) {\n return true;\n }\n\n // 7.3. Other pairs that do not both pass typeof value == 'object', equivalence is determined by ==.\n if (!actual || !expected || (typeof actual !== 'object' && typeof expected !== 'object')) {\n return opts.strict ? is(actual, expected) : actual == expected;\n }\n\n /*\n * 7.4. For all other Object pairs, including Array objects, equivalence is\n * determined by having the same number of owned properties (as verified\n * with Object.prototype.hasOwnProperty.call), the same set of keys\n * (although not necessarily the same order), equivalent values for every\n * corresponding key, and an identical 'prototype' property. Note: this\n * accounts for both named and indexed properties on Arrays.\n */\n // eslint-disable-next-line no-use-before-define\n return objEquiv(actual, expected, opts);\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer(x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') {\n return false;\n }\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') {\n return false;\n }\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n /* eslint max-statements: [2, 50] */\n var i, key;\n if (typeof a !== typeof b) { return false; }\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b)) { return false; }\n\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) { return false; }\n\n if (isArguments(a) !== isArguments(b)) { return false; }\n\n var aIsRegex = isRegex(a);\n var bIsRegex = isRegex(b);\n if (aIsRegex !== bIsRegex) { return false; }\n if (aIsRegex || bIsRegex) {\n return a.source === b.source && flags(a) === flags(b);\n }\n\n if (isDate(a) && isDate(b)) {\n return getTime.call(a) === getTime.call(b);\n }\n\n var aIsBuffer = isBuffer(a);\n var bIsBuffer = isBuffer(b);\n if (aIsBuffer !== bIsBuffer) { return false; }\n if (aIsBuffer || bIsBuffer) { // && would work too, because both are true or both false here\n if (a.length !== b.length) { return false; }\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) { return false; }\n }\n return true;\n }\n\n if (typeof a !== typeof b) { return false; }\n\n try {\n var ka = objectKeys(a);\n var kb = objectKeys(b);\n } catch (e) { // happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates hasOwnProperty)\n if (ka.length !== kb.length) { return false; }\n\n // the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n // ~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i]) { return false; }\n }\n // equivalent values for every corresponding key, and ~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) { return false; }\n }\n\n return true;\n}\n\nmodule.exports = deepEqual;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar _excluded = [\"tag\", \"isOpen\", \"className\", \"navbar\", \"cssModule\", \"children\", \"innerRef\"];\n\nvar _transitionStatusToCl;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Transition } from 'react-transition-group';\nimport { mapToCssModules, omit, pick, TransitionTimeouts, TransitionPropTypeKeys, TransitionStatuses, tagPropType } from './utils';\n\nvar propTypes = _objectSpread(_objectSpread({}, Transition.propTypes), {}, {\n isOpen: PropTypes.bool,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n tag: tagPropType,\n className: PropTypes.node,\n navbar: PropTypes.bool,\n cssModule: PropTypes.object,\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.string, PropTypes.object])\n});\n\nvar defaultProps = _objectSpread(_objectSpread({}, Transition.defaultProps), {}, {\n isOpen: false,\n appear: false,\n enter: true,\n exit: true,\n tag: 'div',\n timeout: TransitionTimeouts.Collapse\n});\n\nvar transitionStatusToClassHash = (_transitionStatusToCl = {}, _transitionStatusToCl[TransitionStatuses.ENTERING] = 'collapsing', _transitionStatusToCl[TransitionStatuses.ENTERED] = 'collapse show', _transitionStatusToCl[TransitionStatuses.EXITING] = 'collapsing', _transitionStatusToCl[TransitionStatuses.EXITED] = 'collapse', _transitionStatusToCl);\n\nfunction getTransitionClass(status) {\n return transitionStatusToClassHash[status] || 'collapse';\n}\n\nfunction getHeight(node) {\n return node.scrollHeight;\n}\n\nvar Collapse = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Collapse, _Component);\n\n function Collapse(props) {\n var _this;\n\n _this = _Component.call(this, props) || this;\n _this.state = {\n height: null\n };\n ['onEntering', 'onEntered', 'onExit', 'onExiting', 'onExited'].forEach(function (name) {\n _this[name] = _this[name].bind(_assertThisInitialized(_this));\n });\n return _this;\n }\n\n var _proto = Collapse.prototype;\n\n _proto.onEntering = function onEntering(node, isAppearing) {\n this.setState({\n height: getHeight(node)\n });\n this.props.onEntering(node, isAppearing);\n };\n\n _proto.onEntered = function onEntered(node, isAppearing) {\n this.setState({\n height: null\n });\n this.props.onEntered(node, isAppearing);\n };\n\n _proto.onExit = function onExit(node) {\n this.setState({\n height: getHeight(node)\n });\n this.props.onExit(node);\n };\n\n _proto.onExiting = function onExiting(node) {\n // getting this variable triggers a reflow\n var _unused = node.offsetHeight; // eslint-disable-line no-unused-vars\n\n this.setState({\n height: 0\n });\n this.props.onExiting(node);\n };\n\n _proto.onExited = function onExited(node) {\n this.setState({\n height: null\n });\n this.props.onExited(node);\n };\n\n _proto.render = function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n Tag = _this$props.tag,\n isOpen = _this$props.isOpen,\n className = _this$props.className,\n navbar = _this$props.navbar,\n cssModule = _this$props.cssModule,\n children = _this$props.children,\n innerRef = _this$props.innerRef,\n otherProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n\n var height = this.state.height;\n var transitionProps = pick(otherProps, TransitionPropTypeKeys);\n var childProps = omit(otherProps, TransitionPropTypeKeys);\n return /*#__PURE__*/React.createElement(Transition, _extends({}, transitionProps, {\n in: isOpen,\n onEntering: this.onEntering,\n onEntered: this.onEntered,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }), function (status) {\n var collapseClass = getTransitionClass(status);\n var classes = mapToCssModules(classNames(className, collapseClass, navbar && 'navbar-collapse'), cssModule);\n var style = height === null ? null : {\n height: height\n };\n return /*#__PURE__*/React.createElement(Tag, _extends({}, childProps, {\n style: _objectSpread(_objectSpread({}, childProps.style), style),\n className: classes,\n ref: _this2.props.innerRef\n }), children);\n });\n };\n\n return Collapse;\n}(Component);\n\nCollapse.propTypes = propTypes;\nCollapse.defaultProps = defaultProps;\nexport default Collapse;","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","const fs = require('fs')\nconst path = require('path')\nconst os = require('os')\n\nconst LINE = /(?:^|^)\\s*(?:export\\s+)?([\\w.-]+)(?:\\s*=\\s*?|:\\s+?)(\\s*'(?:\\\\'|[^'])*'|\\s*\"(?:\\\\\"|[^\"])*\"|\\s*`(?:\\\\`|[^`])*`|[^#\\r\\n]+)?\\s*(?:#.*)?(?:$|$)/mg\n\n// Parser src into an Object\nfunction parse (src) {\n const obj = {}\n\n // Convert buffer to string\n let lines = src.toString()\n\n // Convert line breaks to same format\n lines = lines.replace(/\\r\\n?/mg, '\\n')\n\n let match\n while ((match = LINE.exec(lines)) != null) {\n const key = match[1]\n\n // Default undefined or null to empty string\n let value = (match[2] || '')\n\n // Remove whitespace\n value = value.trim()\n\n // Check if double quoted\n const maybeQuote = value[0]\n\n // Remove surrounding quotes\n value = value.replace(/^(['\"`])([\\s\\S]*)\\1$/mg, '$2')\n\n // Expand newlines if double quoted\n if (maybeQuote === '\"') {\n value = value.replace(/\\\\n/g, '\\n')\n value = value.replace(/\\\\r/g, '\\r')\n }\n\n // Add to object\n obj[key] = value\n }\n\n return obj\n}\n\nfunction _log (message) {\n console.log(`[dotenv][DEBUG] ${message}`)\n}\n\nfunction _resolveHome (envPath) {\n return envPath[0] === '~' ? path.join(os.homedir(), envPath.slice(1)) : envPath\n}\n\n// Populates process.env from .env file\nfunction config (options) {\n let dotenvPath = path.resolve(process.cwd(), '.env')\n let encoding = 'utf8'\n const debug = Boolean(options && options.debug)\n const override = Boolean(options && options.override)\n\n if (options) {\n if (options.path != null) {\n dotenvPath = _resolveHome(options.path)\n }\n if (options.encoding != null) {\n encoding = options.encoding\n }\n }\n\n try {\n // Specifying an encoding returns a string instead of a buffer\n const parsed = DotenvModule.parse(fs.readFileSync(dotenvPath, { encoding }))\n\n Object.keys(parsed).forEach(function (key) {\n if (!Object.prototype.hasOwnProperty.call(process.env, key)) {\n process.env[key] = parsed[key]\n } else {\n if (override === true) {\n process.env[key] = parsed[key]\n }\n\n if (debug) {\n if (override === true) {\n _log(`\"${key}\" is already defined in \\`process.env\\` and WAS overwritten`)\n } else {\n _log(`\"${key}\" is already defined in \\`process.env\\` and was NOT overwritten`)\n }\n }\n }\n })\n\n return { parsed }\n } catch (e) {\n if (debug) {\n _log(`Failed to load ${dotenvPath} ${e.message}`)\n }\n\n return { error: e }\n }\n}\n\nconst DotenvModule = {\n config,\n parse\n}\n\nmodule.exports.config = DotenvModule.config\nmodule.exports.parse = DotenvModule.parse\nmodule.exports = DotenvModule\n","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'menos de un segundo',\n other: 'menos de {{count}} segundos'\n },\n xSeconds: {\n one: '1 segundo',\n other: '{{count}} segundos'\n },\n halfAMinute: 'medio minuto',\n lessThanXMinutes: {\n one: 'menos de un minuto',\n other: 'menos de {{count}} minutos'\n },\n xMinutes: {\n one: '1 minuto',\n other: '{{count}} minutos'\n },\n aboutXHours: {\n one: 'alrededor de 1 hora',\n other: 'alrededor de {{count}} horas'\n },\n xHours: {\n one: '1 hora',\n other: '{{count}} horas'\n },\n xDays: {\n one: '1 día',\n other: '{{count}} días'\n },\n aboutXWeeks: {\n one: 'alrededor de 1 semana',\n other: 'alrededor de {{count}} semanas'\n },\n xWeeks: {\n one: '1 semana',\n other: '{{count}} semanas'\n },\n aboutXMonths: {\n one: 'alrededor de 1 mes',\n other: 'alrededor de {{count}} meses'\n },\n xMonths: {\n one: '1 mes',\n other: '{{count}} meses'\n },\n aboutXYears: {\n one: 'alrededor de 1 año',\n other: 'alrededor de {{count}} años'\n },\n xYears: {\n one: '1 año',\n other: '{{count}} años'\n },\n overXYears: {\n one: 'más de 1 año',\n other: 'más de {{count}} años'\n },\n almostXYears: {\n one: 'casi 1 año',\n other: 'casi {{count}} años'\n }\n};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', count.toString());\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'en ' + result;\n } else {\n return 'hace ' + result;\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: \"EEEE, d 'de' MMMM 'de' y\",\n long: \"d 'de' MMMM 'de' y\",\n medium: 'd MMM y',\n short: 'dd/MM/y'\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'a las' {{time}}\",\n long: \"{{date}} 'a las' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'el' eeee 'pasado a la' p\",\n yesterday: \"'ayer a la' p\",\n today: \"'hoy a la' p\",\n tomorrow: \"'mañana a la' p\",\n nextWeek: \"eeee 'a la' p\",\n other: 'P'\n};\nvar formatRelativeLocalePlural = {\n lastWeek: \"'el' eeee 'pasado a las' p\",\n yesterday: \"'ayer a las' p\",\n today: \"'hoy a las' p\",\n tomorrow: \"'mañana a las' p\",\n nextWeek: \"eeee 'a las' p\",\n other: 'P'\n};\n\nvar formatRelative = function formatRelative(token, date, _baseDate, _options) {\n if (date.getUTCHours() !== 1) {\n return formatRelativeLocalePlural[token];\n } else {\n return formatRelativeLocale[token];\n }\n};\n\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['AC', 'DC'],\n abbreviated: ['AC', 'DC'],\n wide: ['antes de cristo', 'después de cristo']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['T1', 'T2', 'T3', 'T4'],\n wide: ['1º trimestre', '2º trimestre', '3º trimestre', '4º trimestre']\n};\nvar monthValues = {\n narrow: ['e', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'],\n abbreviated: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic'],\n wide: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre']\n};\nvar dayValues = {\n narrow: ['d', 'l', 'm', 'm', 'j', 'v', 's'],\n short: ['do', 'lu', 'ma', 'mi', 'ju', 'vi', 'sá'],\n abbreviated: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'],\n wide: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mn',\n noon: 'md',\n morning: 'mañana',\n afternoon: 'tarde',\n evening: 'tarde',\n night: 'noche'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'medianoche',\n noon: 'mediodia',\n morning: 'mañana',\n afternoon: 'tarde',\n evening: 'tarde',\n night: 'noche'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'medianoche',\n noon: 'mediodia',\n morning: 'mañana',\n afternoon: 'tarde',\n evening: 'tarde',\n night: 'noche'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mn',\n noon: 'md',\n morning: 'de la mañana',\n afternoon: 'de la tarde',\n evening: 'de la tarde',\n night: 'de la noche'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'medianoche',\n noon: 'mediodia',\n morning: 'de la mañana',\n afternoon: 'de la tarde',\n evening: 'de la tarde',\n night: 'de la noche'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'medianoche',\n noon: 'mediodia',\n morning: 'de la mañana',\n afternoon: 'de la tarde',\n evening: 'de la tarde',\n night: 'de la noche'\n }\n};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n return number + 'º';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return Number(quarter) - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n\n/**\n * @type {Locale}\n * @category Locales\n * @summary Spanish locale.\n * @language Spanish\n * @iso-639-2 spa\n * @author Juan Angosto [@juanangosto]{@link https://github.com/juanangosto}\n * @author Guillermo Grau [@guigrpa]{@link https://github.com/guigrpa}\n * @author Fernando Agüero [@fjaguero]{@link https://github.com/fjaguero}\n * @author Gastón Haro [@harogaston]{@link https://github.com/harogaston}\n * @author Yago Carballo [@YagoCarballo]{@link https://github.com/YagoCarballo}\n */\nvar locale = {\n code: 'es',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1\n /* Monday */\n ,\n firstWeekContainsDate: 1\n }\n};\nexport default locale;","import buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nimport buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(º)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(ac|dc|a|d)/i,\n abbreviated: /^(a\\.?\\s?c\\.?|a\\.?\\s?e\\.?\\s?c\\.?|d\\.?\\s?c\\.?|e\\.?\\s?c\\.?)/i,\n wide: /^(antes de cristo|antes de la era com[uú]n|despu[eé]s de cristo|era com[uú]n)/i\n};\nvar parseEraPatterns = {\n any: [/^ac/i, /^dc/i],\n wide: [/^(antes de cristo|antes de la era com[uú]n)/i, /^(despu[eé]s de cristo|era com[uú]n)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^T[1234]/i,\n wide: /^[1234](º)? trimestre/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[efmajsond]/i,\n abbreviated: /^(ene|feb|mar|abr|may|jun|jul|ago|sep|oct|nov|dic)/i,\n wide: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^e/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^en/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i]\n};\nvar matchDayPatterns = {\n narrow: /^[dlmjvs]/i,\n short: /^(do|lu|ma|mi|ju|vi|s[áa])/i,\n abbreviated: /^(dom|lun|mar|mi[ée]|jue|vie|s[áa]b)/i,\n wide: /^(domingo|lunes|martes|mi[ée]rcoles|jueves|viernes|s[áa]bado)/i\n};\nvar parseDayPatterns = {\n narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i],\n any: [/^do/i, /^lu/i, /^ma/i, /^mi/i, /^ju/i, /^vi/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mn|md|(de la|a las) (mañana|tarde|noche))/i,\n any: /^([ap]\\.?\\s?m\\.?|medianoche|mediodia|(de la|a las) (mañana|tarde|noche))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mn/i,\n noon: /^md/i,\n morning: /mañana/i,\n afternoon: /tarde/i,\n evening: /tarde/i,\n night: /noche/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","/*!\n * chartjs-plugin-datalabels v2.1.0\n * https://chartjs-plugin-datalabels.netlify.app\n * (c) 2017-2022 chartjs-plugin-datalabels contributors\n * Released under the MIT license\n */\nimport { isNullOrUndef, merge, toFont, resolve, toPadding, valueOrDefault, callback, isObject, each } from 'chart.js/helpers';\nimport { defaults as defaults$1, ArcElement, PointElement, BarElement } from 'chart.js';\n\nvar devicePixelRatio = (function() {\n if (typeof window !== 'undefined') {\n if (window.devicePixelRatio) {\n return window.devicePixelRatio;\n }\n\n // devicePixelRatio is undefined on IE10\n // https://stackoverflow.com/a/20204180/8837887\n // https://github.com/chartjs/chartjs-plugin-datalabels/issues/85\n var screen = window.screen;\n if (screen) {\n return (screen.deviceXDPI || 1) / (screen.logicalXDPI || 1);\n }\n }\n\n return 1;\n}());\n\nvar utils = {\n // @todo move this in Chart.helpers.toTextLines\n toTextLines: function(inputs) {\n var lines = [];\n var input;\n\n inputs = [].concat(inputs);\n while (inputs.length) {\n input = inputs.pop();\n if (typeof input === 'string') {\n lines.unshift.apply(lines, input.split('\\n'));\n } else if (Array.isArray(input)) {\n inputs.push.apply(inputs, input);\n } else if (!isNullOrUndef(inputs)) {\n lines.unshift('' + input);\n }\n }\n\n return lines;\n },\n\n // @todo move this in Chart.helpers.canvas.textSize\n // @todo cache calls of measureText if font doesn't change?!\n textSize: function(ctx, lines, font) {\n var items = [].concat(lines);\n var ilen = items.length;\n var prev = ctx.font;\n var width = 0;\n var i;\n\n ctx.font = font.string;\n\n for (i = 0; i < ilen; ++i) {\n width = Math.max(ctx.measureText(items[i]).width, width);\n }\n\n ctx.font = prev;\n\n return {\n height: ilen * font.lineHeight,\n width: width\n };\n },\n\n /**\n * Returns value bounded by min and max. This is equivalent to max(min, min(value, max)).\n * @todo move this method in Chart.helpers.bound\n * https://doc.qt.io/qt-5/qtglobal.html#qBound\n */\n bound: function(min, value, max) {\n return Math.max(min, Math.min(value, max));\n },\n\n /**\n * Returns an array of pair [value, state] where state is:\n * * -1: value is only in a0 (removed)\n * * 1: value is only in a1 (added)\n */\n arrayDiff: function(a0, a1) {\n var prev = a0.slice();\n var updates = [];\n var i, j, ilen, v;\n\n for (i = 0, ilen = a1.length; i < ilen; ++i) {\n v = a1[i];\n j = prev.indexOf(v);\n\n if (j === -1) {\n updates.push([v, 1]);\n } else {\n prev.splice(j, 1);\n }\n }\n\n for (i = 0, ilen = prev.length; i < ilen; ++i) {\n updates.push([prev[i], -1]);\n }\n\n return updates;\n },\n\n /**\n * https://github.com/chartjs/chartjs-plugin-datalabels/issues/70\n */\n rasterize: function(v) {\n return Math.round(v * devicePixelRatio) / devicePixelRatio;\n }\n};\n\nfunction orient(point, origin) {\n var x0 = origin.x;\n var y0 = origin.y;\n\n if (x0 === null) {\n return {x: 0, y: -1};\n }\n if (y0 === null) {\n return {x: 1, y: 0};\n }\n\n var dx = point.x - x0;\n var dy = point.y - y0;\n var ln = Math.sqrt(dx * dx + dy * dy);\n\n return {\n x: ln ? dx / ln : 0,\n y: ln ? dy / ln : -1\n };\n}\n\nfunction aligned(x, y, vx, vy, align) {\n switch (align) {\n case 'center':\n vx = vy = 0;\n break;\n case 'bottom':\n vx = 0;\n vy = 1;\n break;\n case 'right':\n vx = 1;\n vy = 0;\n break;\n case 'left':\n vx = -1;\n vy = 0;\n break;\n case 'top':\n vx = 0;\n vy = -1;\n break;\n case 'start':\n vx = -vx;\n vy = -vy;\n break;\n case 'end':\n // keep natural orientation\n break;\n default:\n // clockwise rotation (in degree)\n align *= (Math.PI / 180);\n vx = Math.cos(align);\n vy = Math.sin(align);\n break;\n }\n\n return {\n x: x,\n y: y,\n vx: vx,\n vy: vy\n };\n}\n\n// Line clipping (Cohen–Sutherland algorithm)\n// https://en.wikipedia.org/wiki/Cohen–Sutherland_algorithm\n\nvar R_INSIDE = 0;\nvar R_LEFT = 1;\nvar R_RIGHT = 2;\nvar R_BOTTOM = 4;\nvar R_TOP = 8;\n\nfunction region(x, y, rect) {\n var res = R_INSIDE;\n\n if (x < rect.left) {\n res |= R_LEFT;\n } else if (x > rect.right) {\n res |= R_RIGHT;\n }\n if (y < rect.top) {\n res |= R_TOP;\n } else if (y > rect.bottom) {\n res |= R_BOTTOM;\n }\n\n return res;\n}\n\nfunction clipped(segment, area) {\n var x0 = segment.x0;\n var y0 = segment.y0;\n var x1 = segment.x1;\n var y1 = segment.y1;\n var r0 = region(x0, y0, area);\n var r1 = region(x1, y1, area);\n var r, x, y;\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n if (!(r0 | r1) || (r0 & r1)) {\n // both points inside or on the same side: no clipping\n break;\n }\n\n // at least one point is outside\n r = r0 || r1;\n\n if (r & R_TOP) {\n x = x0 + (x1 - x0) * (area.top - y0) / (y1 - y0);\n y = area.top;\n } else if (r & R_BOTTOM) {\n x = x0 + (x1 - x0) * (area.bottom - y0) / (y1 - y0);\n y = area.bottom;\n } else if (r & R_RIGHT) {\n y = y0 + (y1 - y0) * (area.right - x0) / (x1 - x0);\n x = area.right;\n } else if (r & R_LEFT) {\n y = y0 + (y1 - y0) * (area.left - x0) / (x1 - x0);\n x = area.left;\n }\n\n if (r === r0) {\n x0 = x;\n y0 = y;\n r0 = region(x0, y0, area);\n } else {\n x1 = x;\n y1 = y;\n r1 = region(x1, y1, area);\n }\n }\n\n return {\n x0: x0,\n x1: x1,\n y0: y0,\n y1: y1\n };\n}\n\nfunction compute$1(range, config) {\n var anchor = config.anchor;\n var segment = range;\n var x, y;\n\n if (config.clamp) {\n segment = clipped(segment, config.area);\n }\n\n if (anchor === 'start') {\n x = segment.x0;\n y = segment.y0;\n } else if (anchor === 'end') {\n x = segment.x1;\n y = segment.y1;\n } else {\n x = (segment.x0 + segment.x1) / 2;\n y = (segment.y0 + segment.y1) / 2;\n }\n\n return aligned(x, y, range.vx, range.vy, config.align);\n}\n\nvar positioners = {\n arc: function(el, config) {\n var angle = (el.startAngle + el.endAngle) / 2;\n var vx = Math.cos(angle);\n var vy = Math.sin(angle);\n var r0 = el.innerRadius;\n var r1 = el.outerRadius;\n\n return compute$1({\n x0: el.x + vx * r0,\n y0: el.y + vy * r0,\n x1: el.x + vx * r1,\n y1: el.y + vy * r1,\n vx: vx,\n vy: vy\n }, config);\n },\n\n point: function(el, config) {\n var v = orient(el, config.origin);\n var rx = v.x * el.options.radius;\n var ry = v.y * el.options.radius;\n\n return compute$1({\n x0: el.x - rx,\n y0: el.y - ry,\n x1: el.x + rx,\n y1: el.y + ry,\n vx: v.x,\n vy: v.y\n }, config);\n },\n\n bar: function(el, config) {\n var v = orient(el, config.origin);\n var x = el.x;\n var y = el.y;\n var sx = 0;\n var sy = 0;\n\n if (el.horizontal) {\n x = Math.min(el.x, el.base);\n sx = Math.abs(el.base - el.x);\n } else {\n y = Math.min(el.y, el.base);\n sy = Math.abs(el.base - el.y);\n }\n\n return compute$1({\n x0: x,\n y0: y + sy,\n x1: x + sx,\n y1: y,\n vx: v.x,\n vy: v.y\n }, config);\n },\n\n fallback: function(el, config) {\n var v = orient(el, config.origin);\n\n return compute$1({\n x0: el.x,\n y0: el.y,\n x1: el.x + (el.width || 0),\n y1: el.y + (el.height || 0),\n vx: v.x,\n vy: v.y\n }, config);\n }\n};\n\nvar rasterize = utils.rasterize;\n\nfunction boundingRects(model) {\n var borderWidth = model.borderWidth || 0;\n var padding = model.padding;\n var th = model.size.height;\n var tw = model.size.width;\n var tx = -tw / 2;\n var ty = -th / 2;\n\n return {\n frame: {\n x: tx - padding.left - borderWidth,\n y: ty - padding.top - borderWidth,\n w: tw + padding.width + borderWidth * 2,\n h: th + padding.height + borderWidth * 2\n },\n text: {\n x: tx,\n y: ty,\n w: tw,\n h: th\n }\n };\n}\n\nfunction getScaleOrigin(el, context) {\n var scale = context.chart.getDatasetMeta(context.datasetIndex).vScale;\n\n if (!scale) {\n return null;\n }\n\n if (scale.xCenter !== undefined && scale.yCenter !== undefined) {\n return {x: scale.xCenter, y: scale.yCenter};\n }\n\n var pixel = scale.getBasePixel();\n return el.horizontal ?\n {x: pixel, y: null} :\n {x: null, y: pixel};\n}\n\nfunction getPositioner(el) {\n if (el instanceof ArcElement) {\n return positioners.arc;\n }\n if (el instanceof PointElement) {\n return positioners.point;\n }\n if (el instanceof BarElement) {\n return positioners.bar;\n }\n return positioners.fallback;\n}\n\nfunction drawRoundedRect(ctx, x, y, w, h, radius) {\n var HALF_PI = Math.PI / 2;\n\n if (radius) {\n var r = Math.min(radius, h / 2, w / 2);\n var left = x + r;\n var top = y + r;\n var right = x + w - r;\n var bottom = y + h - r;\n\n ctx.moveTo(x, top);\n if (left < right && top < bottom) {\n ctx.arc(left, top, r, -Math.PI, -HALF_PI);\n ctx.arc(right, top, r, -HALF_PI, 0);\n ctx.arc(right, bottom, r, 0, HALF_PI);\n ctx.arc(left, bottom, r, HALF_PI, Math.PI);\n } else if (left < right) {\n ctx.moveTo(left, y);\n ctx.arc(right, top, r, -HALF_PI, HALF_PI);\n ctx.arc(left, top, r, HALF_PI, Math.PI + HALF_PI);\n } else if (top < bottom) {\n ctx.arc(left, top, r, -Math.PI, 0);\n ctx.arc(left, bottom, r, 0, Math.PI);\n } else {\n ctx.arc(left, top, r, -Math.PI, Math.PI);\n }\n ctx.closePath();\n ctx.moveTo(x, y);\n } else {\n ctx.rect(x, y, w, h);\n }\n}\n\nfunction drawFrame(ctx, rect, model) {\n var bgColor = model.backgroundColor;\n var borderColor = model.borderColor;\n var borderWidth = model.borderWidth;\n\n if (!bgColor && (!borderColor || !borderWidth)) {\n return;\n }\n\n ctx.beginPath();\n\n drawRoundedRect(\n ctx,\n rasterize(rect.x) + borderWidth / 2,\n rasterize(rect.y) + borderWidth / 2,\n rasterize(rect.w) - borderWidth,\n rasterize(rect.h) - borderWidth,\n model.borderRadius);\n\n ctx.closePath();\n\n if (bgColor) {\n ctx.fillStyle = bgColor;\n ctx.fill();\n }\n\n if (borderColor && borderWidth) {\n ctx.strokeStyle = borderColor;\n ctx.lineWidth = borderWidth;\n ctx.lineJoin = 'miter';\n ctx.stroke();\n }\n}\n\nfunction textGeometry(rect, align, font) {\n var h = font.lineHeight;\n var w = rect.w;\n var x = rect.x;\n var y = rect.y + h / 2;\n\n if (align === 'center') {\n x += w / 2;\n } else if (align === 'end' || align === 'right') {\n x += w;\n }\n\n return {\n h: h,\n w: w,\n x: x,\n y: y\n };\n}\n\nfunction drawTextLine(ctx, text, cfg) {\n var shadow = ctx.shadowBlur;\n var stroked = cfg.stroked;\n var x = rasterize(cfg.x);\n var y = rasterize(cfg.y);\n var w = rasterize(cfg.w);\n\n if (stroked) {\n ctx.strokeText(text, x, y, w);\n }\n\n if (cfg.filled) {\n if (shadow && stroked) {\n // Prevent drawing shadow on both the text stroke and fill, so\n // if the text is stroked, remove the shadow for the text fill.\n ctx.shadowBlur = 0;\n }\n\n ctx.fillText(text, x, y, w);\n\n if (shadow && stroked) {\n ctx.shadowBlur = shadow;\n }\n }\n}\n\nfunction drawText(ctx, lines, rect, model) {\n var align = model.textAlign;\n var color = model.color;\n var filled = !!color;\n var font = model.font;\n var ilen = lines.length;\n var strokeColor = model.textStrokeColor;\n var strokeWidth = model.textStrokeWidth;\n var stroked = strokeColor && strokeWidth;\n var i;\n\n if (!ilen || (!filled && !stroked)) {\n return;\n }\n\n // Adjust coordinates based on text alignment and line height\n rect = textGeometry(rect, align, font);\n\n ctx.font = font.string;\n ctx.textAlign = align;\n ctx.textBaseline = 'middle';\n ctx.shadowBlur = model.textShadowBlur;\n ctx.shadowColor = model.textShadowColor;\n\n if (filled) {\n ctx.fillStyle = color;\n }\n if (stroked) {\n ctx.lineJoin = 'round';\n ctx.lineWidth = strokeWidth;\n ctx.strokeStyle = strokeColor;\n }\n\n for (i = 0, ilen = lines.length; i < ilen; ++i) {\n drawTextLine(ctx, lines[i], {\n stroked: stroked,\n filled: filled,\n w: rect.w,\n x: rect.x,\n y: rect.y + rect.h * i\n });\n }\n}\n\nvar Label = function(config, ctx, el, index) {\n var me = this;\n\n me._config = config;\n me._index = index;\n me._model = null;\n me._rects = null;\n me._ctx = ctx;\n me._el = el;\n};\n\nmerge(Label.prototype, {\n /**\n * @private\n */\n _modelize: function(display, lines, config, context) {\n var me = this;\n var index = me._index;\n var font = toFont(resolve([config.font, {}], context, index));\n var color = resolve([config.color, defaults$1.color], context, index);\n\n return {\n align: resolve([config.align, 'center'], context, index),\n anchor: resolve([config.anchor, 'center'], context, index),\n area: context.chart.chartArea,\n backgroundColor: resolve([config.backgroundColor, null], context, index),\n borderColor: resolve([config.borderColor, null], context, index),\n borderRadius: resolve([config.borderRadius, 0], context, index),\n borderWidth: resolve([config.borderWidth, 0], context, index),\n clamp: resolve([config.clamp, false], context, index),\n clip: resolve([config.clip, false], context, index),\n color: color,\n display: display,\n font: font,\n lines: lines,\n offset: resolve([config.offset, 4], context, index),\n opacity: resolve([config.opacity, 1], context, index),\n origin: getScaleOrigin(me._el, context),\n padding: toPadding(resolve([config.padding, 4], context, index)),\n positioner: getPositioner(me._el),\n rotation: resolve([config.rotation, 0], context, index) * (Math.PI / 180),\n size: utils.textSize(me._ctx, lines, font),\n textAlign: resolve([config.textAlign, 'start'], context, index),\n textShadowBlur: resolve([config.textShadowBlur, 0], context, index),\n textShadowColor: resolve([config.textShadowColor, color], context, index),\n textStrokeColor: resolve([config.textStrokeColor, color], context, index),\n textStrokeWidth: resolve([config.textStrokeWidth, 0], context, index)\n };\n },\n\n update: function(context) {\n var me = this;\n var model = null;\n var rects = null;\n var index = me._index;\n var config = me._config;\n var value, label, lines;\n\n // We first resolve the display option (separately) to avoid computing\n // other options in case the label is hidden (i.e. display: false).\n var display = resolve([config.display, true], context, index);\n\n if (display) {\n value = context.dataset.data[index];\n label = valueOrDefault(callback(config.formatter, [value, context]), value);\n lines = isNullOrUndef(label) ? [] : utils.toTextLines(label);\n\n if (lines.length) {\n model = me._modelize(display, lines, config, context);\n rects = boundingRects(model);\n }\n }\n\n me._model = model;\n me._rects = rects;\n },\n\n geometry: function() {\n return this._rects ? this._rects.frame : {};\n },\n\n rotation: function() {\n return this._model ? this._model.rotation : 0;\n },\n\n visible: function() {\n return this._model && this._model.opacity;\n },\n\n model: function() {\n return this._model;\n },\n\n draw: function(chart, center) {\n var me = this;\n var ctx = chart.ctx;\n var model = me._model;\n var rects = me._rects;\n var area;\n\n if (!this.visible()) {\n return;\n }\n\n ctx.save();\n\n if (model.clip) {\n area = model.area;\n ctx.beginPath();\n ctx.rect(\n area.left,\n area.top,\n area.right - area.left,\n area.bottom - area.top);\n ctx.clip();\n }\n\n ctx.globalAlpha = utils.bound(0, model.opacity, 1);\n ctx.translate(rasterize(center.x), rasterize(center.y));\n ctx.rotate(model.rotation);\n\n drawFrame(ctx, rects.frame, model);\n drawText(ctx, model.lines, rects.text, model);\n\n ctx.restore();\n }\n});\n\nvar MIN_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991; // eslint-disable-line es/no-number-minsafeinteger\nvar MAX_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; // eslint-disable-line es/no-number-maxsafeinteger\n\nfunction rotated(point, center, angle) {\n var cos = Math.cos(angle);\n var sin = Math.sin(angle);\n var cx = center.x;\n var cy = center.y;\n\n return {\n x: cx + cos * (point.x - cx) - sin * (point.y - cy),\n y: cy + sin * (point.x - cx) + cos * (point.y - cy)\n };\n}\n\nfunction projected(points, axis) {\n var min = MAX_INTEGER;\n var max = MIN_INTEGER;\n var origin = axis.origin;\n var i, pt, vx, vy, dp;\n\n for (i = 0; i < points.length; ++i) {\n pt = points[i];\n vx = pt.x - origin.x;\n vy = pt.y - origin.y;\n dp = axis.vx * vx + axis.vy * vy;\n min = Math.min(min, dp);\n max = Math.max(max, dp);\n }\n\n return {\n min: min,\n max: max\n };\n}\n\nfunction toAxis(p0, p1) {\n var vx = p1.x - p0.x;\n var vy = p1.y - p0.y;\n var ln = Math.sqrt(vx * vx + vy * vy);\n\n return {\n vx: (p1.x - p0.x) / ln,\n vy: (p1.y - p0.y) / ln,\n origin: p0,\n ln: ln\n };\n}\n\nvar HitBox = function() {\n this._rotation = 0;\n this._rect = {\n x: 0,\n y: 0,\n w: 0,\n h: 0\n };\n};\n\nmerge(HitBox.prototype, {\n center: function() {\n var r = this._rect;\n return {\n x: r.x + r.w / 2,\n y: r.y + r.h / 2\n };\n },\n\n update: function(center, rect, rotation) {\n this._rotation = rotation;\n this._rect = {\n x: rect.x + center.x,\n y: rect.y + center.y,\n w: rect.w,\n h: rect.h\n };\n },\n\n contains: function(point) {\n var me = this;\n var margin = 1;\n var rect = me._rect;\n\n point = rotated(point, me.center(), -me._rotation);\n\n return !(point.x < rect.x - margin\n || point.y < rect.y - margin\n || point.x > rect.x + rect.w + margin * 2\n || point.y > rect.y + rect.h + margin * 2);\n },\n\n // Separating Axis Theorem\n // https://gamedevelopment.tutsplus.com/tutorials/collision-detection-using-the-separating-axis-theorem--gamedev-169\n intersects: function(other) {\n var r0 = this._points();\n var r1 = other._points();\n var axes = [\n toAxis(r0[0], r0[1]),\n toAxis(r0[0], r0[3])\n ];\n var i, pr0, pr1;\n\n if (this._rotation !== other._rotation) {\n // Only separate with r1 axis if the rotation is different,\n // else it's enough to separate r0 and r1 with r0 axis only!\n axes.push(\n toAxis(r1[0], r1[1]),\n toAxis(r1[0], r1[3])\n );\n }\n\n for (i = 0; i < axes.length; ++i) {\n pr0 = projected(r0, axes[i]);\n pr1 = projected(r1, axes[i]);\n\n if (pr0.max < pr1.min || pr1.max < pr0.min) {\n return false;\n }\n }\n\n return true;\n },\n\n /**\n * @private\n */\n _points: function() {\n var me = this;\n var rect = me._rect;\n var angle = me._rotation;\n var center = me.center();\n\n return [\n rotated({x: rect.x, y: rect.y}, center, angle),\n rotated({x: rect.x + rect.w, y: rect.y}, center, angle),\n rotated({x: rect.x + rect.w, y: rect.y + rect.h}, center, angle),\n rotated({x: rect.x, y: rect.y + rect.h}, center, angle)\n ];\n }\n});\n\nfunction coordinates(el, model, geometry) {\n var point = model.positioner(el, model);\n var vx = point.vx;\n var vy = point.vy;\n\n if (!vx && !vy) {\n // if aligned center, we don't want to offset the center point\n return {x: point.x, y: point.y};\n }\n\n var w = geometry.w;\n var h = geometry.h;\n\n // take in account the label rotation\n var rotation = model.rotation;\n var dx = Math.abs(w / 2 * Math.cos(rotation)) + Math.abs(h / 2 * Math.sin(rotation));\n var dy = Math.abs(w / 2 * Math.sin(rotation)) + Math.abs(h / 2 * Math.cos(rotation));\n\n // scale the unit vector (vx, vy) to get at least dx or dy equal to\n // w or h respectively (else we would calculate the distance to the\n // ellipse inscribed in the bounding rect)\n var vs = 1 / Math.max(Math.abs(vx), Math.abs(vy));\n dx *= vx * vs;\n dy *= vy * vs;\n\n // finally, include the explicit offset\n dx += model.offset * vx;\n dy += model.offset * vy;\n\n return {\n x: point.x + dx,\n y: point.y + dy\n };\n}\n\nfunction collide(labels, collider) {\n var i, j, s0, s1;\n\n // IMPORTANT Iterate in the reverse order since items at the end of the\n // list have an higher weight/priority and thus should be less impacted\n // by the overlapping strategy.\n\n for (i = labels.length - 1; i >= 0; --i) {\n s0 = labels[i].$layout;\n\n for (j = i - 1; j >= 0 && s0._visible; --j) {\n s1 = labels[j].$layout;\n\n if (s1._visible && s0._box.intersects(s1._box)) {\n collider(s0, s1);\n }\n }\n }\n\n return labels;\n}\n\nfunction compute(labels) {\n var i, ilen, label, state, geometry, center, proxy;\n\n // Initialize labels for overlap detection\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n label = labels[i];\n state = label.$layout;\n\n if (state._visible) {\n // Chart.js 3 removed el._model in favor of getProps(), making harder to\n // abstract reading values in positioners. Also, using string arrays to\n // read values (i.e. var {a,b,c} = el.getProps([\"a\",\"b\",\"c\"])) would make\n // positioners inefficient in the normal case (i.e. not the final values)\n // and the code a bit ugly, so let's use a Proxy instead.\n proxy = new Proxy(label._el, {get: (el, p) => el.getProps([p], true)[p]});\n\n geometry = label.geometry();\n center = coordinates(proxy, label.model(), geometry);\n state._box.update(center, geometry, label.rotation());\n }\n }\n\n // Auto hide overlapping labels\n return collide(labels, function(s0, s1) {\n var h0 = s0._hidable;\n var h1 = s1._hidable;\n\n if ((h0 && h1) || h1) {\n s1._visible = false;\n } else if (h0) {\n s0._visible = false;\n }\n });\n}\n\nvar layout = {\n prepare: function(datasets) {\n var labels = [];\n var i, j, ilen, jlen, label;\n\n for (i = 0, ilen = datasets.length; i < ilen; ++i) {\n for (j = 0, jlen = datasets[i].length; j < jlen; ++j) {\n label = datasets[i][j];\n labels.push(label);\n label.$layout = {\n _box: new HitBox(),\n _hidable: false,\n _visible: true,\n _set: i,\n _idx: label._index\n };\n }\n }\n\n // TODO New `z` option: labels with a higher z-index are drawn\n // of top of the ones with a lower index. Lowest z-index labels\n // are also discarded first when hiding overlapping labels.\n labels.sort(function(a, b) {\n var sa = a.$layout;\n var sb = b.$layout;\n\n return sa._idx === sb._idx\n ? sb._set - sa._set\n : sb._idx - sa._idx;\n });\n\n this.update(labels);\n\n return labels;\n },\n\n update: function(labels) {\n var dirty = false;\n var i, ilen, label, model, state;\n\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n label = labels[i];\n model = label.model();\n state = label.$layout;\n state._hidable = model && model.display === 'auto';\n state._visible = label.visible();\n dirty |= state._hidable;\n }\n\n if (dirty) {\n compute(labels);\n }\n },\n\n lookup: function(labels, point) {\n var i, state;\n\n // IMPORTANT Iterate in the reverse order since items at the end of\n // the list have an higher z-index, thus should be picked first.\n\n for (i = labels.length - 1; i >= 0; --i) {\n state = labels[i].$layout;\n\n if (state && state._visible && state._box.contains(point)) {\n return labels[i];\n }\n }\n\n return null;\n },\n\n draw: function(chart, labels) {\n var i, ilen, label, state, geometry, center;\n\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n label = labels[i];\n state = label.$layout;\n\n if (state._visible) {\n geometry = label.geometry();\n center = coordinates(label._el, label.model(), geometry);\n state._box.update(center, geometry, label.rotation());\n label.draw(chart, center);\n }\n }\n }\n};\n\nvar formatter = function(value) {\n if (isNullOrUndef(value)) {\n return null;\n }\n\n var label = value;\n var keys, klen, k;\n if (isObject(value)) {\n if (!isNullOrUndef(value.label)) {\n label = value.label;\n } else if (!isNullOrUndef(value.r)) {\n label = value.r;\n } else {\n label = '';\n keys = Object.keys(value);\n for (k = 0, klen = keys.length; k < klen; ++k) {\n label += (k !== 0 ? ', ' : '') + keys[k] + ': ' + value[keys[k]];\n }\n }\n }\n\n return '' + label;\n};\n\n/**\n * IMPORTANT: make sure to also update tests and TypeScript definition\n * files (`/test/specs/defaults.spec.js` and `/types/options.d.ts`)\n */\n\nvar defaults = {\n align: 'center',\n anchor: 'center',\n backgroundColor: null,\n borderColor: null,\n borderRadius: 0,\n borderWidth: 0,\n clamp: false,\n clip: false,\n color: undefined,\n display: true,\n font: {\n family: undefined,\n lineHeight: 1.2,\n size: undefined,\n style: undefined,\n weight: null\n },\n formatter: formatter,\n labels: undefined,\n listeners: {},\n offset: 4,\n opacity: 1,\n padding: {\n top: 4,\n right: 4,\n bottom: 4,\n left: 4\n },\n rotation: 0,\n textAlign: 'start',\n textStrokeColor: undefined,\n textStrokeWidth: 0,\n textShadowBlur: 0,\n textShadowColor: undefined\n};\n\n/**\n * @see https://github.com/chartjs/Chart.js/issues/4176\n */\n\nvar EXPANDO_KEY = '$datalabels';\nvar DEFAULT_KEY = '$default';\n\nfunction configure(dataset, options) {\n var override = dataset.datalabels;\n var listeners = {};\n var configs = [];\n var labels, keys;\n\n if (override === false) {\n return null;\n }\n if (override === true) {\n override = {};\n }\n\n options = merge({}, [options, override]);\n labels = options.labels || {};\n keys = Object.keys(labels);\n delete options.labels;\n\n if (keys.length) {\n keys.forEach(function(key) {\n if (labels[key]) {\n configs.push(merge({}, [\n options,\n labels[key],\n {_key: key}\n ]));\n }\n });\n } else {\n // Default label if no \"named\" label defined.\n configs.push(options);\n }\n\n // listeners: {: {: }}\n listeners = configs.reduce(function(target, config) {\n each(config.listeners || {}, function(fn, event) {\n target[event] = target[event] || {};\n target[event][config._key || DEFAULT_KEY] = fn;\n });\n\n delete config.listeners;\n return target;\n }, {});\n\n return {\n labels: configs,\n listeners: listeners\n };\n}\n\nfunction dispatchEvent(chart, listeners, label, event) {\n if (!listeners) {\n return;\n }\n\n var context = label.$context;\n var groups = label.$groups;\n var callback$1;\n\n if (!listeners[groups._set]) {\n return;\n }\n\n callback$1 = listeners[groups._set][groups._key];\n if (!callback$1) {\n return;\n }\n\n if (callback(callback$1, [context, event]) === true) {\n // Users are allowed to tweak the given context by injecting values that can be\n // used in scriptable options to display labels differently based on the current\n // event (e.g. highlight an hovered label). That's why we update the label with\n // the output context and schedule a new chart render by setting it dirty.\n chart[EXPANDO_KEY]._dirty = true;\n label.update(context);\n }\n}\n\nfunction dispatchMoveEvents(chart, listeners, previous, label, event) {\n var enter, leave;\n\n if (!previous && !label) {\n return;\n }\n\n if (!previous) {\n enter = true;\n } else if (!label) {\n leave = true;\n } else if (previous !== label) {\n leave = enter = true;\n }\n\n if (leave) {\n dispatchEvent(chart, listeners.leave, previous, event);\n }\n if (enter) {\n dispatchEvent(chart, listeners.enter, label, event);\n }\n}\n\nfunction handleMoveEvents(chart, event) {\n var expando = chart[EXPANDO_KEY];\n var listeners = expando._listeners;\n var previous, label;\n\n if (!listeners.enter && !listeners.leave) {\n return;\n }\n\n if (event.type === 'mousemove') {\n label = layout.lookup(expando._labels, event);\n } else if (event.type !== 'mouseout') {\n return;\n }\n\n previous = expando._hovered;\n expando._hovered = label;\n dispatchMoveEvents(chart, listeners, previous, label, event);\n}\n\nfunction handleClickEvents(chart, event) {\n var expando = chart[EXPANDO_KEY];\n var handlers = expando._listeners.click;\n var label = handlers && layout.lookup(expando._labels, event);\n if (label) {\n dispatchEvent(chart, handlers, label, event);\n }\n}\n\nvar plugin = {\n id: 'datalabels',\n\n defaults: defaults,\n\n beforeInit: function(chart) {\n chart[EXPANDO_KEY] = {\n _actives: []\n };\n },\n\n beforeUpdate: function(chart) {\n var expando = chart[EXPANDO_KEY];\n expando._listened = false;\n expando._listeners = {}; // {: {: {: }}}\n expando._datasets = []; // per dataset labels: [Label[]]\n expando._labels = []; // layouted labels: Label[]\n },\n\n afterDatasetUpdate: function(chart, args, options) {\n var datasetIndex = args.index;\n var expando = chart[EXPANDO_KEY];\n var labels = expando._datasets[datasetIndex] = [];\n var visible = chart.isDatasetVisible(datasetIndex);\n var dataset = chart.data.datasets[datasetIndex];\n var config = configure(dataset, options);\n var elements = args.meta.data || [];\n var ctx = chart.ctx;\n var i, j, ilen, jlen, cfg, key, el, label;\n\n ctx.save();\n\n for (i = 0, ilen = elements.length; i < ilen; ++i) {\n el = elements[i];\n el[EXPANDO_KEY] = [];\n\n if (visible && el && chart.getDataVisibility(i) && !el.skip) {\n for (j = 0, jlen = config.labels.length; j < jlen; ++j) {\n cfg = config.labels[j];\n key = cfg._key;\n\n label = new Label(cfg, ctx, el, i);\n label.$groups = {\n _set: datasetIndex,\n _key: key || DEFAULT_KEY\n };\n label.$context = {\n active: false,\n chart: chart,\n dataIndex: i,\n dataset: dataset,\n datasetIndex: datasetIndex\n };\n\n label.update(label.$context);\n el[EXPANDO_KEY].push(label);\n labels.push(label);\n }\n }\n }\n\n ctx.restore();\n\n // Store listeners at the chart level and per event type to optimize\n // cases where no listeners are registered for a specific event.\n merge(expando._listeners, config.listeners, {\n merger: function(event, target, source) {\n target[event] = target[event] || {};\n target[event][args.index] = source[event];\n expando._listened = true;\n }\n });\n },\n\n afterUpdate: function(chart) {\n chart[EXPANDO_KEY]._labels = layout.prepare(chart[EXPANDO_KEY]._datasets);\n },\n\n // Draw labels on top of all dataset elements\n // https://github.com/chartjs/chartjs-plugin-datalabels/issues/29\n // https://github.com/chartjs/chartjs-plugin-datalabels/issues/32\n afterDatasetsDraw: function(chart) {\n layout.draw(chart, chart[EXPANDO_KEY]._labels);\n },\n\n beforeEvent: function(chart, args) {\n // If there is no listener registered for this chart, `listened` will be false,\n // meaning we can immediately ignore the incoming event and avoid useless extra\n // computation for users who don't implement label interactions.\n if (chart[EXPANDO_KEY]._listened) {\n var event = args.event;\n switch (event.type) {\n case 'mousemove':\n case 'mouseout':\n handleMoveEvents(chart, event);\n break;\n case 'click':\n handleClickEvents(chart, event);\n break;\n }\n }\n },\n\n afterEvent: function(chart) {\n var expando = chart[EXPANDO_KEY];\n var previous = expando._actives;\n var actives = expando._actives = chart.getActiveElements();\n var updates = utils.arrayDiff(previous, actives);\n var i, ilen, j, jlen, update, label, labels;\n\n for (i = 0, ilen = updates.length; i < ilen; ++i) {\n update = updates[i];\n if (update[1]) {\n labels = update[0].element[EXPANDO_KEY] || [];\n for (j = 0, jlen = labels.length; j < jlen; ++j) {\n label = labels[j];\n label.$context.active = (update[1] === 1);\n label.update(label.$context);\n }\n }\n }\n\n if (expando._dirty || updates.length) {\n layout.update(expando._labels);\n chart.render();\n }\n\n delete expando._dirty;\n }\n};\n\nexport { plugin as default };\n","/** @license React v16.12.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var h=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113;n&&Symbol.for(\"react.suspense_list\");\nvar z=n?Symbol.for(\"react.memo\"):60115,aa=n?Symbol.for(\"react.lazy\"):60116;n&&Symbol.for(\"react.fundamental\");n&&Symbol.for(\"react.responder\");n&&Symbol.for(\"react.scope\");var A=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction B(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cP.length&&P.push(a)}\nfunction S(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+T(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var l=0;lb}return!1}function B(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1)});var sb=/[\\-:]([a-z])/g;function tb(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(sb,\ntb);D[b]=new B(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(sb,tb);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(sb,tb);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0)});function ub(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}\nfunction vb(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2=b.length))throw Error(u(93));b=b[0]}c=b}null==c&&(c=\"\")}a._wrapperState={initialValue:ub(c)}}\nfunction Mb(a,b){var c=ub(b.value),d=ub(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Nb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Ob={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Pb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Qb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Pb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Rb,Sb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Ob.svg||\"innerHTML\"in a)a.innerHTML=b;else{Rb=Rb||document.createElement(\"div\");Rb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=Rb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Tb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Ub(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Vb={animationend:Ub(\"Animation\",\"AnimationEnd\"),animationiteration:Ub(\"Animation\",\"AnimationIteration\"),animationstart:Ub(\"Animation\",\"AnimationStart\"),transitionend:Ub(\"Transition\",\"TransitionEnd\")},Wb={},Xb={};\nYa&&(Xb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Vb.animationend.animation,delete Vb.animationiteration.animation,delete Vb.animationstart.animation),\"TransitionEvent\"in window||delete Vb.transitionend.transition);function Yb(a){if(Wb[a])return Wb[a];if(!Vb[a])return a;var b=Vb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Xb)return Wb[a]=b[c];return a}var Zb=Yb(\"animationend\"),$b=Yb(\"animationiteration\"),ac=Yb(\"animationstart\"),bc=Yb(\"transitionend\"),cc=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \");\nfunction ec(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function fc(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function gc(a){if(ec(a)!==a)throw Error(u(188));}\nfunction hc(a){var b=a.alternate;if(!b){b=ec(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return gc(e),a;if(f===d)return gc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function ic(a){a=hc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nvar jc,kc,lc,mc=!1,nc=[],oc=null,pc=null,qc=null,rc=new Map,sc=new Map,tc=[],uc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit\".split(\" \"),vc=\"focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture\".split(\" \");\nfunction wc(a){var b=xc(a);uc.forEach(function(c){yc(c,a,b)});vc.forEach(function(c){yc(c,a,b)})}function zc(a,b,c,d){return{blockedOn:a,topLevelType:b,eventSystemFlags:c|32,nativeEvent:d}}function Ac(a,b){switch(a){case \"focus\":case \"blur\":oc=null;break;case \"dragenter\":case \"dragleave\":pc=null;break;case \"mouseover\":case \"mouseout\":qc=null;break;case \"pointerover\":case \"pointerout\":rc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":sc.delete(b.pointerId)}}\nfunction Bc(a,b,c,d,e){if(null===a||a.nativeEvent!==e)return a=zc(b,c,d,e),null!==b&&(b=Cc(b),null!==b&&kc(b)),a;a.eventSystemFlags|=d;return a}function Dc(a,b,c,d){switch(b){case \"focus\":return oc=Bc(oc,a,b,c,d),!0;case \"dragenter\":return pc=Bc(pc,a,b,c,d),!0;case \"mouseover\":return qc=Bc(qc,a,b,c,d),!0;case \"pointerover\":var e=d.pointerId;rc.set(e,Bc(rc.get(e)||null,a,b,c,d));return!0;case \"gotpointercapture\":return e=d.pointerId,sc.set(e,Bc(sc.get(e)||null,a,b,c,d)),!0}return!1}\nfunction Ec(a){var b=Fc(a.target);if(null!==b){var c=ec(b);if(null!==c)if(b=c.tag,13===b){if(b=fc(c),null!==b){a.blockedOn=b;q.unstable_runWithPriority(a.priority,function(){lc(c)});return}}else if(3===b&&c.stateNode.hydrate){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}function Gc(a){if(null!==a.blockedOn)return!1;var b=Hc(a.topLevelType,a.eventSystemFlags,a.nativeEvent);if(null!==b){var c=Cc(b);null!==c&&kc(c);a.blockedOn=b;return!1}return!0}\nfunction Ic(a,b,c){Gc(a)&&c.delete(b)}function Jc(){for(mc=!1;0this.eventPool.length&&this.eventPool.push(a)}function Vc(a){a.eventPool=[];a.getPooled=Wc;a.release=Xc}var Yc=E.extend({animationName:null,elapsedTime:null,pseudoElement:null}),Zc=E.extend({clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),$c=E.extend({view:null,detail:null}),ad=$c.extend({relatedTarget:null});\nfunction bd(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}\nvar cd={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},dd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",\n116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},ed={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function gd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=ed[a])?!!b[a]:!1}function hd(){return gd}\nvar id=$c.extend({key:function(a){if(a.key){var b=cd[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=bd(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?dd[a.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:hd,charCode:function(a){return\"keypress\"===a.type?bd(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?bd(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),jd=0,kd=0,ld=!1,md=!1,nd=$c.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:hd,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)},movementX:function(a){if(\"movementX\"in a)return a.movementX;var b=jd;jd=a.screenX;return ld?\"mousemove\"===a.type?a.screenX-\nb:0:(ld=!0,0)},movementY:function(a){if(\"movementY\"in a)return a.movementY;var b=kd;kd=a.screenY;return md?\"mousemove\"===a.type?a.screenY-b:0:(md=!0,0)}}),od=nd.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),pd=nd.extend({dataTransfer:null}),qd=$c.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:hd}),rd=E.extend({propertyName:null,\nelapsedTime:null,pseudoElement:null}),sd=nd.extend({deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},deltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null}),td=[[\"blur\",\"blur\",0],[\"cancel\",\"cancel\",0],[\"click\",\"click\",0],[\"close\",\"close\",0],[\"contextmenu\",\"contextMenu\",0],[\"copy\",\"copy\",0],[\"cut\",\"cut\",0],[\"auxclick\",\"auxClick\",0],[\"dblclick\",\"doubleClick\",0],[\"dragend\",\"dragEnd\",\n0],[\"dragstart\",\"dragStart\",0],[\"drop\",\"drop\",0],[\"focus\",\"focus\",0],[\"input\",\"input\",0],[\"invalid\",\"invalid\",0],[\"keydown\",\"keyDown\",0],[\"keypress\",\"keyPress\",0],[\"keyup\",\"keyUp\",0],[\"mousedown\",\"mouseDown\",0],[\"mouseup\",\"mouseUp\",0],[\"paste\",\"paste\",0],[\"pause\",\"pause\",0],[\"play\",\"play\",0],[\"pointercancel\",\"pointerCancel\",0],[\"pointerdown\",\"pointerDown\",0],[\"pointerup\",\"pointerUp\",0],[\"ratechange\",\"rateChange\",0],[\"reset\",\"reset\",0],[\"seeked\",\"seeked\",0],[\"submit\",\"submit\",0],[\"touchcancel\",\"touchCancel\",\n0],[\"touchend\",\"touchEnd\",0],[\"touchstart\",\"touchStart\",0],[\"volumechange\",\"volumeChange\",0],[\"drag\",\"drag\",1],[\"dragenter\",\"dragEnter\",1],[\"dragexit\",\"dragExit\",1],[\"dragleave\",\"dragLeave\",1],[\"dragover\",\"dragOver\",1],[\"mousemove\",\"mouseMove\",1],[\"mouseout\",\"mouseOut\",1],[\"mouseover\",\"mouseOver\",1],[\"pointermove\",\"pointerMove\",1],[\"pointerout\",\"pointerOut\",1],[\"pointerover\",\"pointerOver\",1],[\"scroll\",\"scroll\",1],[\"toggle\",\"toggle\",1],[\"touchmove\",\"touchMove\",1],[\"wheel\",\"wheel\",1],[\"abort\",\"abort\",\n2],[Zb,\"animationEnd\",2],[$b,\"animationIteration\",2],[ac,\"animationStart\",2],[\"canplay\",\"canPlay\",2],[\"canplaythrough\",\"canPlayThrough\",2],[\"durationchange\",\"durationChange\",2],[\"emptied\",\"emptied\",2],[\"encrypted\",\"encrypted\",2],[\"ended\",\"ended\",2],[\"error\",\"error\",2],[\"gotpointercapture\",\"gotPointerCapture\",2],[\"load\",\"load\",2],[\"loadeddata\",\"loadedData\",2],[\"loadedmetadata\",\"loadedMetadata\",2],[\"loadstart\",\"loadStart\",2],[\"lostpointercapture\",\"lostPointerCapture\",2],[\"playing\",\"playing\",2],[\"progress\",\n\"progress\",2],[\"seeking\",\"seeking\",2],[\"stalled\",\"stalled\",2],[\"suspend\",\"suspend\",2],[\"timeupdate\",\"timeUpdate\",2],[bc,\"transitionEnd\",2],[\"waiting\",\"waiting\",2]],ud={},vd={},wd=0;for(;wd=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ce(c)}}\nfunction ee(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?ee(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function fe(){for(var a=window,b=be();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=be(a.document)}return b}\nfunction ge(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var he=\"$\",ie=\"/$\",je=\"$?\",ke=\"$!\",le=null,me=null;function ne(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction oe(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var pe=\"function\"===typeof setTimeout?setTimeout:void 0,qe=\"function\"===typeof clearTimeout?clearTimeout:void 0;function re(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction se(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===he||c===ke||c===je){if(0===b)return a;b--}else c===ie&&b++}a=a.previousSibling}return null}var te=Math.random().toString(36).slice(2),ue=\"__reactInternalInstance$\"+te,ve=\"__reactEventHandlers$\"+te,we=\"__reactContainere$\"+te;\nfunction Fc(a){var b=a[ue];if(b)return b;for(var c=a.parentNode;c;){if(b=c[we]||c[ue]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=se(a);null!==a;){if(c=a[ue])return c;a=se(a)}return b}a=c;c=a.parentNode}return null}function Cc(a){a=a[ue]||a[we];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function xe(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function ye(a){return a[ve]||null}var ze=null,Ae=null,Be=null;\nfunction Ce(){if(Be)return Be;var a,b=Ae,c=b.length,d,e=\"value\"in ze?ze.value:ze.textContent,f=e.length;for(a=0;a=He),Ke=String.fromCharCode(32),Le={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},Me=!1;\nfunction Ne(a,b){switch(a){case \"keyup\":return-1!==Fe.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function Oe(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var Pe=!1;function Qe(a,b){switch(a){case \"compositionend\":return Oe(b);case \"keypress\":if(32!==b.which)return null;Me=!0;return Ke;case \"textInput\":return a=b.data,a===Ke&&Me?null:a;default:return null}}\nfunction Re(a,b){if(Pe)return\"compositionend\"===a||!Ge&&Ne(a,b)?(a=Ce(),Be=Ae=ze=null,Pe=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,sf={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},tf=null,uf=null,vf=null,wf=!1;\nfunction xf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(wf||null==tf||tf!==be(c))return null;c=tf;\"selectionStart\"in c&&ge(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return vf&&qf(vf,c)?null:(vf=c,a=E.getPooled(sf.select,uf,a,b),a.type=\"select\",a.target=tf,Sc(a),a)}\nvar yf={eventTypes:sf,extractEvents:function(a,b,c,d){var e=d.window===d?d.document:9===d.nodeType?d:d.ownerDocument,f;if(!(f=!e)){a:{e=xc(e);f=ja.onSelect;for(var g=0;gBf||(a.current=Af[Bf],Af[Bf]=null,Bf--)}\nfunction I(a,b){Bf++;Af[Bf]=a.current;a.current=b}var Cf={},J={current:Cf},K={current:!1},Df=Cf;function Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Ff(a){G(K,a);G(J,a)}function Gf(a){G(K,a);G(J,a)}function Hf(a,b,c){if(J.current!==Cf)throw Error(u(168));I(J,b,a);I(K,c,a)}function If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,Wa(b)||\"Unknown\",e));return n({},c,{},d)}function Jf(a){var b=a.stateNode;b=b&&b.__reactInternalMemoizedMergedChildContext||Cf;Df=J.current;I(J,b,a);I(K,K.current,a);return!0}\nfunction Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(b=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=b,G(K,a),G(J,a),I(J,b,a)):G(K,a);I(K,c,a)}\nvar Lf=q.unstable_runWithPriority,Mf=q.unstable_scheduleCallback,Nf=q.unstable_cancelCallback,Of=q.unstable_shouldYield,Pf=q.unstable_requestPaint,Qf=q.unstable_now,Rf=q.unstable_getCurrentPriorityLevel,Sf=q.unstable_ImmediatePriority,Tf=q.unstable_UserBlockingPriority,Uf=q.unstable_NormalPriority,Vf=q.unstable_LowPriority,Wf=q.unstable_IdlePriority,Xf={},Yf=void 0!==Pf?Pf:function(){},Zf=null,$f=null,ag=!1,bg=Qf(),cg=1E4>bg?Qf:function(){return Qf()-bg};\nfunction dg(){switch(Rf()){case Sf:return 99;case Tf:return 98;case Uf:return 97;case Vf:return 96;case Wf:return 95;default:throw Error(u(332));}}function eg(a){switch(a){case 99:return Sf;case 98:return Tf;case 97:return Uf;case 96:return Vf;case 95:return Wf;default:throw Error(u(332));}}function fg(a,b){a=eg(a);return Lf(a,b)}function gg(a,b,c){a=eg(a);return Mf(a,b,c)}function hg(a){null===Zf?(Zf=[a],$f=Mf(Sf,ig)):Zf.push(a);return Xf}function jg(){if(null!==$f){var a=$f;$f=null;Nf(a)}ig()}\nfunction ig(){if(!ag&&null!==Zf){ag=!0;var a=0;try{var b=Zf;fg(99,function(){for(;a=b&&(wg=!0),a.firstContext=null)}function xg(a,b){if(qg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)qg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===pg){if(null===og)throw Error(u(308));pg=b;og.dependencies={expirationTime:0,firstContext:b,responders:null}}else pg=pg.next=b}return a._currentValue}var yg=!1;\nfunction zg(a){return{baseState:a,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Ag(a){return{baseState:a.baseState,firstUpdate:a.firstUpdate,lastUpdate:a.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}\nfunction Bg(a,b){return{expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function Cg(a,b){null===a.lastUpdate?a.firstUpdate=a.lastUpdate=b:(a.lastUpdate.next=b,a.lastUpdate=b)}\nfunction Dg(a,b){var c=a.alternate;if(null===c){var d=a.updateQueue;var e=null;null===d&&(d=a.updateQueue=zg(a.memoizedState))}else d=a.updateQueue,e=c.updateQueue,null===d?null===e?(d=a.updateQueue=zg(a.memoizedState),e=c.updateQueue=zg(c.memoizedState)):d=a.updateQueue=Ag(e):null===e&&(e=c.updateQueue=Ag(d));null===e||d===e?Cg(d,b):null===d.lastUpdate||null===e.lastUpdate?(Cg(d,b),Cg(e,b)):(Cg(d,b),e.lastUpdate=b)}\nfunction Eg(a,b){var c=a.updateQueue;c=null===c?a.updateQueue=zg(a.memoizedState):Fg(a,c);null===c.lastCapturedUpdate?c.firstCapturedUpdate=c.lastCapturedUpdate=b:(c.lastCapturedUpdate.next=b,c.lastCapturedUpdate=b)}function Fg(a,b){var c=a.alternate;null!==c&&b===c.updateQueue&&(b=a.updateQueue=Ag(b));return b}\nfunction Gg(a,b,c,d,e,f){switch(c.tag){case 1:return a=c.payload,\"function\"===typeof a?a.call(f,d,e):a;case 3:a.effectTag=a.effectTag&-4097|64;case 0:a=c.payload;e=\"function\"===typeof a?a.call(f,d,e):a;if(null===e||void 0===e)break;return n({},d,e);case 2:yg=!0}return d}\nfunction Hg(a,b,c,d,e){yg=!1;b=Fg(a,b);for(var f=b.baseState,g=null,h=0,k=b.firstUpdate,l=f;null!==k;){var m=k.expirationTime;mx?(A=r,r=null):A=r.sibling;var p=y(e,r,h[x],k);if(null===p){null===r&&(r=A);break}a&&\nr&&null===p.alternate&&b(e,r);g=f(p,g,x);null===m?l=p:m.sibling=p;m=p;r=A}if(x===h.length)return c(e,r),l;if(null===r){for(;xx?(A=r,r=null):A=r.sibling;var z=y(e,r,p.value,k);if(null===z){null===r&&(r=A);break}a&&r&&null===z.alternate&&b(e,r);g=f(z,g,x);null===m?l=z:m.sibling=z;m=z;r=A}if(p.done)return c(e,r),l;if(null===r){for(;!p.done;x++,p=h.next())p=C(e,p.value,k),null!==p&&(g=f(p,g,x),null===m?l=p:m.sibling=p,m=p);return l}for(r=d(e,r);!p.done;x++,p=h.next())p=H(r,e,x,p.value,k),null!==p&&(a&&null!==\np.alternate&&r.delete(null===p.key?x:p.key),g=f(p,g,x),null===m?l=p:m.sibling=p,m=p);a&&r.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===Ia&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Ga:a:{l=f.key;for(k=d;null!==k;){if(k.key===l)if(7===k.tag?f.type===Ia:k.elementType===f.type){c(a,k.sibling);d=e(k,f.type===Ia?f.props.children:f.props,h);d.ref=Yg(a,k,f);d.return=a;a=d;break a}else{c(a,\nk);break}else b(a,k);k=k.sibling}f.type===Ia?(d=eh(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=ch(f.type,f.key,f.props,null,a.mode,h),h.ref=Yg(a,d,f),h.return=a,a=h)}return g(a);case Ha:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[],h);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=dh(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===\ntypeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f,h),d.return=a,a=d):(c(a,d),d=bh(f,a.mode,h),d.return=a,a=d),g(a);if(Xg(f))return z(a,d,f,h);if(Ua(f))return ta(a,d,f,h);l&&Zg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var fh=$g(!0),gh=$g(!1),hh={},ih={current:hh},jh={current:hh},kh={current:hh};function lh(a){if(a===hh)throw Error(u(174));return a}\nfunction mh(a,b){I(kh,b,a);I(jh,a,a);I(ih,hh,a);var c=b.nodeType;switch(c){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Qb(null,\"\");break;default:c=8===c?b.parentNode:b,b=c.namespaceURI||null,c=c.tagName,b=Qb(b,c)}G(ih,a);I(ih,b,a)}function nh(a){G(ih,a);G(jh,a);G(kh,a)}function oh(a){lh(kh.current);var b=lh(ih.current);var c=Qb(b,a.type);b!==c&&(I(jh,a,a),I(ih,c,a))}function ph(a){jh.current===a&&(G(ih,a),G(jh,a))}var M={current:0};\nfunction qh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===je||c.data===ke))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function rh(a,b){return{responder:a,props:b}}\nvar sh=Ea.ReactCurrentDispatcher,N=Ea.ReactCurrentBatchConfig,th=0,uh=null,O=null,vh=null,wh=null,P=null,xh=null,yh=0,zh=null,Ah=0,Bh=!1,Ch=null,Gh=0;function Q(){throw Error(u(321));}function Hh(a,b){if(null===b)return!1;for(var c=0;cyh&&(yh=m,Jg(yh))):(Ig(m,k.suspenseConfig),f=k.eagerReducer===a?k.eagerState:a(f,k.action));g=k;k=k.next}while(null!==k&&k!==d);l||(h=g,e=f);of(f,b.memoizedState)||(wg=!0);b.memoizedState=f;b.baseUpdate=h;b.baseState=e;c.lastRenderedState=f}return[b.memoizedState,c.dispatch]}\nfunction Rh(a){var b=Nh();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={last:null,dispatch:null,lastRenderedReducer:Ph,lastRenderedState:a};a=a.dispatch=Sh.bind(null,uh,a);return[b.memoizedState,a]}function Th(a){return Qh(Ph,a)}function Uh(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};null===zh?(zh={lastEffect:null},zh.lastEffect=a.next=a):(b=zh.lastEffect,null===b?zh.lastEffect=a.next=a:(c=b.next,b.next=a,a.next=c,zh.lastEffect=a));return a}\nfunction Vh(a,b,c,d){var e=Nh();Ah|=a;e.memoizedState=Uh(b,c,void 0,void 0===d?null:d)}function Wh(a,b,c,d){var e=Oh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&Hh(d,g.deps)){Uh(0,c,f,d);return}}Ah|=a;e.memoizedState=Uh(b,c,f,d)}function Xh(a,b){return Vh(516,192,a,b)}function Yh(a,b){return Wh(516,192,a,b)}\nfunction Zh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function $h(){}function ai(a,b){Nh().memoizedState=[a,void 0===b?null:b];return a}function bi(a,b){var c=Oh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Hh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Sh(a,b,c){if(!(25>Gh))throw Error(u(301));var d=a.alternate;if(a===uh||null!==d&&d===uh)if(Bh=!0,a={expirationTime:th,suspenseConfig:null,action:c,eagerReducer:null,eagerState:null,next:null},null===Ch&&(Ch=new Map),c=Ch.get(b),void 0===c)Ch.set(b,a);else{for(b=c;null!==b.next;)b=b.next;b.next=a}else{var e=Pg(),f=Mg.suspense;e=Qg(e,a,f);f={expirationTime:e,suspenseConfig:f,action:c,eagerReducer:null,eagerState:null,next:null};var g=b.last;if(null===g)f.next=f;else{var h=g.next;null!==h&&\n(f.next=h);g.next=f}b.last=f;if(0===a.expirationTime&&(null===d||0===d.expirationTime)&&(d=b.lastRenderedReducer,null!==d))try{var k=b.lastRenderedState,l=d(k,c);f.eagerReducer=d;f.eagerState=l;if(of(l,k))return}catch(m){}finally{}Rg(a,e)}}\nvar Lh={readContext:xg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useResponder:Q,useDeferredValue:Q,useTransition:Q},Jh={readContext:xg,useCallback:ai,useContext:xg,useEffect:Xh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Vh(4,36,Zh.bind(null,b,a),c)},useLayoutEffect:function(a,b){return Vh(4,36,a,b)},useMemo:function(a,b){var c=Nh();b=void 0===b?null:b;a=a();c.memoizedState=\n[a,b];return a},useReducer:function(a,b,c){var d=Nh();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={last:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=Sh.bind(null,uh,a);return[d.memoizedState,a]},useRef:function(a){var b=Nh();a={current:a};return b.memoizedState=a},useState:Rh,useDebugValue:$h,useResponder:rh,useDeferredValue:function(a,b){var c=Rh(a),d=c[0],e=c[1];Xh(function(){q.unstable_next(function(){var c=N.suspense;N.suspense=void 0===b?null:b;try{e(a)}finally{N.suspense=\nc}})},[a,b]);return d},useTransition:function(a){var b=Rh(!1),c=b[0],d=b[1];return[ai(function(b){d(!0);q.unstable_next(function(){var c=N.suspense;N.suspense=void 0===a?null:a;try{d(!1),b()}finally{N.suspense=c}})},[a,c]),c]}},Kh={readContext:xg,useCallback:bi,useContext:xg,useEffect:Yh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Wh(4,36,Zh.bind(null,b,a),c)},useLayoutEffect:function(a,b){return Wh(4,36,a,b)},useMemo:function(a,b){var c=Oh();b=void 0===b?\nnull:b;var d=c.memoizedState;if(null!==d&&null!==b&&Hh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a},useReducer:Qh,useRef:function(){return Oh().memoizedState},useState:Th,useDebugValue:$h,useResponder:rh,useDeferredValue:function(a,b){var c=Th(a),d=c[0],e=c[1];Yh(function(){q.unstable_next(function(){var c=N.suspense;N.suspense=void 0===b?null:b;try{e(a)}finally{N.suspense=c}})},[a,b]);return d},useTransition:function(a){var b=Th(!1),c=b[0],d=b[1];return[bi(function(b){d(!0);q.unstable_next(function(){var c=\nN.suspense;N.suspense=void 0===a?null:a;try{d(!1),b()}finally{N.suspense=c}})},[a,c]),c]}},ci=null,di=null,ei=!1;function fi(a,b){var c=gi(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}\nfunction hi(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ii(a){if(ei){var b=di;if(b){var c=b;if(!hi(a,b)){b=re(c.nextSibling);if(!b||!hi(a,b)){a.effectTag=a.effectTag&-1025|2;ei=!1;ci=a;return}fi(ci,c)}ci=a;di=re(b.firstChild)}else a.effectTag=a.effectTag&-1025|2,ei=!1,ci=a}}function ji(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;ci=a}\nfunction ki(a){if(a!==ci)return!1;if(!ei)return ji(a),ei=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!oe(b,a.memoizedProps))for(b=di;b;)fi(a,b),b=re(b.nextSibling);ji(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(u(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(c===ie){if(0===b){di=re(a.nextSibling);break a}b--}else c!==he&&c!==ke&&c!==je||b++}a=a.nextSibling}di=null}}else di=ci?re(a.stateNode.nextSibling):null;return!0}\nfunction li(){di=ci=null;ei=!1}var mi=Ea.ReactCurrentOwner,wg=!1;function R(a,b,c,d){b.child=null===a?gh(b,null,c,d):fh(b,a.child,c,d)}function ni(a,b,c,d,e){c=c.render;var f=b.ref;vg(b,e);d=Ih(a,b,c,d,f,e);if(null!==a&&!wg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),oi(a,b,e);b.effectTag|=1;R(a,b,d,e);return b.child}\nfunction pi(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!qi(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,ri(a,b,g,d,e,f);a=ch(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(eb)&&Gj.set(a,b)))}}\nfunction Kj(a,b){a.expirationTimea?b:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=hg(Lj.bind(null,a));else{var b=Oj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Pg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Xf&&Nf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?hg(Lj.bind(null,a)):gg(d,Qj.bind(null,a),{timeout:10*(1073741821-b)-cg()});a.callbackNode=b}}}\nfunction Qj(a,b){Jj=0;if(b)return b=Pg(),Rj(a,b),Z(a),null;var c=Oj(a);if(0!==c){b=a.callbackNode;if((T&(oj|pj))!==S)throw Error(u(327));Sj();a===U&&c===W||Tj(a,c);if(null!==V){var d=T;T|=oj;var e=Uj(a);do try{Vj();break}catch(h){Wj(a,h)}while(1);rg();T=d;lj.current=e;if(X===rj)throw b=wj,Tj(a,c),Mj(a,c),Z(a),b;if(null===V)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=X,U=null,d){case qj:case rj:throw Error(u(345));case sj:Rj(a,2=c){a.lastPingedTime=c;Tj(a,c);break}}f=Oj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=pe(Yj.bind(null,a),e);break}Yj(a);break;case uj:Mj(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Xj(e));if(Bj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Tj(a,c);break}e=Oj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==yj?d=10*(1073741821-yj)-cg():1073741823===xj?d=0:(d=10*(1073741821-xj)-5E3,e=cg(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*kj(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=cg()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10 component higher in the tree to provide a loading indicator or placeholder to display.\"+Xa(e))}X!==vj&&(X=sj);f=Ni(f,e);k=d;do{switch(k.tag){case 3:g=f;k.effectTag|=4096;k.expirationTime=b;var x=fj(k,g,b);Eg(k,x);break a;case 1:g=f;var A=k.type,p=k.stateNode;if(0===(k.effectTag&64)&&(\"function\"===typeof A.getDerivedStateFromError||null!==p&&\"function\"===typeof p.componentDidCatch&&\n(null===jj||!jj.has(p)))){k.effectTag|=4096;k.expirationTime=b;var t=ij(k,g,b);Eg(k,t);break a}}k=k.return}while(null!==k)}V=ek(V)}catch(v){b=v;continue}break}while(1)}function Uj(){var a=lj.current;lj.current=Lh;return null===a?Lh:a}function Ig(a,b){aAj&&(Aj=a)}function Zj(){for(;null!==V;)V=fk(V)}function Vj(){for(;null!==V&&!Of();)V=fk(V)}\nfunction fk(a){var b=gk(a.alternate,a,W);a.memoizedProps=a.pendingProps;null===b&&(b=ek(a));mj.current=null;return b}\nfunction ek(a){V=a;do{var b=V.alternate;a=V.return;if(0===(V.effectTag&2048)){a:{var c=b;b=V;var d=W;var e=b.pendingProps;switch(b.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:L(b.type)&&Ff(b);break;case 3:nh(b);Gf(b);e=b.stateNode;e.pendingContext&&(e.context=e.pendingContext,e.pendingContext=null);(null===c||null===c.child)&&ki(b)&&Ci(b);Ii(b);break;case 5:ph(b);d=lh(kh.current);var f=b.type;if(null!==c&&null!=b.stateNode)Ji(c,b,f,e,d),c.ref!==b.ref&&(b.effectTag|=128);else if(e){var g=\nlh(ih.current);if(ki(b)){e=b;var h=e.stateNode;c=e.type;var k=e.memoizedProps,l=d;h[ue]=e;h[ve]=k;f=void 0;d=h;switch(c){case \"iframe\":case \"object\":case \"embed\":F(\"load\",d);break;case \"video\":case \"audio\":for(h=0;h\\x3c/script>\",h=k.removeChild(k.firstChild)):\"string\"===typeof k.is?h=h.createElement(l,{is:k.is}):(h=h.createElement(l),\"select\"===l&&(l=h,k.multiple?l.multiple=!0:k.size&&(l.size=k.size))):h=h.createElementNS(g,l);k=h;k[ue]=c;k[ve]=e;Hi(k,b,!1,!1);b.stateNode=k;l=f;c=e;var m=d,C=Zd(l,c);switch(l){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\nk);d=c;break;case \"video\":case \"audio\":for(d=0;de.tailExpiration&&1f&&(f=c),k>f&&(f=k),d=d.sibling;e.childExpirationTime=f}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=V.firstEffect),null!==V.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=\nV.firstEffect),a.lastEffect=V.lastEffect),1a?b:a}function Yj(a){var b=dg();fg(99,ik.bind(null,a,b));return null}\nfunction ik(a,b){do Sj();while(null!==Ej);if((T&(oj|pj))!==S)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Xj(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===U&&(V=U=null,W=0);1h&&(l=h,h=g,g=l),l=de(p,g),m=de(p,h),l&&m&&(1!==v.rangeCount||v.anchorNode!==l.node||v.anchorOffset!==l.offset||v.focusNode!==m.node||v.focusOffset!==m.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),v.removeAllRanges(),g>h?(v.addRange(t),v.extend(m.node,m.offset)):(t.setEnd(m.node,m.offset),v.addRange(t))))));t=[];for(v=p;v=v.parentNode;)1===v.nodeType&&t.push({element:v,left:v.scrollLeft,top:v.scrollTop});\n\"function\"===typeof p.focus&&p.focus();for(p=0;p=c)return yi(a,b,c);I(M,M.current&\n1,b);b=oi(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1,b);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return Bi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current,b);if(!d)return null}return oi(a,b,c)}wg=!1}}else wg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Ef(b,J.current);vg(b,c);e=Ih(null,b,d,a,e,c);b.effectTag|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;Mh();if(L(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Og(b,d,g,a);e.updater=Sg;b.stateNode=e;e._reactInternalFiber=b;Wg(b,d,a,c);b=vi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;Va(e);if(1!==e._status)throw e._result;\ne=e._result;b.type=e;f=b.tag=nk(e);a=mg(e,a);switch(f){case 0:b=si(null,b,e,a,c);break;case 1:b=ui(null,b,e,a,c);break;case 11:b=ni(null,b,e,a,c);break;case 14:b=pi(null,b,e,mg(e.type,a),d,c);break;default:throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:mg(d,e),si(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:mg(d,e),ui(a,b,d,e,c);case 3:wi(b);d=b.updateQueue;if(null===d)throw Error(u(282));e=b.memoizedState;e=null!==e?e.element:\nnull;Hg(b,d,b.pendingProps,null,c);d=b.memoizedState.element;if(d===e)li(),b=oi(a,b,c);else{if(e=b.stateNode.hydrate)di=re(b.stateNode.containerInfo.firstChild),ci=b,e=ei=!0;if(e)for(c=gh(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),li();b=b.child}return b;case 5:return oh(b),null===a&&ii(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,oe(d,e)?g=null:null!==f&&oe(d,f)&&(b.effectTag|=16),ti(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=\nb.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&ii(b),null;case 13:return yi(a,b,c);case 4:return mh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=fh(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:mg(d,e),ni(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,b,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;\ne=b.pendingProps;g=b.memoizedProps;f=e.value;sg(b,f);if(null!==g){var h=g.value;f=of(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0;if(0===f){if(g.children===e.children&&!K.current){b=oi(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==k){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=Bg(c,null),l.tag=2,Dg(h,l));h.expirationTime=b&&a<=b}function Mj(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction Nj(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Rj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction rk(a,b,c,d){var e=b.current,f=Pg(),g=Mg.suspense;f=Qg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(ec(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=If(c,k,h);break a}}c=h}else c=Cf;null===b.context?b.context=c:b.pendingContext=c;b=Bg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);Dg(e,b);Rg(e,f);return f}function sk(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function tk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_ImmediatePriority=1;exports.unstable_UserBlockingPriority=2;exports.unstable_NormalPriority=3;exports.unstable_IdlePriority=5;exports.unstable_LowPriority=4;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};exports.unstable_cancelCallback=function(a){a.callback=null};\nexports.unstable_wrapCallback=function(a){var b=R;return function(){var c=R;R=b;try{return a.apply(this,arguments)}finally{R=c}}};exports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime= 0 || entry.indexOf('>') >= 0 || entry.indexOf('<') >= 0);\n };\n\n wrapCDATA = function(entry) {\n return \"\";\n };\n\n escapeCDATA = function(entry) {\n return entry.replace(']]>', ']]]]>');\n };\n\n exports.Builder = (function() {\n function Builder(opts) {\n var key, ref, value;\n this.options = {};\n ref = defaults[\"0.2\"];\n for (key in ref) {\n if (!hasProp.call(ref, key)) continue;\n value = ref[key];\n this.options[key] = value;\n }\n for (key in opts) {\n if (!hasProp.call(opts, key)) continue;\n value = opts[key];\n this.options[key] = value;\n }\n }\n\n Builder.prototype.buildObject = function(rootObj) {\n var attrkey, charkey, render, rootElement, rootName;\n attrkey = this.options.attrkey;\n charkey = this.options.charkey;\n if ((Object.keys(rootObj).length === 1) && (this.options.rootName === defaults['0.2'].rootName)) {\n rootName = Object.keys(rootObj)[0];\n rootObj = rootObj[rootName];\n } else {\n rootName = this.options.rootName;\n }\n render = (function(_this) {\n return function(element, obj) {\n var attr, child, entry, index, key, value;\n if (typeof obj !== 'object') {\n if (_this.options.cdata && requiresCDATA(obj)) {\n element.raw(wrapCDATA(obj));\n } else {\n element.txt(obj);\n }\n } else if (Array.isArray(obj)) {\n for (index in obj) {\n if (!hasProp.call(obj, index)) continue;\n child = obj[index];\n for (key in child) {\n entry = child[key];\n element = render(element.ele(key), entry).up();\n }\n }\n } else {\n for (key in obj) {\n if (!hasProp.call(obj, key)) continue;\n child = obj[key];\n if (key === attrkey) {\n if (typeof child === \"object\") {\n for (attr in child) {\n value = child[attr];\n element = element.att(attr, value);\n }\n }\n } else if (key === charkey) {\n if (_this.options.cdata && requiresCDATA(child)) {\n element = element.raw(wrapCDATA(child));\n } else {\n element = element.txt(child);\n }\n } else if (Array.isArray(child)) {\n for (index in child) {\n if (!hasProp.call(child, index)) continue;\n entry = child[index];\n if (typeof entry === 'string') {\n if (_this.options.cdata && requiresCDATA(entry)) {\n element = element.ele(key).raw(wrapCDATA(entry)).up();\n } else {\n element = element.ele(key, entry).up();\n }\n } else {\n element = render(element.ele(key), entry).up();\n }\n }\n } else if (typeof child === \"object\") {\n element = render(element.ele(key), child).up();\n } else {\n if (typeof child === 'string' && _this.options.cdata && requiresCDATA(child)) {\n element = element.ele(key).raw(wrapCDATA(child)).up();\n } else {\n if (child == null) {\n child = '';\n }\n element = element.ele(key, child.toString()).up();\n }\n }\n }\n }\n return element;\n };\n })(this);\n rootElement = builder.create(rootName, this.options.xmldec, this.options.doctype, {\n headless: this.options.headless,\n allowSurrogateChars: this.options.allowSurrogateChars\n });\n return render(rootElement, rootObj).end(this.options.renderOpts);\n };\n\n return Builder;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, WriterState, XMLDOMImplementation, XMLDocument, XMLDocumentCB, XMLStreamWriter, XMLStringWriter, assign, isFunction, ref;\n\n ref = require('./Utility'), assign = ref.assign, isFunction = ref.isFunction;\n\n XMLDOMImplementation = require('./XMLDOMImplementation');\n\n XMLDocument = require('./XMLDocument');\n\n XMLDocumentCB = require('./XMLDocumentCB');\n\n XMLStringWriter = require('./XMLStringWriter');\n\n XMLStreamWriter = require('./XMLStreamWriter');\n\n NodeType = require('./NodeType');\n\n WriterState = require('./WriterState');\n\n module.exports.create = function(name, xmldec, doctype, options) {\n var doc, root;\n if (name == null) {\n throw new Error(\"Root element needs a name.\");\n }\n options = assign({}, xmldec, doctype, options);\n doc = new XMLDocument(options);\n root = doc.element(name);\n if (!options.headless) {\n doc.declaration(options);\n if ((options.pubID != null) || (options.sysID != null)) {\n doc.dtd(options);\n }\n }\n return root;\n };\n\n module.exports.begin = function(options, onData, onEnd) {\n var ref1;\n if (isFunction(options)) {\n ref1 = [options, onData], onData = ref1[0], onEnd = ref1[1];\n options = {};\n }\n if (onData) {\n return new XMLDocumentCB(options, onData, onEnd);\n } else {\n return new XMLDocument(options);\n }\n };\n\n module.exports.stringWriter = function(options) {\n return new XMLStringWriter(options);\n };\n\n module.exports.streamWriter = function(stream, options) {\n return new XMLStreamWriter(stream, options);\n };\n\n module.exports.implementation = new XMLDOMImplementation();\n\n module.exports.nodeType = NodeType;\n\n module.exports.writerState = WriterState;\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLDOMConfiguration, XMLDOMErrorHandler, XMLDOMStringList;\n\n XMLDOMErrorHandler = require('./XMLDOMErrorHandler');\n\n XMLDOMStringList = require('./XMLDOMStringList');\n\n module.exports = XMLDOMConfiguration = (function() {\n function XMLDOMConfiguration() {\n var clonedSelf;\n this.defaultParams = {\n \"canonical-form\": false,\n \"cdata-sections\": false,\n \"comments\": false,\n \"datatype-normalization\": false,\n \"element-content-whitespace\": true,\n \"entities\": true,\n \"error-handler\": new XMLDOMErrorHandler(),\n \"infoset\": true,\n \"validate-if-schema\": false,\n \"namespaces\": true,\n \"namespace-declarations\": true,\n \"normalize-characters\": false,\n \"schema-location\": '',\n \"schema-type\": '',\n \"split-cdata-sections\": true,\n \"validate\": false,\n \"well-formed\": true\n };\n this.params = clonedSelf = Object.create(this.defaultParams);\n }\n\n Object.defineProperty(XMLDOMConfiguration.prototype, 'parameterNames', {\n get: function() {\n return new XMLDOMStringList(Object.keys(this.defaultParams));\n }\n });\n\n XMLDOMConfiguration.prototype.getParameter = function(name) {\n if (this.params.hasOwnProperty(name)) {\n return this.params[name];\n } else {\n return null;\n }\n };\n\n XMLDOMConfiguration.prototype.canSetParameter = function(name, value) {\n return true;\n };\n\n XMLDOMConfiguration.prototype.setParameter = function(name, value) {\n if (value != null) {\n return this.params[name] = value;\n } else {\n return delete this.params[name];\n }\n };\n\n return XMLDOMConfiguration;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLDOMErrorHandler;\n\n module.exports = XMLDOMErrorHandler = (function() {\n function XMLDOMErrorHandler() {}\n\n XMLDOMErrorHandler.prototype.handleError = function(error) {\n throw new Error(error);\n };\n\n return XMLDOMErrorHandler;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLDOMStringList;\n\n module.exports = XMLDOMStringList = (function() {\n function XMLDOMStringList(arr) {\n this.arr = arr || [];\n }\n\n Object.defineProperty(XMLDOMStringList.prototype, 'length', {\n get: function() {\n return this.arr.length;\n }\n });\n\n XMLDOMStringList.prototype.item = function(index) {\n return this.arr[index] || null;\n };\n\n XMLDOMStringList.prototype.contains = function(str) {\n return this.arr.indexOf(str) !== -1;\n };\n\n return XMLDOMStringList;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLNodeList;\n\n module.exports = XMLNodeList = (function() {\n function XMLNodeList(nodes) {\n this.nodes = nodes;\n }\n\n Object.defineProperty(XMLNodeList.prototype, 'length', {\n get: function() {\n return this.nodes.length || 0;\n }\n });\n\n XMLNodeList.prototype.clone = function() {\n return this.nodes = null;\n };\n\n XMLNodeList.prototype.item = function(index) {\n return this.nodes[index] || null;\n };\n\n return XMLNodeList;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n module.exports = {\n Disconnected: 1,\n Preceding: 2,\n Following: 4,\n Contains: 8,\n ContainedBy: 16,\n ImplementationSpecific: 32\n };\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, WriterState, XMLAttribute, XMLCData, XMLComment, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDeclaration, XMLDocType, XMLDocument, XMLDocumentCB, XMLElement, XMLProcessingInstruction, XMLRaw, XMLStringWriter, XMLStringifier, XMLText, getValue, isFunction, isObject, isPlainObject, ref,\n hasProp = {}.hasOwnProperty;\n\n ref = require('./Utility'), isObject = ref.isObject, isFunction = ref.isFunction, isPlainObject = ref.isPlainObject, getValue = ref.getValue;\n\n NodeType = require('./NodeType');\n\n XMLDocument = require('./XMLDocument');\n\n XMLElement = require('./XMLElement');\n\n XMLCData = require('./XMLCData');\n\n XMLComment = require('./XMLComment');\n\n XMLRaw = require('./XMLRaw');\n\n XMLText = require('./XMLText');\n\n XMLProcessingInstruction = require('./XMLProcessingInstruction');\n\n XMLDeclaration = require('./XMLDeclaration');\n\n XMLDocType = require('./XMLDocType');\n\n XMLDTDAttList = require('./XMLDTDAttList');\n\n XMLDTDEntity = require('./XMLDTDEntity');\n\n XMLDTDElement = require('./XMLDTDElement');\n\n XMLDTDNotation = require('./XMLDTDNotation');\n\n XMLAttribute = require('./XMLAttribute');\n\n XMLStringifier = require('./XMLStringifier');\n\n XMLStringWriter = require('./XMLStringWriter');\n\n WriterState = require('./WriterState');\n\n module.exports = XMLDocumentCB = (function() {\n function XMLDocumentCB(options, onData, onEnd) {\n var writerOptions;\n this.name = \"?xml\";\n this.type = NodeType.Document;\n options || (options = {});\n writerOptions = {};\n if (!options.writer) {\n options.writer = new XMLStringWriter();\n } else if (isPlainObject(options.writer)) {\n writerOptions = options.writer;\n options.writer = new XMLStringWriter();\n }\n this.options = options;\n this.writer = options.writer;\n this.writerOptions = this.writer.filterOptions(writerOptions);\n this.stringify = new XMLStringifier(options);\n this.onDataCallback = onData || function() {};\n this.onEndCallback = onEnd || function() {};\n this.currentNode = null;\n this.currentLevel = -1;\n this.openTags = {};\n this.documentStarted = false;\n this.documentCompleted = false;\n this.root = null;\n }\n\n XMLDocumentCB.prototype.createChildNode = function(node) {\n var att, attName, attributes, child, i, len, ref1, ref2;\n switch (node.type) {\n case NodeType.CData:\n this.cdata(node.value);\n break;\n case NodeType.Comment:\n this.comment(node.value);\n break;\n case NodeType.Element:\n attributes = {};\n ref1 = node.attribs;\n for (attName in ref1) {\n if (!hasProp.call(ref1, attName)) continue;\n att = ref1[attName];\n attributes[attName] = att.value;\n }\n this.node(node.name, attributes);\n break;\n case NodeType.Dummy:\n this.dummy();\n break;\n case NodeType.Raw:\n this.raw(node.value);\n break;\n case NodeType.Text:\n this.text(node.value);\n break;\n case NodeType.ProcessingInstruction:\n this.instruction(node.target, node.value);\n break;\n default:\n throw new Error(\"This XML node type is not supported in a JS object: \" + node.constructor.name);\n }\n ref2 = node.children;\n for (i = 0, len = ref2.length; i < len; i++) {\n child = ref2[i];\n this.createChildNode(child);\n if (child.type === NodeType.Element) {\n this.up();\n }\n }\n return this;\n };\n\n XMLDocumentCB.prototype.dummy = function() {\n return this;\n };\n\n XMLDocumentCB.prototype.node = function(name, attributes, text) {\n var ref1;\n if (name == null) {\n throw new Error(\"Missing node name.\");\n }\n if (this.root && this.currentLevel === -1) {\n throw new Error(\"Document can only have one root node. \" + this.debugInfo(name));\n }\n this.openCurrent();\n name = getValue(name);\n if (attributes == null) {\n attributes = {};\n }\n attributes = getValue(attributes);\n if (!isObject(attributes)) {\n ref1 = [attributes, text], text = ref1[0], attributes = ref1[1];\n }\n this.currentNode = new XMLElement(this, name, attributes);\n this.currentNode.children = false;\n this.currentLevel++;\n this.openTags[this.currentLevel] = this.currentNode;\n if (text != null) {\n this.text(text);\n }\n return this;\n };\n\n XMLDocumentCB.prototype.element = function(name, attributes, text) {\n var child, i, len, oldValidationFlag, ref1, root;\n if (this.currentNode && this.currentNode.type === NodeType.DocType) {\n this.dtdElement.apply(this, arguments);\n } else {\n if (Array.isArray(name) || isObject(name) || isFunction(name)) {\n oldValidationFlag = this.options.noValidation;\n this.options.noValidation = true;\n root = new XMLDocument(this.options).element('TEMP_ROOT');\n root.element(name);\n this.options.noValidation = oldValidationFlag;\n ref1 = root.children;\n for (i = 0, len = ref1.length; i < len; i++) {\n child = ref1[i];\n this.createChildNode(child);\n if (child.type === NodeType.Element) {\n this.up();\n }\n }\n } else {\n this.node(name, attributes, text);\n }\n }\n return this;\n };\n\n XMLDocumentCB.prototype.attribute = function(name, value) {\n var attName, attValue;\n if (!this.currentNode || this.currentNode.children) {\n throw new Error(\"att() can only be used immediately after an ele() call in callback mode. \" + this.debugInfo(name));\n }\n if (name != null) {\n name = getValue(name);\n }\n if (isObject(name)) {\n for (attName in name) {\n if (!hasProp.call(name, attName)) continue;\n attValue = name[attName];\n this.attribute(attName, attValue);\n }\n } else {\n if (isFunction(value)) {\n value = value.apply();\n }\n if (this.options.keepNullAttributes && (value == null)) {\n this.currentNode.attribs[name] = new XMLAttribute(this, name, \"\");\n } else if (value != null) {\n this.currentNode.attribs[name] = new XMLAttribute(this, name, value);\n }\n }\n return this;\n };\n\n XMLDocumentCB.prototype.text = function(value) {\n var node;\n this.openCurrent();\n node = new XMLText(this, value);\n this.onData(this.writer.text(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.cdata = function(value) {\n var node;\n this.openCurrent();\n node = new XMLCData(this, value);\n this.onData(this.writer.cdata(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.comment = function(value) {\n var node;\n this.openCurrent();\n node = new XMLComment(this, value);\n this.onData(this.writer.comment(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.raw = function(value) {\n var node;\n this.openCurrent();\n node = new XMLRaw(this, value);\n this.onData(this.writer.raw(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.instruction = function(target, value) {\n var i, insTarget, insValue, len, node;\n this.openCurrent();\n if (target != null) {\n target = getValue(target);\n }\n if (value != null) {\n value = getValue(value);\n }\n if (Array.isArray(target)) {\n for (i = 0, len = target.length; i < len; i++) {\n insTarget = target[i];\n this.instruction(insTarget);\n }\n } else if (isObject(target)) {\n for (insTarget in target) {\n if (!hasProp.call(target, insTarget)) continue;\n insValue = target[insTarget];\n this.instruction(insTarget, insValue);\n }\n } else {\n if (isFunction(value)) {\n value = value.apply();\n }\n node = new XMLProcessingInstruction(this, target, value);\n this.onData(this.writer.processingInstruction(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n }\n return this;\n };\n\n XMLDocumentCB.prototype.declaration = function(version, encoding, standalone) {\n var node;\n this.openCurrent();\n if (this.documentStarted) {\n throw new Error(\"declaration() must be the first node.\");\n }\n node = new XMLDeclaration(this, version, encoding, standalone);\n this.onData(this.writer.declaration(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.doctype = function(root, pubID, sysID) {\n this.openCurrent();\n if (root == null) {\n throw new Error(\"Missing root node name.\");\n }\n if (this.root) {\n throw new Error(\"dtd() must come before the root node.\");\n }\n this.currentNode = new XMLDocType(this, pubID, sysID);\n this.currentNode.rootNodeName = root;\n this.currentNode.children = false;\n this.currentLevel++;\n this.openTags[this.currentLevel] = this.currentNode;\n return this;\n };\n\n XMLDocumentCB.prototype.dtdElement = function(name, value) {\n var node;\n this.openCurrent();\n node = new XMLDTDElement(this, name, value);\n this.onData(this.writer.dtdElement(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.attList = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {\n var node;\n this.openCurrent();\n node = new XMLDTDAttList(this, elementName, attributeName, attributeType, defaultValueType, defaultValue);\n this.onData(this.writer.dtdAttList(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.entity = function(name, value) {\n var node;\n this.openCurrent();\n node = new XMLDTDEntity(this, false, name, value);\n this.onData(this.writer.dtdEntity(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.pEntity = function(name, value) {\n var node;\n this.openCurrent();\n node = new XMLDTDEntity(this, true, name, value);\n this.onData(this.writer.dtdEntity(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.notation = function(name, value) {\n var node;\n this.openCurrent();\n node = new XMLDTDNotation(this, name, value);\n this.onData(this.writer.dtdNotation(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.up = function() {\n if (this.currentLevel < 0) {\n throw new Error(\"The document node has no parent.\");\n }\n if (this.currentNode) {\n if (this.currentNode.children) {\n this.closeNode(this.currentNode);\n } else {\n this.openNode(this.currentNode);\n }\n this.currentNode = null;\n } else {\n this.closeNode(this.openTags[this.currentLevel]);\n }\n delete this.openTags[this.currentLevel];\n this.currentLevel--;\n return this;\n };\n\n XMLDocumentCB.prototype.end = function() {\n while (this.currentLevel >= 0) {\n this.up();\n }\n return this.onEnd();\n };\n\n XMLDocumentCB.prototype.openCurrent = function() {\n if (this.currentNode) {\n this.currentNode.children = true;\n return this.openNode(this.currentNode);\n }\n };\n\n XMLDocumentCB.prototype.openNode = function(node) {\n var att, chunk, name, ref1;\n if (!node.isOpen) {\n if (!this.root && this.currentLevel === 0 && node.type === NodeType.Element) {\n this.root = node;\n }\n chunk = '';\n if (node.type === NodeType.Element) {\n this.writerOptions.state = WriterState.OpenTag;\n chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + '<' + node.name;\n ref1 = node.attribs;\n for (name in ref1) {\n if (!hasProp.call(ref1, name)) continue;\n att = ref1[name];\n chunk += this.writer.attribute(att, this.writerOptions, this.currentLevel);\n }\n chunk += (node.children ? '>' : '/>') + this.writer.endline(node, this.writerOptions, this.currentLevel);\n this.writerOptions.state = WriterState.InsideTag;\n } else {\n this.writerOptions.state = WriterState.OpenTag;\n chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + '';\n }\n chunk += this.writer.endline(node, this.writerOptions, this.currentLevel);\n }\n this.onData(chunk, this.currentLevel);\n return node.isOpen = true;\n }\n };\n\n XMLDocumentCB.prototype.closeNode = function(node) {\n var chunk;\n if (!node.isClosed) {\n chunk = '';\n this.writerOptions.state = WriterState.CloseTag;\n if (node.type === NodeType.Element) {\n chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + '' + this.writer.endline(node, this.writerOptions, this.currentLevel);\n } else {\n chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + ']>' + this.writer.endline(node, this.writerOptions, this.currentLevel);\n }\n this.writerOptions.state = WriterState.None;\n this.onData(chunk, this.currentLevel);\n return node.isClosed = true;\n }\n };\n\n XMLDocumentCB.prototype.onData = function(chunk, level) {\n this.documentStarted = true;\n return this.onDataCallback(chunk, level + 1);\n };\n\n XMLDocumentCB.prototype.onEnd = function() {\n this.documentCompleted = true;\n return this.onEndCallback();\n };\n\n XMLDocumentCB.prototype.debugInfo = function(name) {\n if (name == null) {\n return \"\";\n } else {\n return \"node: <\" + name + \">\";\n }\n };\n\n XMLDocumentCB.prototype.ele = function() {\n return this.element.apply(this, arguments);\n };\n\n XMLDocumentCB.prototype.nod = function(name, attributes, text) {\n return this.node(name, attributes, text);\n };\n\n XMLDocumentCB.prototype.txt = function(value) {\n return this.text(value);\n };\n\n XMLDocumentCB.prototype.dat = function(value) {\n return this.cdata(value);\n };\n\n XMLDocumentCB.prototype.com = function(value) {\n return this.comment(value);\n };\n\n XMLDocumentCB.prototype.ins = function(target, value) {\n return this.instruction(target, value);\n };\n\n XMLDocumentCB.prototype.dec = function(version, encoding, standalone) {\n return this.declaration(version, encoding, standalone);\n };\n\n XMLDocumentCB.prototype.dtd = function(root, pubID, sysID) {\n return this.doctype(root, pubID, sysID);\n };\n\n XMLDocumentCB.prototype.e = function(name, attributes, text) {\n return this.element(name, attributes, text);\n };\n\n XMLDocumentCB.prototype.n = function(name, attributes, text) {\n return this.node(name, attributes, text);\n };\n\n XMLDocumentCB.prototype.t = function(value) {\n return this.text(value);\n };\n\n XMLDocumentCB.prototype.d = function(value) {\n return this.cdata(value);\n };\n\n XMLDocumentCB.prototype.c = function(value) {\n return this.comment(value);\n };\n\n XMLDocumentCB.prototype.r = function(value) {\n return this.raw(value);\n };\n\n XMLDocumentCB.prototype.i = function(target, value) {\n return this.instruction(target, value);\n };\n\n XMLDocumentCB.prototype.att = function() {\n if (this.currentNode && this.currentNode.type === NodeType.DocType) {\n return this.attList.apply(this, arguments);\n } else {\n return this.attribute.apply(this, arguments);\n }\n };\n\n XMLDocumentCB.prototype.a = function() {\n if (this.currentNode && this.currentNode.type === NodeType.DocType) {\n return this.attList.apply(this, arguments);\n } else {\n return this.attribute.apply(this, arguments);\n }\n };\n\n XMLDocumentCB.prototype.ent = function(name, value) {\n return this.entity(name, value);\n };\n\n XMLDocumentCB.prototype.pent = function(name, value) {\n return this.pEntity(name, value);\n };\n\n XMLDocumentCB.prototype.not = function(name, value) {\n return this.notation(name, value);\n };\n\n return XMLDocumentCB;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, WriterState, XMLStreamWriter, XMLWriterBase,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLWriterBase = require('./XMLWriterBase');\n\n WriterState = require('./WriterState');\n\n module.exports = XMLStreamWriter = (function(superClass) {\n extend(XMLStreamWriter, superClass);\n\n function XMLStreamWriter(stream, options) {\n this.stream = stream;\n XMLStreamWriter.__super__.constructor.call(this, options);\n }\n\n XMLStreamWriter.prototype.endline = function(node, options, level) {\n if (node.isLastRootNode && options.state === WriterState.CloseTag) {\n return '';\n } else {\n return XMLStreamWriter.__super__.endline.call(this, node, options, level);\n }\n };\n\n XMLStreamWriter.prototype.document = function(doc, options) {\n var child, i, j, k, len, len1, ref, ref1, results;\n ref = doc.children;\n for (i = j = 0, len = ref.length; j < len; i = ++j) {\n child = ref[i];\n child.isLastRootNode = i === doc.children.length - 1;\n }\n options = this.filterOptions(options);\n ref1 = doc.children;\n results = [];\n for (k = 0, len1 = ref1.length; k < len1; k++) {\n child = ref1[k];\n results.push(this.writeChildNode(child, options, 0));\n }\n return results;\n };\n\n XMLStreamWriter.prototype.attribute = function(att, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.attribute.call(this, att, options, level));\n };\n\n XMLStreamWriter.prototype.cdata = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.cdata.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.comment = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.comment.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.declaration = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.declaration.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.docType = function(node, options, level) {\n var child, j, len, ref;\n level || (level = 0);\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n this.stream.write(this.indent(node, options, level));\n this.stream.write(' 0) {\n this.stream.write(' [');\n this.stream.write(this.endline(node, options, level));\n options.state = WriterState.InsideTag;\n ref = node.children;\n for (j = 0, len = ref.length; j < len; j++) {\n child = ref[j];\n this.writeChildNode(child, options, level + 1);\n }\n options.state = WriterState.CloseTag;\n this.stream.write(']');\n }\n options.state = WriterState.CloseTag;\n this.stream.write(options.spaceBeforeSlash + '>');\n this.stream.write(this.endline(node, options, level));\n options.state = WriterState.None;\n return this.closeNode(node, options, level);\n };\n\n XMLStreamWriter.prototype.element = function(node, options, level) {\n var att, child, childNodeCount, firstChildNode, j, len, name, prettySuppressed, ref, ref1;\n level || (level = 0);\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n this.stream.write(this.indent(node, options, level) + '<' + node.name);\n ref = node.attribs;\n for (name in ref) {\n if (!hasProp.call(ref, name)) continue;\n att = ref[name];\n this.attribute(att, options, level);\n }\n childNodeCount = node.children.length;\n firstChildNode = childNodeCount === 0 ? null : node.children[0];\n if (childNodeCount === 0 || node.children.every(function(e) {\n return (e.type === NodeType.Text || e.type === NodeType.Raw) && e.value === '';\n })) {\n if (options.allowEmpty) {\n this.stream.write('>');\n options.state = WriterState.CloseTag;\n this.stream.write('');\n } else {\n options.state = WriterState.CloseTag;\n this.stream.write(options.spaceBeforeSlash + '/>');\n }\n } else if (options.pretty && childNodeCount === 1 && (firstChildNode.type === NodeType.Text || firstChildNode.type === NodeType.Raw) && (firstChildNode.value != null)) {\n this.stream.write('>');\n options.state = WriterState.InsideTag;\n options.suppressPrettyCount++;\n prettySuppressed = true;\n this.writeChildNode(firstChildNode, options, level + 1);\n options.suppressPrettyCount--;\n prettySuppressed = false;\n options.state = WriterState.CloseTag;\n this.stream.write('');\n } else {\n this.stream.write('>' + this.endline(node, options, level));\n options.state = WriterState.InsideTag;\n ref1 = node.children;\n for (j = 0, len = ref1.length; j < len; j++) {\n child = ref1[j];\n this.writeChildNode(child, options, level + 1);\n }\n options.state = WriterState.CloseTag;\n this.stream.write(this.indent(node, options, level) + '');\n }\n this.stream.write(this.endline(node, options, level));\n options.state = WriterState.None;\n return this.closeNode(node, options, level);\n };\n\n XMLStreamWriter.prototype.processingInstruction = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.processingInstruction.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.raw = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.raw.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.text = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.text.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.dtdAttList = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.dtdAttList.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.dtdElement = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.dtdElement.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.dtdEntity = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.dtdEntity.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.dtdNotation = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.dtdNotation.call(this, node, options, level));\n };\n\n return XMLStreamWriter;\n\n })(XMLWriterBase);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n \"use strict\";\n var bom, defaults, events, isEmpty, processItem, processors, sax, setImmediate,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n sax = require('sax');\n\n events = require('events');\n\n bom = require('./bom');\n\n processors = require('./processors');\n\n setImmediate = require('timers').setImmediate;\n\n defaults = require('./defaults').defaults;\n\n isEmpty = function(thing) {\n return typeof thing === \"object\" && (thing != null) && Object.keys(thing).length === 0;\n };\n\n processItem = function(processors, item, key) {\n var i, len, process;\n for (i = 0, len = processors.length; i < len; i++) {\n process = processors[i];\n item = process(item, key);\n }\n return item;\n };\n\n exports.Parser = (function(superClass) {\n extend(Parser, superClass);\n\n function Parser(opts) {\n this.parseStringPromise = bind(this.parseStringPromise, this);\n this.parseString = bind(this.parseString, this);\n this.reset = bind(this.reset, this);\n this.assignOrPush = bind(this.assignOrPush, this);\n this.processAsync = bind(this.processAsync, this);\n var key, ref, value;\n if (!(this instanceof exports.Parser)) {\n return new exports.Parser(opts);\n }\n this.options = {};\n ref = defaults[\"0.2\"];\n for (key in ref) {\n if (!hasProp.call(ref, key)) continue;\n value = ref[key];\n this.options[key] = value;\n }\n for (key in opts) {\n if (!hasProp.call(opts, key)) continue;\n value = opts[key];\n this.options[key] = value;\n }\n if (this.options.xmlns) {\n this.options.xmlnskey = this.options.attrkey + \"ns\";\n }\n if (this.options.normalizeTags) {\n if (!this.options.tagNameProcessors) {\n this.options.tagNameProcessors = [];\n }\n this.options.tagNameProcessors.unshift(processors.normalize);\n }\n this.reset();\n }\n\n Parser.prototype.processAsync = function() {\n var chunk, err;\n try {\n if (this.remaining.length <= this.options.chunkSize) {\n chunk = this.remaining;\n this.remaining = '';\n this.saxParser = this.saxParser.write(chunk);\n return this.saxParser.close();\n } else {\n chunk = this.remaining.substr(0, this.options.chunkSize);\n this.remaining = this.remaining.substr(this.options.chunkSize, this.remaining.length);\n this.saxParser = this.saxParser.write(chunk);\n return setImmediate(this.processAsync);\n }\n } catch (error1) {\n err = error1;\n if (!this.saxParser.errThrown) {\n this.saxParser.errThrown = true;\n return this.emit(err);\n }\n }\n };\n\n Parser.prototype.assignOrPush = function(obj, key, newValue) {\n if (!(key in obj)) {\n if (!this.options.explicitArray) {\n return obj[key] = newValue;\n } else {\n return obj[key] = [newValue];\n }\n } else {\n if (!(obj[key] instanceof Array)) {\n obj[key] = [obj[key]];\n }\n return obj[key].push(newValue);\n }\n };\n\n Parser.prototype.reset = function() {\n var attrkey, charkey, ontext, stack;\n this.removeAllListeners();\n this.saxParser = sax.parser(this.options.strict, {\n trim: false,\n normalize: false,\n xmlns: this.options.xmlns\n });\n this.saxParser.errThrown = false;\n this.saxParser.onerror = (function(_this) {\n return function(error) {\n _this.saxParser.resume();\n if (!_this.saxParser.errThrown) {\n _this.saxParser.errThrown = true;\n return _this.emit(\"error\", error);\n }\n };\n })(this);\n this.saxParser.onend = (function(_this) {\n return function() {\n if (!_this.saxParser.ended) {\n _this.saxParser.ended = true;\n return _this.emit(\"end\", _this.resultObject);\n }\n };\n })(this);\n this.saxParser.ended = false;\n this.EXPLICIT_CHARKEY = this.options.explicitCharkey;\n this.resultObject = null;\n stack = [];\n attrkey = this.options.attrkey;\n charkey = this.options.charkey;\n this.saxParser.onopentag = (function(_this) {\n return function(node) {\n var key, newValue, obj, processedKey, ref;\n obj = {};\n obj[charkey] = \"\";\n if (!_this.options.ignoreAttrs) {\n ref = node.attributes;\n for (key in ref) {\n if (!hasProp.call(ref, key)) continue;\n if (!(attrkey in obj) && !_this.options.mergeAttrs) {\n obj[attrkey] = {};\n }\n newValue = _this.options.attrValueProcessors ? processItem(_this.options.attrValueProcessors, node.attributes[key], key) : node.attributes[key];\n processedKey = _this.options.attrNameProcessors ? processItem(_this.options.attrNameProcessors, key) : key;\n if (_this.options.mergeAttrs) {\n _this.assignOrPush(obj, processedKey, newValue);\n } else {\n obj[attrkey][processedKey] = newValue;\n }\n }\n }\n obj[\"#name\"] = _this.options.tagNameProcessors ? processItem(_this.options.tagNameProcessors, node.name) : node.name;\n if (_this.options.xmlns) {\n obj[_this.options.xmlnskey] = {\n uri: node.uri,\n local: node.local\n };\n }\n return stack.push(obj);\n };\n })(this);\n this.saxParser.onclosetag = (function(_this) {\n return function() {\n var cdata, emptyStr, key, node, nodeName, obj, objClone, old, s, xpath;\n obj = stack.pop();\n nodeName = obj[\"#name\"];\n if (!_this.options.explicitChildren || !_this.options.preserveChildrenOrder) {\n delete obj[\"#name\"];\n }\n if (obj.cdata === true) {\n cdata = obj.cdata;\n delete obj.cdata;\n }\n s = stack[stack.length - 1];\n if (obj[charkey].match(/^\\s*$/) && !cdata) {\n emptyStr = obj[charkey];\n delete obj[charkey];\n } else {\n if (_this.options.trim) {\n obj[charkey] = obj[charkey].trim();\n }\n if (_this.options.normalize) {\n obj[charkey] = obj[charkey].replace(/\\s{2,}/g, \" \").trim();\n }\n obj[charkey] = _this.options.valueProcessors ? processItem(_this.options.valueProcessors, obj[charkey], nodeName) : obj[charkey];\n if (Object.keys(obj).length === 1 && charkey in obj && !_this.EXPLICIT_CHARKEY) {\n obj = obj[charkey];\n }\n }\n if (isEmpty(obj)) {\n obj = _this.options.emptyTag !== '' ? _this.options.emptyTag : emptyStr;\n }\n if (_this.options.validator != null) {\n xpath = \"/\" + ((function() {\n var i, len, results;\n results = [];\n for (i = 0, len = stack.length; i < len; i++) {\n node = stack[i];\n results.push(node[\"#name\"]);\n }\n return results;\n })()).concat(nodeName).join(\"/\");\n (function() {\n var err;\n try {\n return obj = _this.options.validator(xpath, s && s[nodeName], obj);\n } catch (error1) {\n err = error1;\n return _this.emit(\"error\", err);\n }\n })();\n }\n if (_this.options.explicitChildren && !_this.options.mergeAttrs && typeof obj === 'object') {\n if (!_this.options.preserveChildrenOrder) {\n node = {};\n if (_this.options.attrkey in obj) {\n node[_this.options.attrkey] = obj[_this.options.attrkey];\n delete obj[_this.options.attrkey];\n }\n if (!_this.options.charsAsChildren && _this.options.charkey in obj) {\n node[_this.options.charkey] = obj[_this.options.charkey];\n delete obj[_this.options.charkey];\n }\n if (Object.getOwnPropertyNames(obj).length > 0) {\n node[_this.options.childkey] = obj;\n }\n obj = node;\n } else if (s) {\n s[_this.options.childkey] = s[_this.options.childkey] || [];\n objClone = {};\n for (key in obj) {\n if (!hasProp.call(obj, key)) continue;\n objClone[key] = obj[key];\n }\n s[_this.options.childkey].push(objClone);\n delete obj[\"#name\"];\n if (Object.keys(obj).length === 1 && charkey in obj && !_this.EXPLICIT_CHARKEY) {\n obj = obj[charkey];\n }\n }\n }\n if (stack.length > 0) {\n return _this.assignOrPush(s, nodeName, obj);\n } else {\n if (_this.options.explicitRoot) {\n old = obj;\n obj = {};\n obj[nodeName] = old;\n }\n _this.resultObject = obj;\n _this.saxParser.ended = true;\n return _this.emit(\"end\", _this.resultObject);\n }\n };\n })(this);\n ontext = (function(_this) {\n return function(text) {\n var charChild, s;\n s = stack[stack.length - 1];\n if (s) {\n s[charkey] += text;\n if (_this.options.explicitChildren && _this.options.preserveChildrenOrder && _this.options.charsAsChildren && (_this.options.includeWhiteChars || text.replace(/\\\\n/g, '').trim() !== '')) {\n s[_this.options.childkey] = s[_this.options.childkey] || [];\n charChild = {\n '#name': '__text__'\n };\n charChild[charkey] = text;\n if (_this.options.normalize) {\n charChild[charkey] = charChild[charkey].replace(/\\s{2,}/g, \" \").trim();\n }\n s[_this.options.childkey].push(charChild);\n }\n return s;\n }\n };\n })(this);\n this.saxParser.ontext = ontext;\n return this.saxParser.oncdata = (function(_this) {\n return function(text) {\n var s;\n s = ontext(text);\n if (s) {\n return s.cdata = true;\n }\n };\n })(this);\n };\n\n Parser.prototype.parseString = function(str, cb) {\n var err;\n if ((cb != null) && typeof cb === \"function\") {\n this.on(\"end\", function(result) {\n this.reset();\n return cb(null, result);\n });\n this.on(\"error\", function(err) {\n this.reset();\n return cb(err);\n });\n }\n try {\n str = str.toString();\n if (str.trim() === '') {\n this.emit(\"end\", null);\n return true;\n }\n str = bom.stripBOM(str);\n if (this.options.async) {\n this.remaining = str;\n setImmediate(this.processAsync);\n return this.saxParser;\n }\n return this.saxParser.write(str).close();\n } catch (error1) {\n err = error1;\n if (!(this.saxParser.errThrown || this.saxParser.ended)) {\n this.emit('error', err);\n return this.saxParser.errThrown = true;\n } else if (this.saxParser.ended) {\n throw err;\n }\n }\n };\n\n Parser.prototype.parseStringPromise = function(str) {\n return new Promise((function(_this) {\n return function(resolve, reject) {\n return _this.parseString(str, function(err, value) {\n if (err) {\n return reject(err);\n } else {\n return resolve(value);\n }\n });\n };\n })(this));\n };\n\n return Parser;\n\n })(events);\n\n exports.parseString = function(str, a, b) {\n var cb, options, parser;\n if (b != null) {\n if (typeof b === 'function') {\n cb = b;\n }\n if (typeof a === 'object') {\n options = a;\n }\n } else {\n if (typeof a === 'function') {\n cb = a;\n }\n options = {};\n }\n parser = new exports.Parser(options);\n return parser.parseString(str, cb);\n };\n\n exports.parseStringPromise = function(str, a) {\n var options, parser;\n if (typeof a === 'object') {\n options = a;\n }\n parser = new exports.Parser(options);\n return parser.parseStringPromise(str);\n };\n\n}).call(this);\n",";(function (sax) { // wrapper for non-node envs\n sax.parser = function (strict, opt) { return new SAXParser(strict, opt) }\n sax.SAXParser = SAXParser\n sax.SAXStream = SAXStream\n sax.createStream = createStream\n\n // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns.\n // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)),\n // since that's the earliest that a buffer overrun could occur. This way, checks are\n // as rare as required, but as often as necessary to ensure never crossing this bound.\n // Furthermore, buffers are only tested at most once per write(), so passing a very\n // large string into write() might have undesirable effects, but this is manageable by\n // the caller, so it is assumed to be safe. Thus, a call to write() may, in the extreme\n // edge case, result in creating at most one complete copy of the string passed in.\n // Set to Infinity to have unlimited buffers.\n sax.MAX_BUFFER_LENGTH = 64 * 1024\n\n var buffers = [\n 'comment', 'sgmlDecl', 'textNode', 'tagName', 'doctype',\n 'procInstName', 'procInstBody', 'entity', 'attribName',\n 'attribValue', 'cdata', 'script'\n ]\n\n sax.EVENTS = [\n 'text',\n 'processinginstruction',\n 'sgmldeclaration',\n 'doctype',\n 'comment',\n 'opentagstart',\n 'attribute',\n 'opentag',\n 'closetag',\n 'opencdata',\n 'cdata',\n 'closecdata',\n 'error',\n 'end',\n 'ready',\n 'script',\n 'opennamespace',\n 'closenamespace'\n ]\n\n function SAXParser (strict, opt) {\n if (!(this instanceof SAXParser)) {\n return new SAXParser(strict, opt)\n }\n\n var parser = this\n clearBuffers(parser)\n parser.q = parser.c = ''\n parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH\n parser.opt = opt || {}\n parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags\n parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase'\n parser.tags = []\n parser.closed = parser.closedRoot = parser.sawRoot = false\n parser.tag = parser.error = null\n parser.strict = !!strict\n parser.noscript = !!(strict || parser.opt.noscript)\n parser.state = S.BEGIN\n parser.strictEntities = parser.opt.strictEntities\n parser.ENTITIES = parser.strictEntities ? Object.create(sax.XML_ENTITIES) : Object.create(sax.ENTITIES)\n parser.attribList = []\n\n // namespaces form a prototype chain.\n // it always points at the current tag,\n // which protos to its parent tag.\n if (parser.opt.xmlns) {\n parser.ns = Object.create(rootNS)\n }\n\n // mostly just for error reporting\n parser.trackPosition = parser.opt.position !== false\n if (parser.trackPosition) {\n parser.position = parser.line = parser.column = 0\n }\n emit(parser, 'onready')\n }\n\n if (!Object.create) {\n Object.create = function (o) {\n function F () {}\n F.prototype = o\n var newf = new F()\n return newf\n }\n }\n\n if (!Object.keys) {\n Object.keys = function (o) {\n var a = []\n for (var i in o) if (o.hasOwnProperty(i)) a.push(i)\n return a\n }\n }\n\n function checkBufferLength (parser) {\n var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10)\n var maxActual = 0\n for (var i = 0, l = buffers.length; i < l; i++) {\n var len = parser[buffers[i]].length\n if (len > maxAllowed) {\n // Text/cdata nodes can get big, and since they're buffered,\n // we can get here under normal conditions.\n // Avoid issues by emitting the text node now,\n // so at least it won't get any bigger.\n switch (buffers[i]) {\n case 'textNode':\n closeText(parser)\n break\n\n case 'cdata':\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n break\n\n case 'script':\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n break\n\n default:\n error(parser, 'Max buffer length exceeded: ' + buffers[i])\n }\n }\n maxActual = Math.max(maxActual, len)\n }\n // schedule the next check for the earliest possible buffer overrun.\n var m = sax.MAX_BUFFER_LENGTH - maxActual\n parser.bufferCheckPosition = m + parser.position\n }\n\n function clearBuffers (parser) {\n for (var i = 0, l = buffers.length; i < l; i++) {\n parser[buffers[i]] = ''\n }\n }\n\n function flushBuffers (parser) {\n closeText(parser)\n if (parser.cdata !== '') {\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n }\n if (parser.script !== '') {\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n }\n\n SAXParser.prototype = {\n end: function () { end(this) },\n write: write,\n resume: function () { this.error = null; return this },\n close: function () { return this.write(null) },\n flush: function () { flushBuffers(this) }\n }\n\n var Stream\n try {\n Stream = require('stream').Stream\n } catch (ex) {\n Stream = function () {}\n }\n\n var streamWraps = sax.EVENTS.filter(function (ev) {\n return ev !== 'error' && ev !== 'end'\n })\n\n function createStream (strict, opt) {\n return new SAXStream(strict, opt)\n }\n\n function SAXStream (strict, opt) {\n if (!(this instanceof SAXStream)) {\n return new SAXStream(strict, opt)\n }\n\n Stream.apply(this)\n\n this._parser = new SAXParser(strict, opt)\n this.writable = true\n this.readable = true\n\n var me = this\n\n this._parser.onend = function () {\n me.emit('end')\n }\n\n this._parser.onerror = function (er) {\n me.emit('error', er)\n\n // if didn't throw, then means error was handled.\n // go ahead and clear error, so we can write again.\n me._parser.error = null\n }\n\n this._decoder = null\n\n streamWraps.forEach(function (ev) {\n Object.defineProperty(me, 'on' + ev, {\n get: function () {\n return me._parser['on' + ev]\n },\n set: function (h) {\n if (!h) {\n me.removeAllListeners(ev)\n me._parser['on' + ev] = h\n return h\n }\n me.on(ev, h)\n },\n enumerable: true,\n configurable: false\n })\n })\n }\n\n SAXStream.prototype = Object.create(Stream.prototype, {\n constructor: {\n value: SAXStream\n }\n })\n\n SAXStream.prototype.write = function (data) {\n if (typeof Buffer === 'function' &&\n typeof Buffer.isBuffer === 'function' &&\n Buffer.isBuffer(data)) {\n if (!this._decoder) {\n var SD = require('string_decoder').StringDecoder\n this._decoder = new SD('utf8')\n }\n data = this._decoder.write(data)\n }\n\n this._parser.write(data.toString())\n this.emit('data', data)\n return true\n }\n\n SAXStream.prototype.end = function (chunk) {\n if (chunk && chunk.length) {\n this.write(chunk)\n }\n this._parser.end()\n return true\n }\n\n SAXStream.prototype.on = function (ev, handler) {\n var me = this\n if (!me._parser['on' + ev] && streamWraps.indexOf(ev) !== -1) {\n me._parser['on' + ev] = function () {\n var args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments)\n args.splice(0, 0, ev)\n me.emit.apply(me, args)\n }\n }\n\n return Stream.prototype.on.call(me, ev, handler)\n }\n\n // this really needs to be replaced with character classes.\n // XML allows all manner of ridiculous numbers and digits.\n var CDATA = '[CDATA['\n var DOCTYPE = 'DOCTYPE'\n var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace'\n var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/'\n var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE }\n\n // http://www.w3.org/TR/REC-xml/#NT-NameStartChar\n // This implementation works on strings, a single character at a time\n // as such, it cannot ever support astral-plane characters (10000-EFFFF)\n // without a significant breaking change to either this parser, or the\n // JavaScript language. Implementation of an emoji-capable xml parser\n // is left as an exercise for the reader.\n var nameStart = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n\n var nameBody = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n var entityStart = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n var entityBody = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n function isWhitespace (c) {\n return c === ' ' || c === '\\n' || c === '\\r' || c === '\\t'\n }\n\n function isQuote (c) {\n return c === '\"' || c === '\\''\n }\n\n function isAttribEnd (c) {\n return c === '>' || isWhitespace(c)\n }\n\n function isMatch (regex, c) {\n return regex.test(c)\n }\n\n function notMatch (regex, c) {\n return !isMatch(regex, c)\n }\n\n var S = 0\n sax.STATE = {\n BEGIN: S++, // leading byte order mark or whitespace\n BEGIN_WHITESPACE: S++, // leading whitespace\n TEXT: S++, // general stuff\n TEXT_ENTITY: S++, // & and such.\n OPEN_WAKA: S++, // <\n SGML_DECL: S++, // \n SCRIPT: S++, //