@shopify/shop-minis-react 0.0.21 → 0.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/___vite-browser-external.js +7 -0
- package/dist/_virtual/___vite-browser-external.js.map +1 -0
- package/dist/_virtual/__vite-browser-external.js +5 -0
- package/dist/_virtual/__vite-browser-external.js.map +1 -0
- package/dist/_virtual/_commonjsHelpers.js +24 -4
- package/dist/_virtual/_commonjsHelpers.js.map +1 -1
- package/dist/_virtual/browser-index.js +8 -0
- package/dist/_virtual/browser-index.js.map +1 -0
- package/dist/_virtual/browser-index2.js +5 -0
- package/dist/_virtual/browser-index2.js.map +1 -0
- package/dist/_virtual/clock.js +6 -0
- package/dist/_virtual/clock.js.map +1 -0
- package/dist/_virtual/conventions.js +5 -0
- package/dist/_virtual/conventions.js.map +1 -0
- package/dist/_virtual/document.js +8 -0
- package/dist/_virtual/document.js.map +1 -0
- package/dist/_virtual/dom-parser.js +5 -0
- package/dist/_virtual/dom-parser.js.map +1 -0
- package/dist/_virtual/dom.js +5 -0
- package/dist/_virtual/dom.js.map +1 -0
- package/dist/_virtual/entities.js +5 -0
- package/dist/_virtual/entities.js.map +1 -0
- package/dist/_virtual/extends.js +5 -0
- package/dist/_virtual/extends.js.map +1 -0
- package/dist/_virtual/index10.js +5 -0
- package/dist/_virtual/index10.js.map +1 -0
- package/dist/_virtual/index11.js +5 -0
- package/dist/_virtual/index11.js.map +1 -0
- package/dist/_virtual/index2.js +5 -2
- package/dist/_virtual/index2.js.map +1 -1
- package/dist/_virtual/index3.js +5 -3
- package/dist/_virtual/index3.js.map +1 -1
- package/dist/_virtual/index4.js +2 -2
- package/dist/_virtual/index5.js +5 -0
- package/dist/_virtual/index5.js.map +1 -0
- package/dist/_virtual/index6.js +6 -0
- package/dist/_virtual/index6.js.map +1 -0
- package/dist/_virtual/index7.js +6 -0
- package/dist/_virtual/index7.js.map +1 -0
- package/dist/_virtual/index8.js +5 -0
- package/dist/_virtual/index8.js.map +1 -0
- package/dist/_virtual/index9.js +5 -0
- package/dist/_virtual/index9.js.map +1 -0
- package/dist/_virtual/parse-sidx.js +8 -0
- package/dist/_virtual/parse-sidx.js.map +1 -0
- package/dist/_virtual/sax.js +5 -0
- package/dist/_virtual/sax.js.map +1 -0
- package/dist/_virtual/window.js +8 -0
- package/dist/_virtual/window.js.map +1 -0
- package/dist/components/atoms/video-player.js +121 -0
- package/dist/components/atoms/video-player.js.map +1 -0
- package/dist/components/commerce/merchant-card.js +236 -106
- package/dist/components/commerce/merchant-card.js.map +1 -1
- package/dist/components/commerce/quantity-selector.js +80 -0
- package/dist/components/commerce/quantity-selector.js.map +1 -0
- package/dist/index.js +213 -204
- package/dist/index.js.map +1 -1
- package/dist/mocks.js +114 -87
- package/dist/mocks.js.map +1 -1
- package/dist/shop-minis-react/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/extends.js +20 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/extends.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@radix-ui_react-use-is-hydrated@0.1.0_@types_react@19.1.6_react@19.1.0/node_modules/@radix-ui/react-use-is-hydrated/dist/index.js +1 -1
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/byte-helpers.js +79 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/byte-helpers.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/codecs.js +102 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/codecs.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/containers.js +149 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/containers.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/decode-b64-to-uint8-array.js +13 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/decode-b64-to-uint8-array.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/ebml-helpers.js +77 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/ebml-helpers.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/id3-helpers.js +15 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/id3-helpers.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/media-groups.js +13 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/media-groups.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/media-types.js +7 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/media-types.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/mp4-helpers.js +31 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/mp4-helpers.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/nal-helpers.js +39 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/nal-helpers.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/resolve-url.js +14 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/resolve-url.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/stream.js +33 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/stream.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/http-handler.js +42 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/http-handler.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/index.js +169 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/interceptors.js +75 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/interceptors.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/retry.js +70 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/retry.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/conventions.js +124 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/conventions.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/dom-parser.js +151 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/dom-parser.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/dom.js +993 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/dom.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/entities.js +2146 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/entities.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/index.js +14 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/sax.js +346 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/sax.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/conversions.js +308 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/conversions.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/index.js +41 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/route.js +53 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/route.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-name@1.1.4/node_modules/color-name/index.js +157 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-name@1.1.4/node_modules/color-name/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-string@1.9.1/node_modules/color-string/index.js +103 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-string@1.9.1/node_modules/color-string/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color@4.2.3/node_modules/color/index.js +269 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color@4.2.3/node_modules/color/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/global@4.4.0/node_modules/global/document.js +13 -0
- package/dist/shop-minis-react/node_modules/.pnpm/global@4.4.0/node_modules/global/document.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/global@4.4.0/node_modules/global/window.js +12 -0
- package/dist/shop-minis-react/node_modules/.pnpm/global@4.4.0/node_modules/global/window.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/is-arrayish@0.3.2/node_modules/is-arrayish/index.js +10 -0
- package/dist/shop-minis-react/node_modules/.pnpm/is-arrayish@0.3.2/node_modules/is-arrayish/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/is-function@1.0.2/node_modules/is-function/index.js +18 -0
- package/dist/shop-minis-react/node_modules/.pnpm/is-function@1.0.2/node_modules/is-function/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/lucide-react@0.513.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/minus.js +13 -0
- package/dist/shop-minis-react/node_modules/.pnpm/lucide-react@0.513.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/minus.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/lucide-react@0.513.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/plus.js +16 -0
- package/dist/shop-minis-react/node_modules/.pnpm/lucide-react@0.513.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/plus.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/m3u8-parser@7.2.0/node_modules/m3u8-parser/dist/m3u8-parser.es.js +855 -0
- package/dist/shop-minis-react/node_modules/.pnpm/m3u8-parser@7.2.0/node_modules/m3u8-parser/dist/m3u8-parser.es.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/mpd-parser@1.3.1/node_modules/mpd-parser/dist/mpd-parser.es.js +1102 -0
- package/dist/shop-minis-react/node_modules/.pnpm/mpd-parser@1.3.1/node_modules/mpd-parser/dist/mpd-parser.es.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/mux.js@7.1.0/node_modules/mux.js/lib/tools/parse-sidx.js +32 -0
- package/dist/shop-minis-react/node_modules/.pnpm/mux.js@7.1.0/node_modules/mux.js/lib/tools/parse-sidx.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/mux.js@7.1.0/node_modules/mux.js/lib/utils/clock.js +34 -0
- package/dist/shop-minis-react/node_modules/.pnpm/mux.js@7.1.0/node_modules/mux.js/lib/utils/clock.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/mux.js@7.1.0/node_modules/mux.js/lib/utils/numbers.js +17 -0
- package/dist/shop-minis-react/node_modules/.pnpm/mux.js@7.1.0/node_modules/mux.js/lib/utils/numbers.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/querystringify@2.2.0/node_modules/querystringify/index.js +1 -1
- package/dist/shop-minis-react/node_modules/.pnpm/simple-swizzle@0.2.2/node_modules/simple-swizzle/index.js +23 -0
- package/dist/shop-minis-react/node_modules/.pnpm/simple-swizzle@0.2.2/node_modules/simple-swizzle/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.1.0/node_modules/use-sync-external-store/shim/index.js +1 -1
- package/dist/shop-minis-react/node_modules/.pnpm/video.js@8.23.3/node_modules/video.js/dist/video.es.js +27824 -0
- package/dist/shop-minis-react/node_modules/.pnpm/video.js@8.23.3/node_modules/video.js/dist/video.es.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/browser-index.js +26 -0
- package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/browser-index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/vtt.js +802 -0
- package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/vtt.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/vttcue.js +188 -0
- package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/vttcue.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/vttregion.js +104 -0
- package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/vttregion.js.map +1 -0
- package/dist/shop-minis-react.css +1 -1
- package/dist/utils/colors.js +6 -0
- package/dist/utils/colors.js.map +1 -0
- package/dist/utils/merchant-card.js +44 -0
- package/dist/utils/merchant-card.js.map +1 -0
- package/package.json +5 -1
- package/src/components/atoms/video-player.tsx +213 -0
- package/src/components/commerce/merchant-card.tsx +219 -49
- package/src/components/commerce/quantity-selector.tsx +92 -0
- package/src/components/index.ts +2 -0
- package/src/mocks.ts +148 -16
- package/src/stories/MerchantCard.stories.tsx +63 -9
- package/src/utils/colors.ts +5 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/merchant-card.ts +99 -0
- package/src/hooks/navigation/useCloseMini.doc.ts +0 -32
- package/src/hooks/navigation/useCloseMini.example.tsx +0 -7
- package/src/hooks/navigation/useDeeplink.doc.ts +0 -32
- package/src/hooks/navigation/useDeeplink.example.tsx +0 -7
- package/src/hooks/navigation/useShopNavigation.doc.ts +0 -32
- package/src/hooks/navigation/useShopNavigation.example.tsx +0 -32
- package/src/hooks/product/useCuratedProducts.doc.ts +0 -32
- package/src/hooks/product/useCuratedProducts.example.tsx +0 -10
- package/src/hooks/product/useProductList.doc.ts +0 -32
- package/src/hooks/product/useProductList.example.tsx +0 -9
- package/src/hooks/product/useProductListActions.doc.ts +0 -32
- package/src/hooks/product/useProductListActions.example.tsx +0 -60
- package/src/hooks/product/useProductLists.doc.ts +0 -32
- package/src/hooks/product/useProductLists.example.tsx +0 -9
- package/src/hooks/product/useProductSearch.doc.ts +0 -32
- package/src/hooks/product/useProductSearch.example.tsx +0 -13
- package/src/hooks/product/useRecommendedProducts.doc.ts +0 -32
- package/src/hooks/product/useRecommendedProducts.example.tsx +0 -7
- package/src/hooks/shop/useRecommendedShops.doc.ts +0 -32
- package/src/hooks/shop/useRecommendedShops.example.tsx +0 -7
- package/src/hooks/shop/useShop.doc.ts +0 -31
- package/src/hooks/shop/useShop.example.tsx +0 -7
- package/src/hooks/shop/useShopCartActions.doc.ts +0 -32
- package/src/hooks/shop/useShopCartActions.example.tsx +0 -28
- package/src/hooks/storage/useAsyncStorage.doc.ts +0 -32
- package/src/hooks/storage/useAsyncStorage.example.tsx +0 -30
- package/src/hooks/storage/useImageUpload.doc.ts +0 -32
- package/src/hooks/storage/useImageUpload.example.tsx +0 -20
- package/src/hooks/storage/useSecureStorage.doc.ts +0 -32
- package/src/hooks/storage/useSecureStorage.example.tsx +0 -23
- package/src/hooks/user/useBuyerAttributes.doc.ts +0 -32
- package/src/hooks/user/useBuyerAttributes.example.tsx +0 -14
- package/src/hooks/user/useCurrentUser.doc.ts +0 -31
- package/src/hooks/user/useCurrentUser.example.tsx +0 -7
- package/src/hooks/user/useFollowedShopsActions.doc.ts +0 -32
- package/src/hooks/user/useFollowedShopsActions.example.tsx +0 -16
- package/src/hooks/user/useOrders.doc.ts +0 -32
- package/src/hooks/user/useOrders.example.tsx +0 -7
- package/src/hooks/user/useRecentProducts.doc.ts +0 -32
- package/src/hooks/user/useRecentProducts.example.tsx +0 -13
- package/src/hooks/user/useSavedProducts.doc.ts +0 -32
- package/src/hooks/user/useSavedProducts.example.tsx +0 -13
- package/src/hooks/user/useSavedProductsActions.doc.ts +0 -32
- package/src/hooks/user/useSavedProductsActions.example.tsx +0 -32
- package/src/hooks/util/useErrorScreen.doc.ts +0 -32
- package/src/hooks/util/useErrorScreen.example.tsx +0 -15
- package/src/hooks/util/useErrorToast.doc.ts +0 -32
- package/src/hooks/util/useErrorToast.example.tsx +0 -15
- package/src/hooks/util/useImagePicker.example.tsx +0 -77
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vtt.js","sources":["../../../../../../../../node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/vtt.js"],"sourcesContent":["/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */\n/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */\nvar document = require('global/document');\n\nvar _objCreate = Object.create || (function() {\n function F() {}\n return function(o) {\n if (arguments.length !== 1) {\n throw new Error('Object.create shim only accepts one parameter.');\n }\n F.prototype = o;\n return new F();\n };\n})();\n\n// Creates a new ParserError object from an errorData object. The errorData\n// object should have default code and message properties. The default message\n// property can be overriden by passing in a message parameter.\n// See ParsingError.Errors below for acceptable errors.\nfunction ParsingError(errorData, message) {\n this.name = \"ParsingError\";\n this.code = errorData.code;\n this.message = message || errorData.message;\n}\nParsingError.prototype = _objCreate(Error.prototype);\nParsingError.prototype.constructor = ParsingError;\n\n// ParsingError metadata for acceptable ParsingErrors.\nParsingError.Errors = {\n BadSignature: {\n code: 0,\n message: \"Malformed WebVTT signature.\"\n },\n BadTimeStamp: {\n code: 1,\n message: \"Malformed time stamp.\"\n }\n};\n\n// Try to parse input as a time stamp.\nfunction parseTimeStamp(input) {\n\n function computeSeconds(h, m, s, f) {\n return (h | 0) * 3600 + (m | 0) * 60 + (s | 0) + (f | 0) / 1000;\n }\n\n var m = input.match(/^(\\d+):(\\d{1,2})(:\\d{1,2})?\\.(\\d{3})/);\n if (!m) {\n return null;\n }\n\n if (m[3]) {\n // Timestamp takes the form of [hours]:[minutes]:[seconds].[milliseconds]\n return computeSeconds(m[1], m[2], m[3].replace(\":\", \"\"), m[4]);\n } else if (m[1] > 59) {\n // Timestamp takes the form of [hours]:[minutes].[milliseconds]\n // First position is hours as it's over 59.\n return computeSeconds(m[1], m[2], 0, m[4]);\n } else {\n // Timestamp takes the form of [minutes]:[seconds].[milliseconds]\n return computeSeconds(0, m[1], m[2], m[4]);\n }\n}\n\n// A settings object holds key/value pairs and will ignore anything but the first\n// assignment to a specific key.\nfunction Settings() {\n this.values = _objCreate(null);\n}\n\nSettings.prototype = {\n // Only accept the first assignment to any key.\n set: function(k, v) {\n if (!this.get(k) && v !== \"\") {\n this.values[k] = v;\n }\n },\n // Return the value for a key, or a default value.\n // If 'defaultKey' is passed then 'dflt' is assumed to be an object with\n // a number of possible default values as properties where 'defaultKey' is\n // the key of the property that will be chosen; otherwise it's assumed to be\n // a single value.\n get: function(k, dflt, defaultKey) {\n if (defaultKey) {\n return this.has(k) ? this.values[k] : dflt[defaultKey];\n }\n return this.has(k) ? this.values[k] : dflt;\n },\n // Check whether we have a value for a key.\n has: function(k) {\n return k in this.values;\n },\n // Accept a setting if its one of the given alternatives.\n alt: function(k, v, a) {\n for (var n = 0; n < a.length; ++n) {\n if (v === a[n]) {\n this.set(k, v);\n break;\n }\n }\n },\n // Accept a setting if its a valid (signed) integer.\n integer: function(k, v) {\n if (/^-?\\d+$/.test(v)) { // integer\n this.set(k, parseInt(v, 10));\n }\n },\n // Accept a setting if its a valid percentage.\n percent: function(k, v) {\n var m;\n if ((m = v.match(/^([\\d]{1,3})(\\.[\\d]*)?%$/))) {\n v = parseFloat(v);\n if (v >= 0 && v <= 100) {\n this.set(k, v);\n return true;\n }\n }\n return false;\n }\n};\n\n// Helper function to parse input into groups separated by 'groupDelim', and\n// interprete each group as a key/value pair separated by 'keyValueDelim'.\nfunction parseOptions(input, callback, keyValueDelim, groupDelim) {\n var groups = groupDelim ? input.split(groupDelim) : [input];\n for (var i in groups) {\n if (typeof groups[i] !== \"string\") {\n continue;\n }\n var kv = groups[i].split(keyValueDelim);\n if (kv.length !== 2) {\n continue;\n }\n var k = kv[0].trim();\n var v = kv[1].trim();\n callback(k, v);\n }\n}\n\nfunction parseCue(input, cue, regionList) {\n // Remember the original input if we need to throw an error.\n var oInput = input;\n // 4.1 WebVTT timestamp\n function consumeTimeStamp() {\n var ts = parseTimeStamp(input);\n if (ts === null) {\n throw new ParsingError(ParsingError.Errors.BadTimeStamp,\n \"Malformed timestamp: \" + oInput);\n }\n // Remove time stamp from input.\n input = input.replace(/^[^\\sa-zA-Z-]+/, \"\");\n return ts;\n }\n\n // 4.4.2 WebVTT cue settings\n function consumeCueSettings(input, cue) {\n var settings = new Settings();\n\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"region\":\n // Find the last region we parsed with the same region id.\n for (var i = regionList.length - 1; i >= 0; i--) {\n if (regionList[i].id === v) {\n settings.set(k, regionList[i].region);\n break;\n }\n }\n break;\n case \"vertical\":\n settings.alt(k, v, [\"rl\", \"lr\"]);\n break;\n case \"line\":\n var vals = v.split(\",\"),\n vals0 = vals[0];\n settings.integer(k, vals0);\n settings.percent(k, vals0) ? settings.set(\"snapToLines\", false) : null;\n settings.alt(k, vals0, [\"auto\"]);\n if (vals.length === 2) {\n settings.alt(\"lineAlign\", vals[1], [\"start\", \"center\", \"end\"]);\n }\n break;\n case \"position\":\n vals = v.split(\",\");\n settings.percent(k, vals[0]);\n if (vals.length === 2) {\n settings.alt(\"positionAlign\", vals[1], [\"start\", \"center\", \"end\"]);\n }\n break;\n case \"size\":\n settings.percent(k, v);\n break;\n case \"align\":\n settings.alt(k, v, [\"start\", \"center\", \"end\", \"left\", \"right\"]);\n break;\n }\n }, /:/, /\\s/);\n\n // Apply default values for any missing fields.\n cue.region = settings.get(\"region\", null);\n cue.vertical = settings.get(\"vertical\", \"\");\n try {\n cue.line = settings.get(\"line\", \"auto\");\n } catch (e) {}\n cue.lineAlign = settings.get(\"lineAlign\", \"start\");\n cue.snapToLines = settings.get(\"snapToLines\", true);\n cue.size = settings.get(\"size\", 100);\n // Safari still uses the old middle value and won't accept center\n try {\n cue.align = settings.get(\"align\", \"center\");\n } catch (e) {\n cue.align = settings.get(\"align\", \"middle\");\n }\n try {\n cue.position = settings.get(\"position\", \"auto\");\n } catch (e) {\n cue.position = settings.get(\"position\", {\n start: 0,\n left: 0,\n center: 50,\n middle: 50,\n end: 100,\n right: 100\n }, cue.align);\n }\n\n\n cue.positionAlign = settings.get(\"positionAlign\", {\n start: \"start\",\n left: \"start\",\n center: \"center\",\n middle: \"center\",\n end: \"end\",\n right: \"end\"\n }, cue.align);\n }\n\n function skipWhitespace() {\n input = input.replace(/^\\s+/, \"\");\n }\n\n // 4.1 WebVTT cue timings.\n skipWhitespace();\n cue.startTime = consumeTimeStamp(); // (1) collect cue start time\n skipWhitespace();\n if (input.substr(0, 3) !== \"-->\") { // (3) next characters must match \"-->\"\n throw new ParsingError(ParsingError.Errors.BadTimeStamp,\n \"Malformed time stamp (time stamps must be separated by '-->'): \" +\n oInput);\n }\n input = input.substr(3);\n skipWhitespace();\n cue.endTime = consumeTimeStamp(); // (5) collect cue end time\n\n // 4.1 WebVTT cue settings list.\n skipWhitespace();\n consumeCueSettings(input, cue);\n}\n\n// When evaluating this file as part of a Webpack bundle for server\n// side rendering, `document` is an empty object.\nvar TEXTAREA_ELEMENT = document.createElement && document.createElement(\"textarea\");\n\nvar TAG_NAME = {\n c: \"span\",\n i: \"i\",\n b: \"b\",\n u: \"u\",\n ruby: \"ruby\",\n rt: \"rt\",\n v: \"span\",\n lang: \"span\"\n};\n\n// 5.1 default text color\n// 5.2 default text background color is equivalent to text color with bg_ prefix\nvar DEFAULT_COLOR_CLASS = {\n white: 'rgba(255,255,255,1)',\n lime: 'rgba(0,255,0,1)',\n cyan: 'rgba(0,255,255,1)',\n red: 'rgba(255,0,0,1)',\n yellow: 'rgba(255,255,0,1)',\n magenta: 'rgba(255,0,255,1)',\n blue: 'rgba(0,0,255,1)',\n black: 'rgba(0,0,0,1)'\n};\n\nvar TAG_ANNOTATION = {\n v: \"title\",\n lang: \"lang\"\n};\n\nvar NEEDS_PARENT = {\n rt: \"ruby\"\n};\n\n// Parse content into a document fragment.\nfunction parseContent(window, input) {\n function nextToken() {\n // Check for end-of-string.\n if (!input) {\n return null;\n }\n\n // Consume 'n' characters from the input.\n function consume(result) {\n input = input.substr(result.length);\n return result;\n }\n\n var m = input.match(/^([^<]*)(<[^>]*>?)?/);\n // If there is some text before the next tag, return it, otherwise return\n // the tag.\n return consume(m[1] ? m[1] : m[2]);\n }\n\n function unescape(s) {\n TEXTAREA_ELEMENT.innerHTML = s;\n s = TEXTAREA_ELEMENT.textContent;\n TEXTAREA_ELEMENT.textContent = \"\";\n return s;\n }\n\n function shouldAdd(current, element) {\n return !NEEDS_PARENT[element.localName] ||\n NEEDS_PARENT[element.localName] === current.localName;\n }\n\n // Create an element for this tag.\n function createElement(type, annotation) {\n var tagName = TAG_NAME[type];\n if (!tagName) {\n return null;\n }\n var element = window.document.createElement(tagName);\n var name = TAG_ANNOTATION[type];\n if (name && annotation) {\n element[name] = annotation.trim();\n }\n return element;\n }\n\n var rootDiv = window.document.createElement(\"div\"),\n current = rootDiv,\n t,\n tagStack = [];\n\n while ((t = nextToken()) !== null) {\n if (t[0] === '<') {\n if (t[1] === \"/\") {\n // If the closing tag matches, move back up to the parent node.\n if (tagStack.length &&\n tagStack[tagStack.length - 1] === t.substr(2).replace(\">\", \"\")) {\n tagStack.pop();\n current = current.parentNode;\n }\n // Otherwise just ignore the end tag.\n continue;\n }\n var ts = parseTimeStamp(t.substr(1, t.length - 2));\n var node;\n if (ts) {\n // Timestamps are lead nodes as well.\n node = window.document.createProcessingInstruction(\"timestamp\", ts);\n current.appendChild(node);\n continue;\n }\n var m = t.match(/^<([^.\\s/0-9>]+)(\\.[^\\s\\\\>]+)?([^>\\\\]+)?(\\\\?)>?$/);\n // If we can't parse the tag, skip to the next tag.\n if (!m) {\n continue;\n }\n // Try to construct an element, and ignore the tag if we couldn't.\n node = createElement(m[1], m[3]);\n if (!node) {\n continue;\n }\n // Determine if the tag should be added based on the context of where it\n // is placed in the cuetext.\n if (!shouldAdd(current, node)) {\n continue;\n }\n // Set the class list (as a list of classes, separated by space).\n if (m[2]) {\n var classes = m[2].split('.');\n\n classes.forEach(function(cl) {\n var bgColor = /^bg_/.test(cl);\n // slice out `bg_` if it's a background color\n var colorName = bgColor ? cl.slice(3) : cl;\n\n if (DEFAULT_COLOR_CLASS.hasOwnProperty(colorName)) {\n var propName = bgColor ? 'background-color' : 'color';\n var propValue = DEFAULT_COLOR_CLASS[colorName];\n\n node.style[propName] = propValue;\n }\n });\n\n node.className = classes.join(' ');\n }\n // Append the node to the current node, and enter the scope of the new\n // node.\n tagStack.push(m[1]);\n current.appendChild(node);\n current = node;\n continue;\n }\n\n // Text nodes are leaf nodes.\n current.appendChild(window.document.createTextNode(unescape(t)));\n }\n\n return rootDiv;\n}\n\n// This is a list of all the Unicode characters that have a strong\n// right-to-left category. What this means is that these characters are\n// written right-to-left for sure. It was generated by pulling all the strong\n// right-to-left characters out of the Unicode data table. That table can\n// found at: http://www.unicode.org/Public/UNIDATA/UnicodeData.txt\nvar strongRTLRanges = [[0x5be, 0x5be], [0x5c0, 0x5c0], [0x5c3, 0x5c3], [0x5c6, 0x5c6],\n [0x5d0, 0x5ea], [0x5f0, 0x5f4], [0x608, 0x608], [0x60b, 0x60b], [0x60d, 0x60d],\n [0x61b, 0x61b], [0x61e, 0x64a], [0x66d, 0x66f], [0x671, 0x6d5], [0x6e5, 0x6e6],\n [0x6ee, 0x6ef], [0x6fa, 0x70d], [0x70f, 0x710], [0x712, 0x72f], [0x74d, 0x7a5],\n [0x7b1, 0x7b1], [0x7c0, 0x7ea], [0x7f4, 0x7f5], [0x7fa, 0x7fa], [0x800, 0x815],\n [0x81a, 0x81a], [0x824, 0x824], [0x828, 0x828], [0x830, 0x83e], [0x840, 0x858],\n [0x85e, 0x85e], [0x8a0, 0x8a0], [0x8a2, 0x8ac], [0x200f, 0x200f],\n [0xfb1d, 0xfb1d], [0xfb1f, 0xfb28], [0xfb2a, 0xfb36], [0xfb38, 0xfb3c],\n [0xfb3e, 0xfb3e], [0xfb40, 0xfb41], [0xfb43, 0xfb44], [0xfb46, 0xfbc1],\n [0xfbd3, 0xfd3d], [0xfd50, 0xfd8f], [0xfd92, 0xfdc7], [0xfdf0, 0xfdfc],\n [0xfe70, 0xfe74], [0xfe76, 0xfefc], [0x10800, 0x10805], [0x10808, 0x10808],\n [0x1080a, 0x10835], [0x10837, 0x10838], [0x1083c, 0x1083c], [0x1083f, 0x10855],\n [0x10857, 0x1085f], [0x10900, 0x1091b], [0x10920, 0x10939], [0x1093f, 0x1093f],\n [0x10980, 0x109b7], [0x109be, 0x109bf], [0x10a00, 0x10a00], [0x10a10, 0x10a13],\n [0x10a15, 0x10a17], [0x10a19, 0x10a33], [0x10a40, 0x10a47], [0x10a50, 0x10a58],\n [0x10a60, 0x10a7f], [0x10b00, 0x10b35], [0x10b40, 0x10b55], [0x10b58, 0x10b72],\n [0x10b78, 0x10b7f], [0x10c00, 0x10c48], [0x1ee00, 0x1ee03], [0x1ee05, 0x1ee1f],\n [0x1ee21, 0x1ee22], [0x1ee24, 0x1ee24], [0x1ee27, 0x1ee27], [0x1ee29, 0x1ee32],\n [0x1ee34, 0x1ee37], [0x1ee39, 0x1ee39], [0x1ee3b, 0x1ee3b], [0x1ee42, 0x1ee42],\n [0x1ee47, 0x1ee47], [0x1ee49, 0x1ee49], [0x1ee4b, 0x1ee4b], [0x1ee4d, 0x1ee4f],\n [0x1ee51, 0x1ee52], [0x1ee54, 0x1ee54], [0x1ee57, 0x1ee57], [0x1ee59, 0x1ee59],\n [0x1ee5b, 0x1ee5b], [0x1ee5d, 0x1ee5d], [0x1ee5f, 0x1ee5f], [0x1ee61, 0x1ee62],\n [0x1ee64, 0x1ee64], [0x1ee67, 0x1ee6a], [0x1ee6c, 0x1ee72], [0x1ee74, 0x1ee77],\n [0x1ee79, 0x1ee7c], [0x1ee7e, 0x1ee7e], [0x1ee80, 0x1ee89], [0x1ee8b, 0x1ee9b],\n [0x1eea1, 0x1eea3], [0x1eea5, 0x1eea9], [0x1eeab, 0x1eebb], [0x10fffd, 0x10fffd]];\n\nfunction isStrongRTLChar(charCode) {\n for (var i = 0; i < strongRTLRanges.length; i++) {\n var currentRange = strongRTLRanges[i];\n if (charCode >= currentRange[0] && charCode <= currentRange[1]) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction determineBidi(cueDiv) {\n var nodeStack = [],\n text = \"\",\n charCode;\n\n if (!cueDiv || !cueDiv.childNodes) {\n return \"ltr\";\n }\n\n function pushNodes(nodeStack, node) {\n for (var i = node.childNodes.length - 1; i >= 0; i--) {\n nodeStack.push(node.childNodes[i]);\n }\n }\n\n function nextTextNode(nodeStack) {\n if (!nodeStack || !nodeStack.length) {\n return null;\n }\n\n var node = nodeStack.pop(),\n text = node.textContent || node.innerText;\n if (text) {\n // TODO: This should match all unicode type B characters (paragraph\n // separator characters). See issue #115.\n var m = text.match(/^.*(\\n|\\r)/);\n if (m) {\n nodeStack.length = 0;\n return m[0];\n }\n return text;\n }\n if (node.tagName === \"ruby\") {\n return nextTextNode(nodeStack);\n }\n if (node.childNodes) {\n pushNodes(nodeStack, node);\n return nextTextNode(nodeStack);\n }\n }\n\n pushNodes(nodeStack, cueDiv);\n while ((text = nextTextNode(nodeStack))) {\n for (var i = 0; i < text.length; i++) {\n charCode = text.charCodeAt(i);\n if (isStrongRTLChar(charCode)) {\n return \"rtl\";\n }\n }\n }\n return \"ltr\";\n}\n\nfunction computeLinePos(cue) {\n if (typeof cue.line === \"number\" &&\n (cue.snapToLines || (cue.line >= 0 && cue.line <= 100))) {\n return cue.line;\n }\n if (!cue.track || !cue.track.textTrackList ||\n !cue.track.textTrackList.mediaElement) {\n return -1;\n }\n var track = cue.track,\n trackList = track.textTrackList,\n count = 0;\n for (var i = 0; i < trackList.length && trackList[i] !== track; i++) {\n if (trackList[i].mode === \"showing\") {\n count++;\n }\n }\n return ++count * -1;\n}\n\nfunction StyleBox() {\n}\n\n// Apply styles to a div. If there is no div passed then it defaults to the\n// div on 'this'.\nStyleBox.prototype.applyStyles = function(styles, div) {\n div = div || this.div;\n for (var prop in styles) {\n if (styles.hasOwnProperty(prop)) {\n div.style[prop] = styles[prop];\n }\n }\n};\n\nStyleBox.prototype.formatStyle = function(val, unit) {\n return val === 0 ? 0 : val + unit;\n};\n\n// Constructs the computed display state of the cue (a div). Places the div\n// into the overlay which should be a block level element (usually a div).\nfunction CueStyleBox(window, cue, styleOptions) {\n StyleBox.call(this);\n this.cue = cue;\n\n // Parse our cue's text into a DOM tree rooted at 'cueDiv'. This div will\n // have inline positioning and will function as the cue background box.\n this.cueDiv = parseContent(window, cue.text);\n var styles = {\n color: \"rgba(255, 255, 255, 1)\",\n backgroundColor: \"rgba(0, 0, 0, 0.8)\",\n position: \"relative\",\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n display: \"inline\",\n writingMode: cue.vertical === \"\" ? \"horizontal-tb\"\n : cue.vertical === \"lr\" ? \"vertical-lr\"\n : \"vertical-rl\",\n unicodeBidi: \"plaintext\"\n };\n\n this.applyStyles(styles, this.cueDiv);\n\n // Create an absolutely positioned div that will be used to position the cue\n // div. Note, all WebVTT cue-setting alignments are equivalent to the CSS\n // mirrors of them except middle instead of center on Safari.\n this.div = window.document.createElement(\"div\");\n styles = {\n direction: determineBidi(this.cueDiv),\n writingMode: cue.vertical === \"\" ? \"horizontal-tb\"\n : cue.vertical === \"lr\" ? \"vertical-lr\"\n : \"vertical-rl\",\n unicodeBidi: \"plaintext\",\n textAlign: cue.align === \"middle\" ? \"center\" : cue.align,\n font: styleOptions.font,\n whiteSpace: \"pre-line\",\n position: \"absolute\"\n };\n\n this.applyStyles(styles);\n this.div.appendChild(this.cueDiv);\n\n // Calculate the distance from the reference edge of the viewport to the text\n // position of the cue box. The reference edge will be resolved later when\n // the box orientation styles are applied.\n var textPos = 0;\n switch (cue.positionAlign) {\n case \"start\":\n case \"line-left\":\n textPos = cue.position;\n break;\n case \"center\":\n textPos = cue.position - (cue.size / 2);\n break;\n case \"end\":\n case \"line-right\":\n textPos = cue.position - cue.size;\n break;\n }\n\n // Horizontal box orientation; textPos is the distance from the left edge of the\n // area to the left edge of the box and cue.size is the distance extending to\n // the right from there.\n if (cue.vertical === \"\") {\n this.applyStyles({\n left: this.formatStyle(textPos, \"%\"),\n width: this.formatStyle(cue.size, \"%\")\n });\n // Vertical box orientation; textPos is the distance from the top edge of the\n // area to the top edge of the box and cue.size is the height extending\n // downwards from there.\n } else {\n this.applyStyles({\n top: this.formatStyle(textPos, \"%\"),\n height: this.formatStyle(cue.size, \"%\")\n });\n }\n\n this.move = function(box) {\n this.applyStyles({\n top: this.formatStyle(box.top, \"px\"),\n bottom: this.formatStyle(box.bottom, \"px\"),\n left: this.formatStyle(box.left, \"px\"),\n right: this.formatStyle(box.right, \"px\"),\n height: this.formatStyle(box.height, \"px\"),\n width: this.formatStyle(box.width, \"px\")\n });\n };\n}\nCueStyleBox.prototype = _objCreate(StyleBox.prototype);\nCueStyleBox.prototype.constructor = CueStyleBox;\n\n// Represents the co-ordinates of an Element in a way that we can easily\n// compute things with such as if it overlaps or intersects with another Element.\n// Can initialize it with either a StyleBox or another BoxPosition.\nfunction BoxPosition(obj) {\n // Either a BoxPosition was passed in and we need to copy it, or a StyleBox\n // was passed in and we need to copy the results of 'getBoundingClientRect'\n // as the object returned is readonly. All co-ordinate values are in reference\n // to the viewport origin (top left).\n var lh, height, width, top;\n if (obj.div) {\n height = obj.div.offsetHeight;\n width = obj.div.offsetWidth;\n top = obj.div.offsetTop;\n\n var rects = (rects = obj.div.childNodes) && (rects = rects[0]) &&\n rects.getClientRects && rects.getClientRects();\n obj = obj.div.getBoundingClientRect();\n // In certain cases the outter div will be slightly larger then the sum of\n // the inner div's lines. This could be due to bold text, etc, on some platforms.\n // In this case we should get the average line height and use that. This will\n // result in the desired behaviour.\n lh = rects ? Math.max((rects[0] && rects[0].height) || 0, obj.height / rects.length)\n : 0;\n\n }\n this.left = obj.left;\n this.right = obj.right;\n this.top = obj.top || top;\n this.height = obj.height || height;\n this.bottom = obj.bottom || (top + (obj.height || height));\n this.width = obj.width || width;\n this.lineHeight = lh !== undefined ? lh : obj.lineHeight;\n}\n\n// Move the box along a particular axis. Optionally pass in an amount to move\n// the box. If no amount is passed then the default is the line height of the\n// box.\nBoxPosition.prototype.move = function(axis, toMove) {\n toMove = toMove !== undefined ? toMove : this.lineHeight;\n switch (axis) {\n case \"+x\":\n this.left += toMove;\n this.right += toMove;\n break;\n case \"-x\":\n this.left -= toMove;\n this.right -= toMove;\n break;\n case \"+y\":\n this.top += toMove;\n this.bottom += toMove;\n break;\n case \"-y\":\n this.top -= toMove;\n this.bottom -= toMove;\n break;\n }\n};\n\n// Check if this box overlaps another box, b2.\nBoxPosition.prototype.overlaps = function(b2) {\n return this.left < b2.right &&\n this.right > b2.left &&\n this.top < b2.bottom &&\n this.bottom > b2.top;\n};\n\n// Check if this box overlaps any other boxes in boxes.\nBoxPosition.prototype.overlapsAny = function(boxes) {\n for (var i = 0; i < boxes.length; i++) {\n if (this.overlaps(boxes[i])) {\n return true;\n }\n }\n return false;\n};\n\n// Check if this box is within another box.\nBoxPosition.prototype.within = function(container) {\n return this.top >= container.top &&\n this.bottom <= container.bottom &&\n this.left >= container.left &&\n this.right <= container.right;\n};\n\n// Check if this box is entirely within the container or it is overlapping\n// on the edge opposite of the axis direction passed. For example, if \"+x\" is\n// passed and the box is overlapping on the left edge of the container, then\n// return true.\nBoxPosition.prototype.overlapsOppositeAxis = function(container, axis) {\n switch (axis) {\n case \"+x\":\n return this.left < container.left;\n case \"-x\":\n return this.right > container.right;\n case \"+y\":\n return this.top < container.top;\n case \"-y\":\n return this.bottom > container.bottom;\n }\n};\n\n// Find the percentage of the area that this box is overlapping with another\n// box.\nBoxPosition.prototype.intersectPercentage = function(b2) {\n var x = Math.max(0, Math.min(this.right, b2.right) - Math.max(this.left, b2.left)),\n y = Math.max(0, Math.min(this.bottom, b2.bottom) - Math.max(this.top, b2.top)),\n intersectArea = x * y;\n return intersectArea / (this.height * this.width);\n};\n\n// Convert the positions from this box to CSS compatible positions using\n// the reference container's positions. This has to be done because this\n// box's positions are in reference to the viewport origin, whereas, CSS\n// values are in referecne to their respective edges.\nBoxPosition.prototype.toCSSCompatValues = function(reference) {\n return {\n top: this.top - reference.top,\n bottom: reference.bottom - this.bottom,\n left: this.left - reference.left,\n right: reference.right - this.right,\n height: this.height,\n width: this.width\n };\n};\n\n// Get an object that represents the box's position without anything extra.\n// Can pass a StyleBox, HTMLElement, or another BoxPositon.\nBoxPosition.getSimpleBoxPosition = function(obj) {\n var height = obj.div ? obj.div.offsetHeight : obj.tagName ? obj.offsetHeight : 0;\n var width = obj.div ? obj.div.offsetWidth : obj.tagName ? obj.offsetWidth : 0;\n var top = obj.div ? obj.div.offsetTop : obj.tagName ? obj.offsetTop : 0;\n\n obj = obj.div ? obj.div.getBoundingClientRect() :\n obj.tagName ? obj.getBoundingClientRect() : obj;\n var ret = {\n left: obj.left,\n right: obj.right,\n top: obj.top || top,\n height: obj.height || height,\n bottom: obj.bottom || (top + (obj.height || height)),\n width: obj.width || width\n };\n return ret;\n};\n\n// Move a StyleBox to its specified, or next best, position. The containerBox\n// is the box that contains the StyleBox, such as a div. boxPositions are\n// a list of other boxes that the styleBox can't overlap with.\nfunction moveBoxToLinePosition(window, styleBox, containerBox, boxPositions) {\n\n // Find the best position for a cue box, b, on the video. The axis parameter\n // is a list of axis, the order of which, it will move the box along. For example:\n // Passing [\"+x\", \"-x\"] will move the box first along the x axis in the positive\n // direction. If it doesn't find a good position for it there it will then move\n // it along the x axis in the negative direction.\n function findBestPosition(b, axis) {\n var bestPosition,\n specifiedPosition = new BoxPosition(b),\n percentage = 1; // Highest possible so the first thing we get is better.\n\n for (var i = 0; i < axis.length; i++) {\n while (b.overlapsOppositeAxis(containerBox, axis[i]) ||\n (b.within(containerBox) && b.overlapsAny(boxPositions))) {\n b.move(axis[i]);\n }\n // We found a spot where we aren't overlapping anything. This is our\n // best position.\n if (b.within(containerBox)) {\n return b;\n }\n var p = b.intersectPercentage(containerBox);\n // If we're outside the container box less then we were on our last try\n // then remember this position as the best position.\n if (percentage > p) {\n bestPosition = new BoxPosition(b);\n percentage = p;\n }\n // Reset the box position to the specified position.\n b = new BoxPosition(specifiedPosition);\n }\n return bestPosition || specifiedPosition;\n }\n\n var boxPosition = new BoxPosition(styleBox),\n cue = styleBox.cue,\n linePos = computeLinePos(cue),\n axis = [];\n\n // If we have a line number to align the cue to.\n if (cue.snapToLines) {\n var size;\n switch (cue.vertical) {\n case \"\":\n axis = [ \"+y\", \"-y\" ];\n size = \"height\";\n break;\n case \"rl\":\n axis = [ \"+x\", \"-x\" ];\n size = \"width\";\n break;\n case \"lr\":\n axis = [ \"-x\", \"+x\" ];\n size = \"width\";\n break;\n }\n\n var step = boxPosition.lineHeight,\n position = step * Math.round(linePos),\n maxPosition = containerBox[size] + step,\n initialAxis = axis[0];\n\n // If the specified intial position is greater then the max position then\n // clamp the box to the amount of steps it would take for the box to\n // reach the max position.\n if (Math.abs(position) > maxPosition) {\n position = position < 0 ? -1 : 1;\n position *= Math.ceil(maxPosition / step) * step;\n }\n\n // If computed line position returns negative then line numbers are\n // relative to the bottom of the video instead of the top. Therefore, we\n // need to increase our initial position by the length or width of the\n // video, depending on the writing direction, and reverse our axis directions.\n if (linePos < 0) {\n position += cue.vertical === \"\" ? containerBox.height : containerBox.width;\n axis = axis.reverse();\n }\n\n // Move the box to the specified position. This may not be its best\n // position.\n boxPosition.move(initialAxis, position);\n\n } else {\n // If we have a percentage line value for the cue.\n var calculatedPercentage = (boxPosition.lineHeight / containerBox.height) * 100;\n\n switch (cue.lineAlign) {\n case \"center\":\n linePos -= (calculatedPercentage / 2);\n break;\n case \"end\":\n linePos -= calculatedPercentage;\n break;\n }\n\n // Apply initial line position to the cue box.\n switch (cue.vertical) {\n case \"\":\n styleBox.applyStyles({\n top: styleBox.formatStyle(linePos, \"%\")\n });\n break;\n case \"rl\":\n styleBox.applyStyles({\n left: styleBox.formatStyle(linePos, \"%\")\n });\n break;\n case \"lr\":\n styleBox.applyStyles({\n right: styleBox.formatStyle(linePos, \"%\")\n });\n break;\n }\n\n axis = [ \"+y\", \"-x\", \"+x\", \"-y\" ];\n\n // Get the box position again after we've applied the specified positioning\n // to it.\n boxPosition = new BoxPosition(styleBox);\n }\n\n var bestPosition = findBestPosition(boxPosition, axis);\n styleBox.move(bestPosition.toCSSCompatValues(containerBox));\n}\n\nfunction WebVTT() {\n // Nothing\n}\n\n// Helper to allow strings to be decoded instead of the default binary utf8 data.\nWebVTT.StringDecoder = function() {\n return {\n decode: function(data) {\n if (!data) {\n return \"\";\n }\n if (typeof data !== \"string\") {\n throw new Error(\"Error - expected string data.\");\n }\n return decodeURIComponent(encodeURIComponent(data));\n }\n };\n};\n\nWebVTT.convertCueToDOMTree = function(window, cuetext) {\n if (!window || !cuetext) {\n return null;\n }\n return parseContent(window, cuetext);\n};\n\nvar FONT_SIZE_PERCENT = 0.05;\nvar FONT_STYLE = \"sans-serif\";\nvar CUE_BACKGROUND_PADDING = \"1.5%\";\n\n// Runs the processing model over the cues and regions passed to it.\n// @param overlay A block level element (usually a div) that the computed cues\n// and regions will be placed into.\nWebVTT.processCues = function(window, cues, overlay) {\n if (!window || !cues || !overlay) {\n return null;\n }\n\n // Remove all previous children.\n while (overlay.firstChild) {\n overlay.removeChild(overlay.firstChild);\n }\n\n var paddedOverlay = window.document.createElement(\"div\");\n paddedOverlay.style.position = \"absolute\";\n paddedOverlay.style.left = \"0\";\n paddedOverlay.style.right = \"0\";\n paddedOverlay.style.top = \"0\";\n paddedOverlay.style.bottom = \"0\";\n paddedOverlay.style.margin = CUE_BACKGROUND_PADDING;\n overlay.appendChild(paddedOverlay);\n\n // Determine if we need to compute the display states of the cues. This could\n // be the case if a cue's state has been changed since the last computation or\n // if it has not been computed yet.\n function shouldCompute(cues) {\n for (var i = 0; i < cues.length; i++) {\n if (cues[i].hasBeenReset || !cues[i].displayState) {\n return true;\n }\n }\n return false;\n }\n\n // We don't need to recompute the cues' display states. Just reuse them.\n if (!shouldCompute(cues)) {\n for (var i = 0; i < cues.length; i++) {\n paddedOverlay.appendChild(cues[i].displayState);\n }\n return;\n }\n\n var boxPositions = [],\n containerBox = BoxPosition.getSimpleBoxPosition(paddedOverlay),\n fontSize = Math.round(containerBox.height * FONT_SIZE_PERCENT * 100) / 100;\n var styleOptions = {\n font: fontSize + \"px \" + FONT_STYLE\n };\n\n (function() {\n var styleBox, cue;\n\n for (var i = 0; i < cues.length; i++) {\n cue = cues[i];\n\n // Compute the intial position and styles of the cue div.\n styleBox = new CueStyleBox(window, cue, styleOptions);\n paddedOverlay.appendChild(styleBox.div);\n\n // Move the cue div to it's correct line position.\n moveBoxToLinePosition(window, styleBox, containerBox, boxPositions);\n\n // Remember the computed div so that we don't have to recompute it later\n // if we don't have too.\n cue.displayState = styleBox.div;\n\n boxPositions.push(BoxPosition.getSimpleBoxPosition(styleBox));\n }\n })();\n};\n\nWebVTT.Parser = function(window, vttjs, decoder) {\n if (!decoder) {\n decoder = vttjs;\n vttjs = {};\n }\n if (!vttjs) {\n vttjs = {};\n }\n\n this.window = window;\n this.vttjs = vttjs;\n this.state = \"INITIAL\";\n this.buffer = \"\";\n this.decoder = decoder || new TextDecoder(\"utf8\");\n this.regionList = [];\n};\n\nWebVTT.Parser.prototype = {\n // If the error is a ParsingError then report it to the consumer if\n // possible. If it's not a ParsingError then throw it like normal.\n reportOrThrowError: function(e) {\n if (e instanceof ParsingError) {\n this.onparsingerror && this.onparsingerror(e);\n } else {\n throw e;\n }\n },\n parse: function (data) {\n var self = this;\n\n // If there is no data then we won't decode it, but will just try to parse\n // whatever is in buffer already. This may occur in circumstances, for\n // example when flush() is called.\n if (data) {\n // Try to decode the data that we received.\n self.buffer += self.decoder.decode(data, {stream: true});\n }\n\n function collectNextLine() {\n var buffer = self.buffer;\n var pos = 0;\n while (pos < buffer.length && buffer[pos] !== '\\r' && buffer[pos] !== '\\n') {\n ++pos;\n }\n var line = buffer.substr(0, pos);\n // Advance the buffer early in case we fail below.\n if (buffer[pos] === '\\r') {\n ++pos;\n }\n if (buffer[pos] === '\\n') {\n ++pos;\n }\n self.buffer = buffer.substr(pos);\n return line;\n }\n\n // 3.4 WebVTT region and WebVTT region settings syntax\n function parseRegion(input) {\n var settings = new Settings();\n\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"id\":\n settings.set(k, v);\n break;\n case \"width\":\n settings.percent(k, v);\n break;\n case \"lines\":\n settings.integer(k, v);\n break;\n case \"regionanchor\":\n case \"viewportanchor\":\n var xy = v.split(',');\n if (xy.length !== 2) {\n break;\n }\n // We have to make sure both x and y parse, so use a temporary\n // settings object here.\n var anchor = new Settings();\n anchor.percent(\"x\", xy[0]);\n anchor.percent(\"y\", xy[1]);\n if (!anchor.has(\"x\") || !anchor.has(\"y\")) {\n break;\n }\n settings.set(k + \"X\", anchor.get(\"x\"));\n settings.set(k + \"Y\", anchor.get(\"y\"));\n break;\n case \"scroll\":\n settings.alt(k, v, [\"up\"]);\n break;\n }\n }, /=/, /\\s/);\n\n // Create the region, using default values for any values that were not\n // specified.\n if (settings.has(\"id\")) {\n var region = new (self.vttjs.VTTRegion || self.window.VTTRegion)();\n region.width = settings.get(\"width\", 100);\n region.lines = settings.get(\"lines\", 3);\n region.regionAnchorX = settings.get(\"regionanchorX\", 0);\n region.regionAnchorY = settings.get(\"regionanchorY\", 100);\n region.viewportAnchorX = settings.get(\"viewportanchorX\", 0);\n region.viewportAnchorY = settings.get(\"viewportanchorY\", 100);\n region.scroll = settings.get(\"scroll\", \"\");\n // Register the region.\n self.onregion && self.onregion(region);\n // Remember the VTTRegion for later in case we parse any VTTCues that\n // reference it.\n self.regionList.push({\n id: settings.get(\"id\"),\n region: region\n });\n }\n }\n\n // draft-pantos-http-live-streaming-20\n // https://tools.ietf.org/html/draft-pantos-http-live-streaming-20#section-3.5\n // 3.5 WebVTT\n function parseTimestampMap(input) {\n var settings = new Settings();\n\n parseOptions(input, function(k, v) {\n switch(k) {\n case \"MPEGT\":\n settings.integer(k + 'S', v);\n break;\n case \"LOCA\":\n settings.set(k + 'L', parseTimeStamp(v));\n break;\n }\n }, /[^\\d]:/, /,/);\n\n self.ontimestampmap && self.ontimestampmap({\n \"MPEGTS\": settings.get(\"MPEGTS\"),\n \"LOCAL\": settings.get(\"LOCAL\")\n });\n }\n\n // 3.2 WebVTT metadata header syntax\n function parseHeader(input) {\n if (input.match(/X-TIMESTAMP-MAP/)) {\n // This line contains HLS X-TIMESTAMP-MAP metadata\n parseOptions(input, function(k, v) {\n switch(k) {\n case \"X-TIMESTAMP-MAP\":\n parseTimestampMap(v);\n break;\n }\n }, /=/);\n } else {\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"Region\":\n // 3.3 WebVTT region metadata header syntax\n parseRegion(v);\n break;\n }\n }, /:/);\n }\n\n }\n\n // 5.1 WebVTT file parsing.\n try {\n var line;\n if (self.state === \"INITIAL\") {\n // We can't start parsing until we have the first line.\n if (!/\\r\\n|\\n/.test(self.buffer)) {\n return this;\n }\n\n line = collectNextLine();\n\n var m = line.match(/^WEBVTT([ \\t].*)?$/);\n if (!m || !m[0]) {\n throw new ParsingError(ParsingError.Errors.BadSignature);\n }\n\n self.state = \"HEADER\";\n }\n\n var alreadyCollectedLine = false;\n while (self.buffer) {\n // We can't parse a line until we have the full line.\n if (!/\\r\\n|\\n/.test(self.buffer)) {\n return this;\n }\n\n if (!alreadyCollectedLine) {\n line = collectNextLine();\n } else {\n alreadyCollectedLine = false;\n }\n\n switch (self.state) {\n case \"HEADER\":\n // 13-18 - Allow a header (metadata) under the WEBVTT line.\n if (/:/.test(line)) {\n parseHeader(line);\n } else if (!line) {\n // An empty line terminates the header and starts the body (cues).\n self.state = \"ID\";\n }\n continue;\n case \"NOTE\":\n // Ignore NOTE blocks.\n if (!line) {\n self.state = \"ID\";\n }\n continue;\n case \"ID\":\n // Check for the start of NOTE blocks.\n if (/^NOTE($|[ \\t])/.test(line)) {\n self.state = \"NOTE\";\n break;\n }\n // 19-29 - Allow any number of line terminators, then initialize new cue values.\n if (!line) {\n continue;\n }\n self.cue = new (self.vttjs.VTTCue || self.window.VTTCue)(0, 0, \"\");\n // Safari still uses the old middle value and won't accept center\n try {\n self.cue.align = \"center\";\n } catch (e) {\n self.cue.align = \"middle\";\n }\n self.state = \"CUE\";\n // 30-39 - Check if self line contains an optional identifier or timing data.\n if (line.indexOf(\"-->\") === -1) {\n self.cue.id = line;\n continue;\n }\n // Process line as start of a cue.\n /*falls through*/\n case \"CUE\":\n // 40 - Collect cue timings and settings.\n try {\n parseCue(line, self.cue, self.regionList);\n } catch (e) {\n self.reportOrThrowError(e);\n // In case of an error ignore rest of the cue.\n self.cue = null;\n self.state = \"BADCUE\";\n continue;\n }\n self.state = \"CUETEXT\";\n continue;\n case \"CUETEXT\":\n var hasSubstring = line.indexOf(\"-->\") !== -1;\n // 34 - If we have an empty line then report the cue.\n // 35 - If we have the special substring '-->' then report the cue,\n // but do not collect the line as we need to process the current\n // one as a new cue.\n if (!line || hasSubstring && (alreadyCollectedLine = true)) {\n // We are done parsing self cue.\n self.oncue && self.oncue(self.cue);\n self.cue = null;\n self.state = \"ID\";\n continue;\n }\n if (self.cue.text) {\n self.cue.text += \"\\n\";\n }\n self.cue.text += line.replace(/\\u2028/g, '\\n').replace(/u2029/g, '\\n');\n continue;\n case \"BADCUE\": // BADCUE\n // 54-62 - Collect and discard the remaining cue.\n if (!line) {\n self.state = \"ID\";\n }\n continue;\n }\n }\n } catch (e) {\n self.reportOrThrowError(e);\n\n // If we are currently parsing a cue, report what we have.\n if (self.state === \"CUETEXT\" && self.cue && self.oncue) {\n self.oncue(self.cue);\n }\n self.cue = null;\n // Enter BADWEBVTT state if header was not parsed correctly otherwise\n // another exception occurred so enter BADCUE state.\n self.state = self.state === \"INITIAL\" ? \"BADWEBVTT\" : \"BADCUE\";\n }\n return this;\n },\n flush: function () {\n var self = this;\n try {\n // Finish decoding the stream.\n self.buffer += self.decoder.decode();\n // Synthesize the end of the current cue or region.\n if (self.cue || self.state === \"HEADER\") {\n self.buffer += \"\\n\\n\";\n self.parse();\n }\n // If we've flushed, parsed, and we're still on the INITIAL state then\n // that means we don't have enough of the stream to parse the first\n // line.\n if (self.state === \"INITIAL\") {\n throw new ParsingError(ParsingError.Errors.BadSignature);\n }\n } catch(e) {\n self.reportOrThrowError(e);\n }\n self.onflush && self.onflush();\n return this;\n }\n};\n\nmodule.exports = WebVTT;\n"],"names":["document","require$$0","_objCreate","F","o","ParsingError","errorData","message","parseTimeStamp","input","computeSeconds","h","m","s","Settings","k","v","dflt","defaultKey","a","n","parseOptions","callback","keyValueDelim","groupDelim","groups","i","kv","parseCue","cue","regionList","oInput","consumeTimeStamp","ts","consumeCueSettings","settings","vals","vals0","skipWhitespace","TEXTAREA_ELEMENT","TAG_NAME","DEFAULT_COLOR_CLASS","TAG_ANNOTATION","NEEDS_PARENT","parseContent","window","nextToken","consume","result","unescape","shouldAdd","current","element","createElement","type","annotation","tagName","name","rootDiv","t","tagStack","node","classes","cl","bgColor","colorName","propName","propValue","strongRTLRanges","isStrongRTLChar","charCode","currentRange","determineBidi","cueDiv","nodeStack","text","pushNodes","nextTextNode","computeLinePos","track","trackList","count","StyleBox","styles","div","prop","val","unit","CueStyleBox","styleOptions","textPos","box","BoxPosition","obj","lh","height","width","top","rects","axis","toMove","b2","boxes","container","x","y","intersectArea","reference","ret","moveBoxToLinePosition","styleBox","containerBox","boxPositions","findBestPosition","b","bestPosition","specifiedPosition","percentage","p","boxPosition","linePos","size","step","position","maxPosition","initialAxis","calculatedPercentage","WebVTT","data","cuetext","FONT_SIZE_PERCENT","FONT_STYLE","CUE_BACKGROUND_PADDING","cues","overlay","paddedOverlay","shouldCompute","fontSize","vttjs","decoder","self","collectNextLine","buffer","pos","line","parseRegion","xy","anchor","region","parseTimestampMap","parseHeader","alreadyCollectedLine","e","hasSubstring","vtt"],"mappings":"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IAC7E,CAAC,OAAS,KAAO;AAAA,IAAG,CAAC,OAAS,KAAO;AAAA,IAAG,CAAC,OAAS,KAAO;AAAA,IAAG,CAAC,OAAS,KAAO;AAAA,IAC7E,CAAC,OAAS,KAAO;AAAA,IAAG,CAAC,OAAS,KAAO;AAAA,IAAG,CAAC,OAAS,KAAO;AAAA,IAAG,CAAC,OAAS,KAAO;AAAA,IAC7E,CAAC,OAAS,KAAO;AAAA,IAAG,CAAC,OAAS,KAAO;AAAA,IAAG,CAAC,OAAS,KAAO;AAAA,IAAG,CAAC,OAAS,KAAO;AAAA,IAC7E,CAAC,OAAS,KAAO;AAAA,IAAG,CAAC,OAAS,KAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAC7E,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAC7E,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAC7E,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAC7E,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAC7E,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAC7E,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAC7E,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAC7E,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,QAAS,MAAO;AAAA,IAAG,CAAC,SAA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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
var s, T;
|
|
2
|
+
function x() {
|
|
3
|
+
if (T) return s;
|
|
4
|
+
T = 1;
|
|
5
|
+
var R = "auto", y = {
|
|
6
|
+
"": 1,
|
|
7
|
+
lr: 1,
|
|
8
|
+
rl: 1
|
|
9
|
+
}, B = {
|
|
10
|
+
start: 1,
|
|
11
|
+
center: 1,
|
|
12
|
+
end: 1,
|
|
13
|
+
left: 1,
|
|
14
|
+
right: 1,
|
|
15
|
+
auto: 1,
|
|
16
|
+
"line-left": 1,
|
|
17
|
+
"line-right": 1
|
|
18
|
+
};
|
|
19
|
+
function E(n) {
|
|
20
|
+
if (typeof n != "string")
|
|
21
|
+
return !1;
|
|
22
|
+
var r = y[n.toLowerCase()];
|
|
23
|
+
return r ? n.toLowerCase() : !1;
|
|
24
|
+
}
|
|
25
|
+
function i(n) {
|
|
26
|
+
if (typeof n != "string")
|
|
27
|
+
return !1;
|
|
28
|
+
var r = B[n.toLowerCase()];
|
|
29
|
+
return r ? n.toLowerCase() : !1;
|
|
30
|
+
}
|
|
31
|
+
function u(n, r, S) {
|
|
32
|
+
this.hasBeenReset = !1;
|
|
33
|
+
var a = "", o = !1, f = n, l = r, c = S, g = null, h = "", m = !0, d = "auto", w = "start", b = "auto", p = "auto", v = 100, _ = "center";
|
|
34
|
+
Object.defineProperties(this, {
|
|
35
|
+
id: {
|
|
36
|
+
enumerable: !0,
|
|
37
|
+
get: function() {
|
|
38
|
+
return a;
|
|
39
|
+
},
|
|
40
|
+
set: function(e) {
|
|
41
|
+
a = "" + e;
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
pauseOnExit: {
|
|
45
|
+
enumerable: !0,
|
|
46
|
+
get: function() {
|
|
47
|
+
return o;
|
|
48
|
+
},
|
|
49
|
+
set: function(e) {
|
|
50
|
+
o = !!e;
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
startTime: {
|
|
54
|
+
enumerable: !0,
|
|
55
|
+
get: function() {
|
|
56
|
+
return f;
|
|
57
|
+
},
|
|
58
|
+
set: function(e) {
|
|
59
|
+
if (typeof e != "number")
|
|
60
|
+
throw new TypeError("Start time must be set to a number.");
|
|
61
|
+
f = e, this.hasBeenReset = !0;
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
endTime: {
|
|
65
|
+
enumerable: !0,
|
|
66
|
+
get: function() {
|
|
67
|
+
return l;
|
|
68
|
+
},
|
|
69
|
+
set: function(e) {
|
|
70
|
+
if (typeof e != "number")
|
|
71
|
+
throw new TypeError("End time must be set to a number.");
|
|
72
|
+
l = e, this.hasBeenReset = !0;
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
text: {
|
|
76
|
+
enumerable: !0,
|
|
77
|
+
get: function() {
|
|
78
|
+
return c;
|
|
79
|
+
},
|
|
80
|
+
set: function(e) {
|
|
81
|
+
c = "" + e, this.hasBeenReset = !0;
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
region: {
|
|
85
|
+
enumerable: !0,
|
|
86
|
+
get: function() {
|
|
87
|
+
return g;
|
|
88
|
+
},
|
|
89
|
+
set: function(e) {
|
|
90
|
+
g = e, this.hasBeenReset = !0;
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
vertical: {
|
|
94
|
+
enumerable: !0,
|
|
95
|
+
get: function() {
|
|
96
|
+
return h;
|
|
97
|
+
},
|
|
98
|
+
set: function(e) {
|
|
99
|
+
var t = E(e);
|
|
100
|
+
if (t === !1)
|
|
101
|
+
throw new SyntaxError("Vertical: an invalid or illegal direction string was specified.");
|
|
102
|
+
h = t, this.hasBeenReset = !0;
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
snapToLines: {
|
|
106
|
+
enumerable: !0,
|
|
107
|
+
get: function() {
|
|
108
|
+
return m;
|
|
109
|
+
},
|
|
110
|
+
set: function(e) {
|
|
111
|
+
m = !!e, this.hasBeenReset = !0;
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
line: {
|
|
115
|
+
enumerable: !0,
|
|
116
|
+
get: function() {
|
|
117
|
+
return d;
|
|
118
|
+
},
|
|
119
|
+
set: function(e) {
|
|
120
|
+
if (typeof e != "number" && e !== R)
|
|
121
|
+
throw new SyntaxError("Line: an invalid number or illegal string was specified.");
|
|
122
|
+
d = e, this.hasBeenReset = !0;
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
lineAlign: {
|
|
126
|
+
enumerable: !0,
|
|
127
|
+
get: function() {
|
|
128
|
+
return w;
|
|
129
|
+
},
|
|
130
|
+
set: function(e) {
|
|
131
|
+
var t = i(e);
|
|
132
|
+
t ? (w = t, this.hasBeenReset = !0) : console.warn("lineAlign: an invalid or illegal string was specified.");
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
position: {
|
|
136
|
+
enumerable: !0,
|
|
137
|
+
get: function() {
|
|
138
|
+
return b;
|
|
139
|
+
},
|
|
140
|
+
set: function(e) {
|
|
141
|
+
if (e < 0 || e > 100)
|
|
142
|
+
throw new Error("Position must be between 0 and 100.");
|
|
143
|
+
b = e, this.hasBeenReset = !0;
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
positionAlign: {
|
|
147
|
+
enumerable: !0,
|
|
148
|
+
get: function() {
|
|
149
|
+
return p;
|
|
150
|
+
},
|
|
151
|
+
set: function(e) {
|
|
152
|
+
var t = i(e);
|
|
153
|
+
t ? (p = t, this.hasBeenReset = !0) : console.warn("positionAlign: an invalid or illegal string was specified.");
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
size: {
|
|
157
|
+
enumerable: !0,
|
|
158
|
+
get: function() {
|
|
159
|
+
return v;
|
|
160
|
+
},
|
|
161
|
+
set: function(e) {
|
|
162
|
+
if (e < 0 || e > 100)
|
|
163
|
+
throw new Error("Size must be between 0 and 100.");
|
|
164
|
+
v = e, this.hasBeenReset = !0;
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
align: {
|
|
168
|
+
enumerable: !0,
|
|
169
|
+
get: function() {
|
|
170
|
+
return _;
|
|
171
|
+
},
|
|
172
|
+
set: function(e) {
|
|
173
|
+
var t = i(e);
|
|
174
|
+
if (!t)
|
|
175
|
+
throw new SyntaxError("align: an invalid or illegal alignment string was specified.");
|
|
176
|
+
_ = t, this.hasBeenReset = !0;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}), this.displayState = void 0;
|
|
180
|
+
}
|
|
181
|
+
return u.prototype.getCueAsHTML = function() {
|
|
182
|
+
return WebVTT.convertCueToDOMTree(window, this.text);
|
|
183
|
+
}, s = u, s;
|
|
184
|
+
}
|
|
185
|
+
export {
|
|
186
|
+
x as __require
|
|
187
|
+
};
|
|
188
|
+
//# sourceMappingURL=vttcue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vttcue.js","sources":["../../../../../../../../node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/vttcue.js"],"sourcesContent":["/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nvar autoKeyword = \"auto\";\nvar directionSetting = {\n \"\": 1,\n \"lr\": 1,\n \"rl\": 1\n};\nvar alignSetting = {\n \"start\": 1,\n \"center\": 1,\n \"end\": 1,\n \"left\": 1,\n \"right\": 1,\n \"auto\": 1,\n \"line-left\": 1,\n \"line-right\": 1\n};\n\nfunction findDirectionSetting(value) {\n if (typeof value !== \"string\") {\n return false;\n }\n var dir = directionSetting[value.toLowerCase()];\n return dir ? value.toLowerCase() : false;\n}\n\nfunction findAlignSetting(value) {\n if (typeof value !== \"string\") {\n return false;\n }\n var align = alignSetting[value.toLowerCase()];\n return align ? value.toLowerCase() : false;\n}\n\nfunction VTTCue(startTime, endTime, text) {\n /**\n * Shim implementation specific properties. These properties are not in\n * the spec.\n */\n\n // Lets us know when the VTTCue's data has changed in such a way that we need\n // to recompute its display state. This lets us compute its display state\n // lazily.\n this.hasBeenReset = false;\n\n /**\n * VTTCue and TextTrackCue properties\n * http://dev.w3.org/html5/webvtt/#vttcue-interface\n */\n\n var _id = \"\";\n var _pauseOnExit = false;\n var _startTime = startTime;\n var _endTime = endTime;\n var _text = text;\n var _region = null;\n var _vertical = \"\";\n var _snapToLines = true;\n var _line = \"auto\";\n var _lineAlign = \"start\";\n var _position = \"auto\";\n var _positionAlign = \"auto\";\n var _size = 100;\n var _align = \"center\";\n\n Object.defineProperties(this, {\n \"id\": {\n enumerable: true,\n get: function() {\n return _id;\n },\n set: function(value) {\n _id = \"\" + value;\n }\n },\n\n \"pauseOnExit\": {\n enumerable: true,\n get: function() {\n return _pauseOnExit;\n },\n set: function(value) {\n _pauseOnExit = !!value;\n }\n },\n\n \"startTime\": {\n enumerable: true,\n get: function() {\n return _startTime;\n },\n set: function(value) {\n if (typeof value !== \"number\") {\n throw new TypeError(\"Start time must be set to a number.\");\n }\n _startTime = value;\n this.hasBeenReset = true;\n }\n },\n\n \"endTime\": {\n enumerable: true,\n get: function() {\n return _endTime;\n },\n set: function(value) {\n if (typeof value !== \"number\") {\n throw new TypeError(\"End time must be set to a number.\");\n }\n _endTime = value;\n this.hasBeenReset = true;\n }\n },\n\n \"text\": {\n enumerable: true,\n get: function() {\n return _text;\n },\n set: function(value) {\n _text = \"\" + value;\n this.hasBeenReset = true;\n }\n },\n\n \"region\": {\n enumerable: true,\n get: function() {\n return _region;\n },\n set: function(value) {\n _region = value;\n this.hasBeenReset = true;\n }\n },\n\n \"vertical\": {\n enumerable: true,\n get: function() {\n return _vertical;\n },\n set: function(value) {\n var setting = findDirectionSetting(value);\n // Have to check for false because the setting an be an empty string.\n if (setting === false) {\n throw new SyntaxError(\"Vertical: an invalid or illegal direction string was specified.\");\n }\n _vertical = setting;\n this.hasBeenReset = true;\n }\n },\n\n \"snapToLines\": {\n enumerable: true,\n get: function() {\n return _snapToLines;\n },\n set: function(value) {\n _snapToLines = !!value;\n this.hasBeenReset = true;\n }\n },\n\n \"line\": {\n enumerable: true,\n get: function() {\n return _line;\n },\n set: function(value) {\n if (typeof value !== \"number\" && value !== autoKeyword) {\n throw new SyntaxError(\"Line: an invalid number or illegal string was specified.\");\n }\n _line = value;\n this.hasBeenReset = true;\n }\n },\n\n \"lineAlign\": {\n enumerable: true,\n get: function() {\n return _lineAlign;\n },\n set: function(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n console.warn(\"lineAlign: an invalid or illegal string was specified.\");\n } else {\n _lineAlign = setting;\n this.hasBeenReset = true;\n }\n }\n },\n\n \"position\": {\n enumerable: true,\n get: function() {\n return _position;\n },\n set: function(value) {\n if (value < 0 || value > 100) {\n throw new Error(\"Position must be between 0 and 100.\");\n }\n _position = value;\n this.hasBeenReset = true;\n }\n },\n\n \"positionAlign\": {\n enumerable: true,\n get: function() {\n return _positionAlign;\n },\n set: function(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n console.warn(\"positionAlign: an invalid or illegal string was specified.\");\n } else {\n _positionAlign = setting;\n this.hasBeenReset = true;\n }\n }\n },\n\n \"size\": {\n enumerable: true,\n get: function() {\n return _size;\n },\n set: function(value) {\n if (value < 0 || value > 100) {\n throw new Error(\"Size must be between 0 and 100.\");\n }\n _size = value;\n this.hasBeenReset = true;\n }\n },\n\n \"align\": {\n enumerable: true,\n get: function() {\n return _align;\n },\n set: function(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError(\"align: an invalid or illegal alignment string was specified.\");\n }\n _align = setting;\n this.hasBeenReset = true;\n }\n }\n });\n\n /**\n * Other <track> spec defined properties\n */\n\n // http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#text-track-cue-display-state\n this.displayState = undefined;\n}\n\n/**\n * VTTCue methods\n */\n\nVTTCue.prototype.getCueAsHTML = function() {\n // Assume WebVTT.convertCueToDOMTree is on the global.\n return WebVTT.convertCueToDOMTree(window, this.text);\n};\n\nmodule.exports = VTTCue;\n"],"names":["autoKeyword","directionSetting","alignSetting","findDirectionSetting","value","dir","findAlignSetting","align","VTTCue","startTime","endTime","text","_id","_pauseOnExit","_startTime","_endTime","_text","_region","_vertical","_snapToLines","_line","_lineAlign","_position","_positionAlign","_size","_align","setting","vttcue"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
var o, w;
|
|
2
|
+
function l() {
|
|
3
|
+
if (w) return o;
|
|
4
|
+
w = 1;
|
|
5
|
+
var g = {
|
|
6
|
+
"": !0,
|
|
7
|
+
up: !0
|
|
8
|
+
};
|
|
9
|
+
function h(r) {
|
|
10
|
+
if (typeof r != "string")
|
|
11
|
+
return !1;
|
|
12
|
+
var t = g[r.toLowerCase()];
|
|
13
|
+
return t ? r.toLowerCase() : !1;
|
|
14
|
+
}
|
|
15
|
+
function n(r) {
|
|
16
|
+
return typeof r == "number" && r >= 0 && r <= 100;
|
|
17
|
+
}
|
|
18
|
+
function b() {
|
|
19
|
+
var r = 100, t = 3, i = 0, u = 100, c = 0, s = 100, f = "";
|
|
20
|
+
Object.defineProperties(this, {
|
|
21
|
+
width: {
|
|
22
|
+
enumerable: !0,
|
|
23
|
+
get: function() {
|
|
24
|
+
return r;
|
|
25
|
+
},
|
|
26
|
+
set: function(e) {
|
|
27
|
+
if (!n(e))
|
|
28
|
+
throw new Error("Width must be between 0 and 100.");
|
|
29
|
+
r = e;
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
lines: {
|
|
33
|
+
enumerable: !0,
|
|
34
|
+
get: function() {
|
|
35
|
+
return t;
|
|
36
|
+
},
|
|
37
|
+
set: function(e) {
|
|
38
|
+
if (typeof e != "number")
|
|
39
|
+
throw new TypeError("Lines must be set to a number.");
|
|
40
|
+
t = e;
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
regionAnchorY: {
|
|
44
|
+
enumerable: !0,
|
|
45
|
+
get: function() {
|
|
46
|
+
return u;
|
|
47
|
+
},
|
|
48
|
+
set: function(e) {
|
|
49
|
+
if (!n(e))
|
|
50
|
+
throw new Error("RegionAnchorX must be between 0 and 100.");
|
|
51
|
+
u = e;
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
regionAnchorX: {
|
|
55
|
+
enumerable: !0,
|
|
56
|
+
get: function() {
|
|
57
|
+
return i;
|
|
58
|
+
},
|
|
59
|
+
set: function(e) {
|
|
60
|
+
if (!n(e))
|
|
61
|
+
throw new Error("RegionAnchorY must be between 0 and 100.");
|
|
62
|
+
i = e;
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
viewportAnchorY: {
|
|
66
|
+
enumerable: !0,
|
|
67
|
+
get: function() {
|
|
68
|
+
return s;
|
|
69
|
+
},
|
|
70
|
+
set: function(e) {
|
|
71
|
+
if (!n(e))
|
|
72
|
+
throw new Error("ViewportAnchorY must be between 0 and 100.");
|
|
73
|
+
s = e;
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
viewportAnchorX: {
|
|
77
|
+
enumerable: !0,
|
|
78
|
+
get: function() {
|
|
79
|
+
return c;
|
|
80
|
+
},
|
|
81
|
+
set: function(e) {
|
|
82
|
+
if (!n(e))
|
|
83
|
+
throw new Error("ViewportAnchorX must be between 0 and 100.");
|
|
84
|
+
c = e;
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
scroll: {
|
|
88
|
+
enumerable: !0,
|
|
89
|
+
get: function() {
|
|
90
|
+
return f;
|
|
91
|
+
},
|
|
92
|
+
set: function(e) {
|
|
93
|
+
var a = h(e);
|
|
94
|
+
a === !1 ? console.warn("Scroll: an invalid or illegal string was specified.") : f = a;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
return o = b, o;
|
|
100
|
+
}
|
|
101
|
+
export {
|
|
102
|
+
l as __require
|
|
103
|
+
};
|
|
104
|
+
//# sourceMappingURL=vttregion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vttregion.js","sources":["../../../../../../../../node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/vttregion.js"],"sourcesContent":["/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nvar scrollSetting = {\n \"\": true,\n \"up\": true\n};\n\nfunction findScrollSetting(value) {\n if (typeof value !== \"string\") {\n return false;\n }\n var scroll = scrollSetting[value.toLowerCase()];\n return scroll ? value.toLowerCase() : false;\n}\n\nfunction isValidPercentValue(value) {\n return typeof value === \"number\" && (value >= 0 && value <= 100);\n}\n\n// VTTRegion shim http://dev.w3.org/html5/webvtt/#vttregion-interface\nfunction VTTRegion() {\n var _width = 100;\n var _lines = 3;\n var _regionAnchorX = 0;\n var _regionAnchorY = 100;\n var _viewportAnchorX = 0;\n var _viewportAnchorY = 100;\n var _scroll = \"\";\n\n Object.defineProperties(this, {\n \"width\": {\n enumerable: true,\n get: function() {\n return _width;\n },\n set: function(value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"Width must be between 0 and 100.\");\n }\n _width = value;\n }\n },\n \"lines\": {\n enumerable: true,\n get: function() {\n return _lines;\n },\n set: function(value) {\n if (typeof value !== \"number\") {\n throw new TypeError(\"Lines must be set to a number.\");\n }\n _lines = value;\n }\n },\n \"regionAnchorY\": {\n enumerable: true,\n get: function() {\n return _regionAnchorY;\n },\n set: function(value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"RegionAnchorX must be between 0 and 100.\");\n }\n _regionAnchorY = value;\n }\n },\n \"regionAnchorX\": {\n enumerable: true,\n get: function() {\n return _regionAnchorX;\n },\n set: function(value) {\n if(!isValidPercentValue(value)) {\n throw new Error(\"RegionAnchorY must be between 0 and 100.\");\n }\n _regionAnchorX = value;\n }\n },\n \"viewportAnchorY\": {\n enumerable: true,\n get: function() {\n return _viewportAnchorY;\n },\n set: function(value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"ViewportAnchorY must be between 0 and 100.\");\n }\n _viewportAnchorY = value;\n }\n },\n \"viewportAnchorX\": {\n enumerable: true,\n get: function() {\n return _viewportAnchorX;\n },\n set: function(value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"ViewportAnchorX must be between 0 and 100.\");\n }\n _viewportAnchorX = value;\n }\n },\n \"scroll\": {\n enumerable: true,\n get: function() {\n return _scroll;\n },\n set: function(value) {\n var setting = findScrollSetting(value);\n // Have to check for false as an empty string is a legal value.\n if (setting === false) {\n console.warn(\"Scroll: an invalid or illegal string was specified.\");\n } else {\n _scroll = setting;\n }\n }\n }\n });\n}\n\nmodule.exports = VTTRegion;\n"],"names":["scrollSetting","findScrollSetting","value","scroll","isValidPercentValue","VTTRegion","_width","_lines","_regionAnchorX","_regionAnchorY","_viewportAnchorX","_viewportAnchorY","_scroll","setting","vttregion"],"mappings":";;;;AAgBA,MAAIA,IAAgB;AAAA,IAClB,IAAI;AAAA,IACJ,IAAM;AAAA,EACP;AAED,WAASC,EAAkBC,GAAO;AAChC,QAAI,OAAOA,KAAU;AACnB,aAAO;AAET,QAAIC,IAASH,EAAcE,EAAM,YAAW,CAAE;AAC9C,WAAOC,IAASD,EAAM,YAAW,IAAK;AAAA,EACxC;AAEA,WAASE,EAAoBF,GAAO;AAClC,WAAO,OAAOA,KAAU,YAAaA,KAAS,KAAKA,KAAS;AAAA,EAC9D;AAGA,WAASG,IAAY;AACnB,QAAIC,IAAS,KACTC,IAAS,GACTC,IAAiB,GACjBC,IAAiB,KACjBC,IAAmB,GACnBC,IAAmB,KACnBC,IAAU;AAEd,WAAO,iBAAiB,MAAM;AAAA,MAC5B,OAAS;AAAA,QACP,YAAY;AAAA,QACZ,KAAK,WAAW;AACd,iBAAON;AAAA,QACR;AAAA,QACD,KAAK,SAASJ,GAAO;AACnB,cAAI,CAACE,EAAoBF,CAAK;AAC5B,kBAAM,IAAI,MAAM,kCAAkC;AAEpD,UAAAI,IAASJ;AAAA,QACjB;AAAA,MACK;AAAA,MACD,OAAS;AAAA,QACP,YAAY;AAAA,QACZ,KAAK,WAAW;AACd,iBAAOK;AAAA,QACR;AAAA,QACD,KAAK,SAASL,GAAO;AACnB,cAAI,OAAOA,KAAU;AACnB,kBAAM,IAAI,UAAU,gCAAgC;AAEtD,UAAAK,IAASL;AAAA,QACjB;AAAA,MACK;AAAA,MACD,eAAiB;AAAA,QACf,YAAY;AAAA,QACZ,KAAK,WAAW;AACd,iBAAOO;AAAA,QACR;AAAA,QACD,KAAK,SAASP,GAAO;AACnB,cAAI,CAACE,EAAoBF,CAAK;AAC5B,kBAAM,IAAI,MAAM,0CAA0C;AAE5D,UAAAO,IAAiBP;AAAA,QACzB;AAAA,MACK;AAAA,MACD,eAAiB;AAAA,QACf,YAAY;AAAA,QACZ,KAAK,WAAW;AACd,iBAAOM;AAAA,QACR;AAAA,QACD,KAAK,SAASN,GAAO;AACnB,cAAG,CAACE,EAAoBF,CAAK;AAC3B,kBAAM,IAAI,MAAM,0CAA0C;AAE5D,UAAAM,IAAiBN;AAAA,QACzB;AAAA,MACK;AAAA,MACD,iBAAmB;AAAA,QACjB,YAAY;AAAA,QACZ,KAAK,WAAW;AACd,iBAAOS;AAAA,QACR;AAAA,QACD,KAAK,SAAST,GAAO;AACnB,cAAI,CAACE,EAAoBF,CAAK;AAC5B,kBAAM,IAAI,MAAM,4CAA4C;AAE9D,UAAAS,IAAmBT;AAAA,QAC3B;AAAA,MACK;AAAA,MACD,iBAAmB;AAAA,QACjB,YAAY;AAAA,QACZ,KAAK,WAAW;AACd,iBAAOQ;AAAA,QACR;AAAA,QACD,KAAK,SAASR,GAAO;AACnB,cAAI,CAACE,EAAoBF,CAAK;AAC5B,kBAAM,IAAI,MAAM,4CAA4C;AAE9D,UAAAQ,IAAmBR;AAAA,QAC3B;AAAA,MACK;AAAA,MACD,QAAU;AAAA,QACR,YAAY;AAAA,QACZ,KAAK,WAAW;AACd,iBAAOU;AAAA,QACR;AAAA,QACD,KAAK,SAASV,GAAO;AACnB,cAAIW,IAAUZ,EAAkBC,CAAK;AAErC,UAAIW,MAAY,KACd,QAAQ,KAAK,qDAAqD,IAElED,IAAUC;AAAA,QAEpB;AAAA,MACA;AAAA,IACA,CAAG;AAAA,EACH;AAEA,SAAAC,IAAiBT;;","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.no-scrollbars{scrollbar-width:thin;scrollbar-color:transparent transparent;&::-webkit-scrollbar{width:1px}&::-webkit-scrollbar-track{background:transparent}&::-webkit-scrollbar-thumb{background-color:transparent}}.no-scrollbars::-webkit-scrollbar{display:none}
|
|
1
|
+
.no-scrollbars{scrollbar-width:thin;scrollbar-color:transparent transparent;&::-webkit-scrollbar{width:1px}&::-webkit-scrollbar-track{background:transparent}&::-webkit-scrollbar-thumb{background-color:transparent}}.no-scrollbars::-webkit-scrollbar{display:none}.vjs-svg-icon{display:inline-block;background-repeat:no-repeat;background-position:center;fill:currentColor;height:1.8em;width:1.8em}.vjs-svg-icon:before{content:none!important}.vjs-svg-icon:hover,.vjs-control:focus .vjs-svg-icon{filter:drop-shadow(0 0 .25em #fff)}.vjs-modal-dialog .vjs-modal-dialog-content,.video-js .vjs-modal-dialog,.vjs-button>.vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{position:absolute;top:0;left:0;width:100%;height:100%}.vjs-button>.vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{text-align:center}@font-face{font-family:VideoJS;src:url(data:application/font-woff;charset=utf-8;base64,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) format("woff");font-weight:400;font-style:normal}.vjs-icon-play,.video-js .vjs-play-control .vjs-icon-placeholder,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-play:before,.video-js .vjs-play-control .vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{content:""}.vjs-icon-play-circle{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-play-circle:before{content:""}.vjs-icon-pause,.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-pause:before,.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before{content:""}.vjs-icon-volume-mute,.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-volume-mute:before,.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before{content:""}.vjs-icon-volume-low,.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-volume-low:before,.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before{content:""}.vjs-icon-volume-mid,.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-volume-mid:before,.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before{content:""}.vjs-icon-volume-high,.video-js .vjs-mute-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-volume-high:before,.video-js .vjs-mute-control .vjs-icon-placeholder:before{content:""}.vjs-icon-fullscreen-enter,.video-js .vjs-fullscreen-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-fullscreen-enter:before,.video-js .vjs-fullscreen-control .vjs-icon-placeholder:before{content:""}.vjs-icon-fullscreen-exit,.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-fullscreen-exit:before,.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before{content:""}.vjs-icon-spinner{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-spinner:before{content:""}.vjs-icon-subtitles,.video-js .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-subtitles-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-subtitles:before,.video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-subtitles-button .vjs-icon-placeholder:before{content:""}.vjs-icon-captions,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-captions-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-captions:before,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-captions-button .vjs-icon-placeholder:before{content:""}.vjs-icon-hd{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-hd:before{content:""}.vjs-icon-chapters,.video-js .vjs-chapters-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-chapters:before,.video-js .vjs-chapters-button .vjs-icon-placeholder:before{content:""}.vjs-icon-downloading{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-downloading:before{content:""}.vjs-icon-file-download{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-file-download:before{content:""}.vjs-icon-file-download-done{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-file-download-done:before{content:""}.vjs-icon-file-download-off{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-file-download-off:before{content:""}.vjs-icon-share{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-share:before{content:""}.vjs-icon-cog{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-cog:before{content:""}.vjs-icon-square{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-square:before{content:""}.vjs-icon-circle,.vjs-seek-to-live-control .vjs-icon-placeholder,.video-js .vjs-volume-level,.video-js .vjs-play-progress{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-circle:before,.vjs-seek-to-live-control .vjs-icon-placeholder:before,.video-js .vjs-volume-level:before,.video-js .vjs-play-progress:before{content:""}.vjs-icon-circle-outline{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-circle-outline:before{content:""}.vjs-icon-circle-inner-circle{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-circle-inner-circle:before{content:""}.vjs-icon-cancel,.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-cancel:before,.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before{content:""}.vjs-icon-repeat{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-repeat:before{content:""}.vjs-icon-replay,.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-replay:before,.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before{content:""}.vjs-icon-replay-5,.video-js .vjs-skip-backward-5 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-replay-5:before,.video-js .vjs-skip-backward-5 .vjs-icon-placeholder:before{content:""}.vjs-icon-replay-10,.video-js .vjs-skip-backward-10 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-replay-10:before,.video-js .vjs-skip-backward-10 .vjs-icon-placeholder:before{content:""}.vjs-icon-replay-30,.video-js .vjs-skip-backward-30 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-replay-30:before,.video-js .vjs-skip-backward-30 .vjs-icon-placeholder:before{content:""}.vjs-icon-forward-5,.video-js .vjs-skip-forward-5 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-forward-5:before,.video-js .vjs-skip-forward-5 .vjs-icon-placeholder:before{content:""}.vjs-icon-forward-10,.video-js .vjs-skip-forward-10 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-forward-10:before,.video-js .vjs-skip-forward-10 .vjs-icon-placeholder:before{content:""}.vjs-icon-forward-30,.video-js .vjs-skip-forward-30 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-forward-30:before,.video-js .vjs-skip-forward-30 .vjs-icon-placeholder:before{content:""}.vjs-icon-audio,.video-js .vjs-audio-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-audio:before,.video-js .vjs-audio-button .vjs-icon-placeholder:before{content:""}.vjs-icon-next-item{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-next-item:before{content:""}.vjs-icon-previous-item{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-previous-item:before{content:""}.vjs-icon-shuffle{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-shuffle:before{content:""}.vjs-icon-cast{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-cast:before{content:""}.vjs-icon-picture-in-picture-enter,.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-picture-in-picture-enter:before,.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder:before{content:""}.vjs-icon-picture-in-picture-exit,.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-picture-in-picture-exit:before,.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder:before{content:""}.vjs-icon-facebook{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-facebook:before{content:""}.vjs-icon-linkedin{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-linkedin:before{content:""}.vjs-icon-twitter{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-twitter:before{content:""}.vjs-icon-tumblr{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-tumblr:before{content:""}.vjs-icon-pinterest{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-pinterest:before{content:""}.vjs-icon-audio-description,.video-js .vjs-descriptions-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-audio-description:before,.video-js .vjs-descriptions-button .vjs-icon-placeholder:before{content:""}.video-js{display:inline-block;vertical-align:top;box-sizing:border-box;color:#fff;background-color:#000;position:relative;padding:0;font-size:10px;line-height:1;font-weight:400;font-style:normal;font-family:Arial,Helvetica,sans-serif;word-break:initial}.video-js:-moz-full-screen{position:absolute}.video-js:-webkit-full-screen{width:100%!important;height:100%!important}.video-js[tabindex="-1"]{outline:none}.video-js *,.video-js *:before,.video-js *:after{box-sizing:inherit}.video-js ul{font-family:inherit;font-size:inherit;line-height:inherit;list-style-position:outside;margin:0}.video-js.vjs-fluid,.video-js.vjs-16-9,.video-js.vjs-4-3,.video-js.vjs-9-16,.video-js.vjs-1-1{width:100%;max-width:100%}.video-js.vjs-fluid:not(.vjs-audio-only-mode),.video-js.vjs-16-9:not(.vjs-audio-only-mode),.video-js.vjs-4-3:not(.vjs-audio-only-mode),.video-js.vjs-9-16:not(.vjs-audio-only-mode),.video-js.vjs-1-1:not(.vjs-audio-only-mode){height:0}.video-js.vjs-16-9:not(.vjs-audio-only-mode){padding-top:56.25%}.video-js.vjs-4-3:not(.vjs-audio-only-mode){padding-top:75%}.video-js.vjs-9-16:not(.vjs-audio-only-mode){padding-top:177.7777777778%}.video-js.vjs-1-1:not(.vjs-audio-only-mode){padding-top:100%}.video-js.vjs-fill:not(.vjs-audio-only-mode){width:100%;height:100%}.video-js .vjs-tech{position:absolute;top:0;left:0;width:100%;height:100%}.video-js.vjs-audio-only-mode .vjs-tech{display:none}body.vjs-full-window,body.vjs-pip-window{padding:0;margin:0;height:100%}.vjs-full-window .video-js.vjs-fullscreen,body.vjs-pip-window .video-js{position:fixed;overflow:hidden;z-index:1000;inset:0}.video-js.vjs-fullscreen:not(.vjs-ios-native-fs),body.vjs-pip-window .video-js{width:100%!important;height:100%!important;padding-top:0!important;display:block}.video-js.vjs-fullscreen.vjs-user-inactive{cursor:none}.vjs-pip-container .vjs-pip-text{position:absolute;bottom:10%;font-size:2em;background-color:#000000b3;padding:.5em;text-align:center;width:100%}.vjs-layout-tiny.vjs-pip-container .vjs-pip-text,.vjs-layout-x-small.vjs-pip-container .vjs-pip-text,.vjs-layout-small.vjs-pip-container .vjs-pip-text{bottom:0;font-size:1.4em}.vjs-hidden{display:none!important}.vjs-disabled{opacity:.5;cursor:default}.video-js .vjs-offscreen{height:1px;left:-9999px;position:absolute;top:0;width:1px}.vjs-lock-showing{display:block!important;opacity:1!important;visibility:visible!important}.vjs-no-js{padding:20px;color:#fff;background-color:#000;font-size:18px;font-family:Arial,Helvetica,sans-serif;text-align:center;width:300px;height:150px;margin:0 auto}.vjs-no-js a,.vjs-no-js a:visited{color:#66a8cc}.video-js .vjs-big-play-button{font-size:3em;line-height:1.5em;height:1.63332em;width:3em;display:block;position:absolute;top:50%;left:50%;padding:0;margin-top:-.81666em;margin-left:-1.5em;cursor:pointer;opacity:1;border:.06666em solid #fff;background-color:#2b333f;background-color:#2b333fb3;border-radius:.3em;transition:all .4s}.vjs-big-play-button .vjs-svg-icon{width:1em;height:1em;position:absolute;top:50%;left:50%;line-height:1;transform:translate(-50%,-50%)}.video-js:hover .vjs-big-play-button,.video-js .vjs-big-play-button:focus{border-color:#fff;background-color:#73859f;background-color:#73859f80;transition:all 0s}.vjs-controls-disabled .vjs-big-play-button,.vjs-has-started .vjs-big-play-button,.vjs-using-native-controls .vjs-big-play-button,.vjs-error .vjs-big-play-button{display:none}.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause:not(.vjs-seeking,.vjs-scrubbing,.vjs-error) .vjs-big-play-button{display:block}.video-js button{background:none;border:none;color:inherit;display:inline-block;font-size:inherit;line-height:inherit;text-transform:none;text-decoration:none;transition:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.video-js.vjs-spatial-navigation-enabled .vjs-button:focus{outline:.0625em solid white;box-shadow:none}.vjs-control .vjs-button{width:100%;height:100%}.video-js .vjs-control.vjs-close-button{cursor:pointer;height:3em;position:absolute;right:0;top:.5em;z-index:2}.video-js .vjs-modal-dialog{background:#000c;background:linear-gradient(180deg,#000c,#fff0);overflow:auto}.video-js .vjs-modal-dialog>*{box-sizing:border-box}.vjs-modal-dialog .vjs-modal-dialog-content{font-size:1.2em;line-height:1.5;padding:20px 24px;z-index:1}.vjs-menu-button{cursor:pointer}.vjs-menu-button.vjs-disabled{cursor:default}.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu{display:none}.vjs-menu .vjs-menu-content{display:block;padding:0;margin:0;font-family:Arial,Helvetica,sans-serif;overflow:auto}.vjs-menu .vjs-menu-content>*{box-sizing:border-box}.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu{display:none}.vjs-menu li{display:flex;justify-content:center;list-style:none;margin:0;padding:.2em 0;line-height:1.4em;font-size:1.2em;text-align:center;text-transform:lowercase}.vjs-menu li.vjs-menu-item:focus,.vjs-menu li.vjs-menu-item:hover,.js-focus-visible .vjs-menu li.vjs-menu-item:hover{background-color:#73859f;background-color:#73859f80}.vjs-menu li.vjs-selected,.vjs-menu li.vjs-selected:focus,.vjs-menu li.vjs-selected:hover,.js-focus-visible .vjs-menu li.vjs-selected:hover{background-color:#fff;color:#2b333f}.vjs-menu li.vjs-selected .vjs-svg-icon,.vjs-menu li.vjs-selected:focus .vjs-svg-icon,.vjs-menu li.vjs-selected:hover .vjs-svg-icon,.js-focus-visible .vjs-menu li.vjs-selected:hover .vjs-svg-icon{fill:#000}.video-js .vjs-menu *:not(.vjs-selected):focus:not(:focus-visible),.js-focus-visible .vjs-menu *:not(.vjs-selected):focus:not(.focus-visible){background:none}.vjs-menu li.vjs-menu-title{text-align:center;text-transform:uppercase;font-size:1em;line-height:2em;padding:0;margin:0 0 .3em;font-weight:700;cursor:default}.vjs-menu-button-popup .vjs-menu{display:none;position:absolute;bottom:0;width:10em;left:-3em;height:0em;margin-bottom:1.5em;border-top-color:#2b333fb3}.vjs-pip-window .vjs-menu-button-popup .vjs-menu{left:unset;right:1em}.vjs-menu-button-popup .vjs-menu .vjs-menu-content{background-color:#2b333f;background-color:#2b333fb3;position:absolute;width:100%;bottom:1.5em;max-height:15em}.vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:5em}.vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:10em}.vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:14em}.vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:25em}.vjs-workinghover .vjs-menu-button-popup.vjs-hover .vjs-menu,.vjs-menu-button-popup .vjs-menu.vjs-lock-showing{display:block}.video-js .vjs-menu-button-inline{transition:all .4s;overflow:hidden}.video-js .vjs-menu-button-inline:before{width:2.222222222em}.video-js .vjs-menu-button-inline:hover,.video-js .vjs-menu-button-inline:focus,.video-js .vjs-menu-button-inline.vjs-slider-active{width:12em}.vjs-menu-button-inline .vjs-menu{opacity:0;height:100%;width:auto;position:absolute;left:4em;top:0;padding:0;margin:0;transition:all .4s}.vjs-menu-button-inline:hover .vjs-menu,.vjs-menu-button-inline:focus .vjs-menu,.vjs-menu-button-inline.vjs-slider-active .vjs-menu{display:block;opacity:1}.vjs-menu-button-inline .vjs-menu-content{width:auto;height:100%;margin:0;overflow:hidden}.video-js .vjs-control-bar{display:none;width:100%;position:absolute;bottom:0;left:0;right:0;height:3em;background-color:#2b333f;background-color:#2b333fb3}.video-js.vjs-spatial-navigation-enabled .vjs-control-bar{gap:1px}.video-js:not(.vjs-controls-disabled,.vjs-using-native-controls,.vjs-error) .vjs-control-bar.vjs-lock-showing{display:flex!important}.vjs-has-started .vjs-control-bar,.vjs-audio-only-mode .vjs-control-bar{display:flex;visibility:visible;opacity:1;transition:visibility .1s,opacity .1s}.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{visibility:visible;opacity:0;pointer-events:none;transition:visibility 1s,opacity 1s}.vjs-controls-disabled .vjs-control-bar,.vjs-using-native-controls .vjs-control-bar,.vjs-error .vjs-control-bar{display:none!important}.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar,.vjs-audio-only-mode.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{opacity:1;visibility:visible;pointer-events:auto}.video-js .vjs-control{position:relative;text-align:center;margin:0;padding:0;height:100%;width:4em;flex:none}.video-js .vjs-control.vjs-visible-text{width:auto;padding-left:1em;padding-right:1em}.vjs-button>.vjs-icon-placeholder:before{font-size:1.8em;line-height:1.67}.vjs-button>.vjs-icon-placeholder{display:block}.vjs-button>.vjs-svg-icon{display:inline-block}.video-js .vjs-control:focus:before,.video-js .vjs-control:hover:before,.video-js .vjs-control:focus{text-shadow:0em 0em 1em white}.video-js *:not(.vjs-visible-text)>.vjs-control-text{border:0;clip:rect(0 0 0 0);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.video-js .vjs-custom-control-spacer{display:none}.video-js .vjs-progress-control{cursor:pointer;flex:auto;display:flex;align-items:center;min-width:4em;touch-action:none}.video-js .vjs-progress-control.disabled{cursor:default}.vjs-live .vjs-progress-control{display:none}.vjs-liveui .vjs-progress-control{display:flex;align-items:center}.video-js .vjs-progress-holder{flex:auto;transition:all .2s;height:.3em}.video-js .vjs-progress-control .vjs-progress-holder{margin:0 10px}.video-js .vjs-progress-control:hover .vjs-progress-holder,.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-progress-holder{font-size:1.6666666667em}.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled{font-size:1em}.video-js .vjs-progress-holder .vjs-play-progress,.video-js .vjs-progress-holder .vjs-load-progress,.video-js .vjs-progress-holder .vjs-load-progress div{position:absolute;display:block;height:100%;margin:0;padding:0;width:0}.video-js .vjs-play-progress{background-color:#fff}.video-js .vjs-play-progress:before{font-size:.9em;position:absolute;right:-.5em;line-height:.35em;z-index:1}.vjs-svg-icons-enabled .vjs-play-progress:before{content:none!important}.vjs-play-progress .vjs-svg-icon{position:absolute;top:-.35em;right:-.4em;width:.9em;height:.9em;pointer-events:none;line-height:.15em;z-index:1}.video-js .vjs-load-progress{background:#73859f80}.video-js .vjs-load-progress div{background:#73859fbf}.video-js .vjs-time-tooltip{background-color:#fff;background-color:#fffc;border-radius:.3em;color:#000;float:right;font-family:Arial,Helvetica,sans-serif;font-size:1em;padding:6px 8px 8px;pointer-events:none;position:absolute;top:-3.4em;visibility:hidden;z-index:1}.video-js .vjs-progress-holder:focus .vjs-time-tooltip{display:none}.video-js .vjs-progress-control:hover .vjs-time-tooltip,.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip,.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-time-tooltip{display:block;font-size:.6em;visibility:visible}.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip{font-size:1em}.video-js .vjs-progress-control .vjs-mouse-display{display:none;position:absolute;width:1px;height:100%;background-color:#000;z-index:1}.video-js .vjs-progress-control:hover .vjs-mouse-display,.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display,.video-js.vjs-touch-enabled:not(.vjs-scrubbing) .vjs-progress-control .vjs-mouse-display{visibility:hidden;opacity:0;transition:visibility 1s,opacity 1s}.vjs-mouse-display .vjs-time-tooltip{color:#fff;background-color:#000;background-color:#000c}.video-js .vjs-slider{position:relative;cursor:pointer;padding:0;margin:0 .45em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:#73859f;background-color:#73859f80}.video-js .vjs-slider.disabled{cursor:default}.video-js .vjs-slider:focus{text-shadow:0em 0em 1em white;box-shadow:0 0 1em #fff}.video-js.vjs-spatial-navigation-enabled .vjs-slider:focus{outline:.0625em solid white}.video-js .vjs-mute-control{cursor:pointer;flex:none}.video-js .vjs-volume-control{cursor:pointer;margin-right:1em;display:flex}.video-js .vjs-volume-control.vjs-volume-horizontal{width:5em}.video-js .vjs-volume-panel .vjs-volume-control{visibility:visible;opacity:0;width:1px;height:1px;margin-left:-1px}.video-js .vjs-volume-panel{transition:width 1s}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control,.video-js .vjs-volume-panel:active .vjs-volume-control,.video-js .vjs-volume-panel:focus .vjs-volume-control,.video-js .vjs-volume-panel .vjs-volume-control:active,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active{visibility:visible;opacity:1;position:relative;transition:visibility .1s,opacity .1s,height .1s,width .1s,left 0s,top 0s}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal{width:5em;height:3em;margin-right:0}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical{left:-3.5em;transition:left 0s}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active{width:10em;transition:width .1s}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only{width:4em}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical{height:8em;width:3em;left:-3000em;transition:visibility 1s,opacity 1s,height 1s 1s,width 1s 1s,left 1s 1s,top 1s 1s}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal{transition:visibility 1s,opacity 1s,height 1s 1s,width 1s,left 1s 1s,top 1s 1s}.video-js .vjs-volume-panel{display:flex}.video-js .vjs-volume-bar{margin:1.35em .45em}.vjs-volume-bar.vjs-slider-horizontal{width:5em;height:.3em}.vjs-volume-bar.vjs-slider-vertical{width:.3em;height:5em;margin:1.35em auto}.video-js .vjs-volume-level{position:absolute;bottom:0;left:0;background-color:#fff}.video-js .vjs-volume-level:before{position:absolute;font-size:.9em;z-index:1}.vjs-slider-vertical .vjs-volume-level{width:.3em}.vjs-slider-vertical .vjs-volume-level:before{top:-.5em;left:-.3em;z-index:1}.vjs-svg-icons-enabled .vjs-volume-level:before{content:none}.vjs-volume-level .vjs-svg-icon{position:absolute;width:.9em;height:.9em;pointer-events:none;z-index:1}.vjs-slider-horizontal .vjs-volume-level{height:.3em}.vjs-slider-horizontal .vjs-volume-level:before{line-height:.35em;right:-.5em}.vjs-slider-horizontal .vjs-volume-level .vjs-svg-icon{right:-.3em;transform:translateY(-50%)}.vjs-slider-vertical .vjs-volume-level .vjs-svg-icon{top:-.55em;transform:translate(-50%)}.video-js .vjs-volume-panel.vjs-volume-panel-vertical{width:4em}.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level{height:100%}.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level{width:100%}.video-js .vjs-volume-vertical{width:3em;height:8em;bottom:8em;background-color:#2b333f;background-color:#2b333fb3}.video-js .vjs-volume-horizontal .vjs-menu{left:-2em}.video-js .vjs-volume-tooltip{background-color:#fff;background-color:#fffc;border-radius:.3em;color:#000;float:right;font-family:Arial,Helvetica,sans-serif;font-size:1em;padding:6px 8px 8px;pointer-events:none;position:absolute;top:-3.4em;visibility:hidden;z-index:1}.video-js .vjs-volume-control:hover .vjs-volume-tooltip,.video-js .vjs-volume-control:hover .vjs-progress-holder:focus .vjs-volume-tooltip{display:block;font-size:1em;visibility:visible}.video-js .vjs-volume-vertical:hover .vjs-volume-tooltip,.video-js .vjs-volume-vertical:hover .vjs-progress-holder:focus .vjs-volume-tooltip{left:1em;top:-12px}.video-js .vjs-volume-control.disabled:hover .vjs-volume-tooltip{font-size:1em}.video-js .vjs-volume-control .vjs-mouse-display{display:none;position:absolute;width:100%;height:1px;background-color:#000;z-index:1}.video-js .vjs-volume-horizontal .vjs-mouse-display{width:1px;height:100%}.video-js .vjs-volume-control:hover .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-volume-control .vjs-mouse-display{visibility:hidden;opacity:0;transition:visibility 1s,opacity 1s}.vjs-mouse-display .vjs-volume-tooltip{color:#fff;background-color:#000;background-color:#000c}.vjs-poster{display:inline-block;vertical-align:middle;cursor:pointer;margin:0;padding:0;position:absolute;inset:0;height:100%}.vjs-has-started .vjs-poster,.vjs-using-native-controls .vjs-poster{display:none}.vjs-audio.vjs-has-started .vjs-poster,.vjs-has-started.vjs-audio-poster-mode .vjs-poster,.vjs-pip-container.vjs-has-started .vjs-poster{display:block}.vjs-poster img{width:100%;height:100%;object-fit:contain}.video-js .vjs-live-control{display:flex;align-items:flex-start;flex:auto;font-size:1em;line-height:3em}.video-js:not(.vjs-live) .vjs-live-control,.video-js.vjs-liveui .vjs-live-control{display:none}.video-js .vjs-seek-to-live-control{align-items:center;cursor:pointer;flex:none;display:inline-flex;height:100%;padding-left:.5em;padding-right:.5em;font-size:1em;line-height:3em;width:auto;min-width:4em}.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,.video-js:not(.vjs-live) .vjs-seek-to-live-control{display:none}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge{cursor:auto}.vjs-seek-to-live-control .vjs-icon-placeholder{margin-right:.5em;color:#888}.vjs-svg-icons-enabled .vjs-seek-to-live-control{line-height:0}.vjs-seek-to-live-control .vjs-svg-icon{width:1em;height:1em;pointer-events:none;fill:#888}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder{color:red}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-svg-icon{fill:red}.video-js .vjs-time-control{flex:none;font-size:1em;line-height:3em;min-width:2em;width:auto;padding-left:1em;padding-right:1em}.vjs-live .vjs-time-control,.vjs-live .vjs-time-divider,.video-js .vjs-current-time,.video-js .vjs-duration{display:none}.vjs-time-divider{display:none;line-height:3em}.vjs-normalise-time-controls:not(.vjs-live) .vjs-time-control{display:flex}.video-js .vjs-play-control{cursor:pointer}.video-js .vjs-play-control .vjs-icon-placeholder{flex:none}.vjs-text-track-display{position:absolute;inset:0 0 3em;pointer-events:none}.vjs-error .vjs-text-track-display{display:none}.video-js.vjs-controls-disabled .vjs-text-track-display,.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display{bottom:1em}.video-js .vjs-text-track{font-size:1.4em;text-align:center;margin-bottom:.1em}.vjs-subtitles{color:#fff}.vjs-captions{color:#fc6}.vjs-tt-cue{display:block}video::-webkit-media-text-track-display{transform:translateY(-3em)}.video-js.vjs-controls-disabled video::-webkit-media-text-track-display,.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display{transform:translateY(-1.5em)}.video-js.vjs-force-center-align-cues .vjs-text-track-cue{text-align:center!important;width:80%!important}@supports not (inset: 10px){.video-js .vjs-text-track-display>div{inset:0}}.video-js .vjs-picture-in-picture-control{cursor:pointer;flex:none}.video-js.vjs-audio-only-mode .vjs-picture-in-picture-control,.vjs-pip-window .vjs-picture-in-picture-control{display:none}.video-js .vjs-fullscreen-control{cursor:pointer;flex:none}.video-js.vjs-audio-only-mode .vjs-fullscreen-control,.vjs-pip-window .vjs-fullscreen-control{display:none}.vjs-playback-rate>.vjs-menu-button,.vjs-playback-rate .vjs-playback-rate-value{position:absolute;top:0;left:0;width:100%;height:100%}.vjs-playback-rate .vjs-playback-rate-value{pointer-events:none;font-size:1.5em;line-height:2;text-align:center}.vjs-playback-rate .vjs-menu{width:4em;left:0}.vjs-error .vjs-error-display .vjs-modal-dialog-content{font-size:1.4em;text-align:center}.vjs-loading-spinner{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.85;text-align:left;border:.6em solid rgba(43,51,63,.7);box-sizing:border-box;background-clip:padding-box;width:5em;height:5em;border-radius:50%;visibility:hidden}.vjs-seeking .vjs-loading-spinner,.vjs-waiting .vjs-loading-spinner{display:flex;justify-content:center;align-items:center;animation:vjs-spinner-show 0s linear .3s forwards}.vjs-error .vjs-loading-spinner{display:none}.vjs-loading-spinner:before,.vjs-loading-spinner:after{content:"";position:absolute;box-sizing:inherit;width:inherit;height:inherit;border-radius:inherit;opacity:1;border:inherit;border-color:transparent;border-top-color:#fff}.vjs-seeking .vjs-loading-spinner:before,.vjs-seeking .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:after{animation:vjs-spinner-spin 1.1s cubic-bezier(.6,.2,0,.8) infinite,vjs-spinner-fade 1.1s linear infinite}.vjs-seeking .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:before{border-top-color:#fff}.vjs-seeking .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:after{border-top-color:#fff;animation-delay:.44s}@keyframes vjs-spinner-show{to{visibility:visible}}@keyframes vjs-spinner-spin{to{transform:rotate(360deg)}}@keyframes vjs-spinner-fade{0%{border-top-color:#73859f}20%{border-top-color:#73859f}35%{border-top-color:#fff}60%{border-top-color:#73859f}to{border-top-color:#73859f}}.video-js.vjs-audio-only-mode .vjs-captions-button{display:none}.vjs-chapters-button .vjs-menu ul{width:24em}.video-js.vjs-audio-only-mode .vjs-descriptions-button{display:none}.vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-svg-icon{width:1.5em;height:1.5em}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder{vertical-align:middle;display:inline-block;margin-bottom:-.1em}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{font-family:VideoJS;content:"";font-size:1.5em;line-height:inherit}.video-js.vjs-audio-only-mode .vjs-subs-caps-button{display:none}.video-js .vjs-audio-button+.vjs-menu .vjs-descriptions-menu-item .vjs-menu-item-text .vjs-icon-placeholder,.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder{vertical-align:middle;display:inline-block;margin-bottom:-.1em}.video-js .vjs-audio-button+.vjs-menu .vjs-descriptions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before,.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{font-family:VideoJS;content:" ";font-size:1.5em;line-height:inherit}.video-js.vjs-layout-small .vjs-current-time,.video-js.vjs-layout-small .vjs-time-divider,.video-js.vjs-layout-small .vjs-duration,.video-js.vjs-layout-small .vjs-remaining-time,.video-js.vjs-layout-small .vjs-playback-rate,.video-js.vjs-layout-small .vjs-volume-control,.video-js.vjs-layout-x-small .vjs-current-time,.video-js.vjs-layout-x-small .vjs-time-divider,.video-js.vjs-layout-x-small .vjs-duration,.video-js.vjs-layout-x-small .vjs-remaining-time,.video-js.vjs-layout-x-small .vjs-playback-rate,.video-js.vjs-layout-x-small .vjs-volume-control,.video-js.vjs-layout-tiny .vjs-current-time,.video-js.vjs-layout-tiny .vjs-time-divider,.video-js.vjs-layout-tiny .vjs-duration,.video-js.vjs-layout-tiny .vjs-remaining-time,.video-js.vjs-layout-tiny .vjs-playback-rate,.video-js.vjs-layout-tiny .vjs-volume-control{display:none}.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover{width:auto;width:initial}.video-js.vjs-layout-x-small .vjs-progress-control,.video-js.vjs-layout-tiny .vjs-progress-control{display:none}.video-js.vjs-layout-x-small .vjs-custom-control-spacer{flex:auto;display:block}.vjs-modal-dialog.vjs-text-track-settings{background-color:#2b333f;background-color:#2b333fbf;color:#fff;height:70%}.vjs-spatial-navigation-enabled .vjs-modal-dialog.vjs-text-track-settings{height:80%}.vjs-error .vjs-text-track-settings{display:none}.vjs-text-track-settings .vjs-modal-dialog-content{display:table}.vjs-text-track-settings .vjs-track-settings-colors,.vjs-text-track-settings .vjs-track-settings-font,.vjs-text-track-settings .vjs-track-settings-controls{display:table-cell}.vjs-text-track-settings .vjs-track-settings-controls{text-align:right;vertical-align:bottom}@supports (display: grid){.vjs-text-track-settings .vjs-modal-dialog-content{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;padding:20px 24px 0}.vjs-track-settings-controls .vjs-default-button{margin-bottom:20px}.vjs-text-track-settings .vjs-track-settings-controls{grid-column:1/-1}.vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content{grid-template-columns:1fr}}.vjs-text-track-settings select{font-size:inherit}.vjs-track-setting>select{margin-right:1em;margin-bottom:.5em}.vjs-text-track-settings fieldset{margin:10px;border:none}.vjs-text-track-settings fieldset span{display:inline-block;padding:0 .6em .8em}.vjs-text-track-settings fieldset span>select{max-width:7.3em}.vjs-text-track-settings legend{color:#fff;font-weight:700;font-size:1.2em}.vjs-text-track-settings .vjs-label{margin:0 .5em .5em 0}.vjs-track-settings-controls button:focus,.vjs-track-settings-controls button:active{outline-style:solid;outline-width:medium;background-image:linear-gradient(0deg,#fff 88%,#73859f)}.vjs-track-settings-controls button:hover{color:#2b333fbf}.vjs-track-settings-controls button{background-color:#fff;background-image:linear-gradient(-180deg,#fff 88%,#73859f);color:#2b333f;cursor:pointer;border-radius:2px}.vjs-track-settings-controls .vjs-default-button{margin-right:1em}.vjs-title-bar{background:#000000e6;background:linear-gradient(180deg,#000000e6,#000000b3 60%,#0000);font-size:1.2em;line-height:1.5;transition:opacity .1s;padding:.666em 1.333em 4em;pointer-events:none;position:absolute;top:0;width:100%}.vjs-error .vjs-title-bar{display:none}.vjs-title-bar-title,.vjs-title-bar-description{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vjs-title-bar-title{font-weight:700;margin-bottom:.333em}.vjs-playing.vjs-user-inactive .vjs-title-bar{opacity:0;transition:opacity 1s}.video-js .vjs-skip-forward-5,.video-js .vjs-skip-forward-10,.video-js .vjs-skip-forward-30,.video-js .vjs-skip-backward-5,.video-js .vjs-skip-backward-10,.video-js .vjs-skip-backward-30{cursor:pointer}.video-js .vjs-transient-button{position:absolute;height:3em;display:flex;align-items:center;justify-content:center;background-color:#32323280;cursor:pointer;opacity:1;transition:opacity 1s}.video-js:not(.vjs-has-started) .vjs-transient-button{display:none}.video-js.not-hover .vjs-transient-button:not(.force-display),.video-js.vjs-user-inactive .vjs-transient-button:not(.force-display){opacity:0}.video-js .vjs-transient-button span{padding:0 .5em}.video-js .vjs-transient-button.vjs-left{left:1em}.video-js .vjs-transient-button.vjs-right{right:1em}.video-js .vjs-transient-button.vjs-top{top:1em}.video-js .vjs-transient-button.vjs-near-top{top:4em}.video-js .vjs-transient-button.vjs-bottom{bottom:4em}.video-js .vjs-transient-button:hover{background-color:#323232e6}@media print{.video-js>*:not(.vjs-tech):not(.vjs-poster){visibility:hidden}}.vjs-resize-manager{position:absolute;top:0;left:0;width:100%;height:100%;border:none;z-index:-1000}.js-focus-visible .video-js *:focus:not(.focus-visible){outline:none}.video-js *:focus:not(:focus-visible){outline:none}
|