mirror of
https://github.com/DanielnetoDotCom/YouPHPTube
synced 2025-10-03 09:49:28 +02:00
Node modules update
This commit is contained in:
parent
f394ef7856
commit
12225f5c27
123 changed files with 6221 additions and 3459 deletions
|
@ -163,5 +163,5 @@ function setLanguage($lang) {
|
|||
}
|
||||
|
||||
function getLanguage(){
|
||||
return strtolower(str_replace('_', '-', $_SESSION['language']));
|
||||
return strtolower(str_replace('_', '-', $_SESSION['language']));exit;
|
||||
}
|
41
node_modules/.package-lock.json
generated
vendored
41
node_modules/.package-lock.json
generated
vendored
|
@ -130,11 +130,10 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@silvermine/videojs-chromecast": {
|
||||
"version": "1.3.3",
|
||||
"resolved": "https://registry.npmjs.org/@silvermine/videojs-chromecast/-/videojs-chromecast-1.3.3.tgz",
|
||||
"integrity": "sha512-vbytdnqgUzOYIxA1CEWYe19PHea9JlFULJSqJ00Z0E8xHwOk8LP3gtpQ4MnqH0IViciBDQmyq9ta/5rbDvDWEw==",
|
||||
"version": "1.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@silvermine/videojs-chromecast/-/videojs-chromecast-1.3.4.tgz",
|
||||
"integrity": "sha512-4VC/WEXb18Iex2Tf679RRUR+oSJhNq7+SyMGIsawFglET0IebXnwYKtO6x4t+dVd3be/iN1p5Ny6/iUnny4ljA==",
|
||||
"dependencies": {
|
||||
"class.extend": "0.9.1",
|
||||
"webcomponents.js": "git+https://git@github.com/webcomponents/webcomponentsjs.git#v0.7.24"
|
||||
},
|
||||
"peerDependencies": {
|
||||
|
@ -299,11 +298,6 @@
|
|||
"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.9.1.tgz",
|
||||
"integrity": "sha512-Ro2JbLmvg83gXF5F4sniaQ+lTbSv18E+TIf2cOeiH1Iqd2PGFOtem+DUufMZsCJwFE7ywPOpfXFBwRTGq7dh6w=="
|
||||
},
|
||||
"node_modules/class.extend": {
|
||||
"version": "0.9.1",
|
||||
"resolved": "https://registry.npmjs.org/class.extend/-/class.extend-0.9.1.tgz",
|
||||
"integrity": "sha512-Tzj+2kAkZs+iGiUOUoKvtj4c/SjeVdKZXg/NbLTGKu0kp66h69dyMHQwOSzuyIghXAUswuY24TZc0HdaJCXx2A=="
|
||||
},
|
||||
"node_modules/clone-buffer": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
|
||||
|
@ -458,9 +452,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/hls.js": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.2.0.tgz",
|
||||
"integrity": "sha512-QIEQIUpBRhcpBMq3NA+/qozG8lbNfVekuX7kCMUlhiVu4382xFWsnwcuBe/CA4Gp/wB/pf2aRBaGRFlxh/FN8g=="
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.2.1.tgz",
|
||||
"integrity": "sha512-+m/5+ikSpmQQvb6FmVWZUZfzvTJMn/QVfiCGP1Oq9WW4RKrAvxlExkhhbcVGgGqLNPFk1kdFkVQur//wKu3JVw=="
|
||||
},
|
||||
"node_modules/ieee754": {
|
||||
"version": "1.2.1",
|
||||
|
@ -516,9 +510,9 @@
|
|||
"integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ=="
|
||||
},
|
||||
"node_modules/jquery": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz",
|
||||
"integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw=="
|
||||
"version": "3.6.1",
|
||||
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.1.tgz",
|
||||
"integrity": "sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw=="
|
||||
},
|
||||
"node_modules/jquery-lazy": {
|
||||
"version": "1.7.11",
|
||||
|
@ -746,9 +740,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/moment-timezone": {
|
||||
"version": "0.5.34",
|
||||
"resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz",
|
||||
"integrity": "sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==",
|
||||
"version": "0.5.37",
|
||||
"resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.37.tgz",
|
||||
"integrity": "sha512-uEDzDNFhfaywRl+vwXxffjjq1q0Vzr+fcQpQ1bU0kbzorfS7zVtZnCnGc8mhWmF39d4g4YriF6kwA75mJKE/Zg==",
|
||||
"dependencies": {
|
||||
"moment": ">= 2.9.0"
|
||||
},
|
||||
|
@ -1108,6 +1102,17 @@
|
|||
"video.js": "^5.19.2 || ^6 || ^7"
|
||||
}
|
||||
},
|
||||
"node_modules/videojs-landscape-fullscreen": {
|
||||
"version": "11.1111.0",
|
||||
"resolved": "https://registry.npmjs.org/videojs-landscape-fullscreen/-/videojs-landscape-fullscreen-11.1111.0.tgz",
|
||||
"integrity": "sha512-Rsw+N5mB6Q24uh5gIFoeNvUs8uPOKJx//fFBHZUw8BxYpr6egC48fGLRoMYFAdveJ/bYNn1bd5ZSINAAEaU7HQ==",
|
||||
"dependencies": {
|
||||
"global": "^4.4.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"video.js": "5.x || 6.x || 7.x || *"
|
||||
}
|
||||
},
|
||||
"node_modules/videojs-vtt.js": {
|
||||
"version": "0.15.3",
|
||||
"resolved": "https://registry.npmjs.org/videojs-vtt.js/-/videojs-vtt.js-0.15.3.tgz",
|
||||
|
|
7
node_modules/@silvermine/videojs-chromecast/.browserslistrc
generated
vendored
Normal file
7
node_modules/@silvermine/videojs-chromecast/.browserslistrc
generated
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
defaults
|
||||
> 0.05%
|
||||
not dead
|
||||
not safari < 9
|
||||
not ios < 9
|
||||
not op_mini all
|
||||
not android < 4.4
|
3
node_modules/@silvermine/videojs-chromecast/.markdownlint.json
generated
vendored
Normal file
3
node_modules/@silvermine/videojs-chromecast/.markdownlint.json
generated
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"extends": "./node_modules/@silvermine/standardization/.markdownlint.json"
|
||||
}
|
2
node_modules/@silvermine/videojs-chromecast/.nvmrc
generated
vendored
2
node_modules/@silvermine/videojs-chromecast/.nvmrc
generated
vendored
|
@ -1 +1 @@
|
|||
12.22.1
|
||||
16.15.0
|
||||
|
|
1
node_modules/@silvermine/videojs-chromecast/.stylelintrc.yml
generated
vendored
Normal file
1
node_modules/@silvermine/videojs-chromecast/.stylelintrc.yml
generated
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
extends: ./node_modules/@silvermine/standardization/.stylelintrc.yml
|
147
node_modules/@silvermine/videojs-chromecast/README.md
generated
vendored
147
node_modules/@silvermine/videojs-chromecast/README.md
generated
vendored
|
@ -53,21 +53,21 @@ at `window.videojs` and will throw an error if it does not exist.
|
|||
|
||||
### Initialization options
|
||||
|
||||
* **`preloadWebComponents`** (default: `false`) - The Chromecast framework relies on the
|
||||
`webcomponents.js` polyfill when a browser does not have `document.registerElement` in
|
||||
order to create the `<google-cast-button>` custom component (which is not used by this
|
||||
plugin). If you are using jQuery, this polyfill must be loaded and initialized before
|
||||
jQuery is initialized. Unfortunately, the Chromecast framework loads the
|
||||
`webcomponents.js` polyfill via a dynamically created `<script>` tag. This causes a race
|
||||
condition (see #17). Also, including `webcomponents.js` anywhere on the page will break
|
||||
jQuery's fix for bubbling some events to `document` (e.g. `onchange` events for
|
||||
`<select>`, see #21). Setting `preloadWebComponents` to `true` will "fix" these 2
|
||||
problems by (1) making this plugin add the `webcomponents` polyfill synchronously when
|
||||
the polyfill is needed and (2) using the `webcomponents-lite.js` version as it does not
|
||||
include the shadow DOM polyfills, but still provides the `registerElement` polyfill that
|
||||
the Chromecast framework needs. If you use the `preloadWebComponents: true` option, you
|
||||
should make sure that this plugin is loaded before jQuery. Then include the Chromecast
|
||||
framework after this plugin as you normally would.
|
||||
* **`preloadWebComponents`** (default: `false`) - The Chromecast framework relies on the
|
||||
`webcomponents.js` polyfill when a browser does not have `document.registerElement` in
|
||||
order to create the `<google-cast-button>` custom component (which is not used by this
|
||||
plugin). If you are using jQuery, this polyfill must be loaded and initialized before
|
||||
jQuery is initialized. Unfortunately, the Chromecast framework loads the
|
||||
`webcomponents.js` polyfill via a dynamically created `<script>` tag. This causes a race
|
||||
condition (see #17). Also, including `webcomponents.js` anywhere on the page will break
|
||||
jQuery's fix for bubbling some events to `document` (e.g. `onchange` events for
|
||||
`<select>`, see #21). Setting `preloadWebComponents` to `true` will "fix" these 2
|
||||
problems by (1) making this plugin add the `webcomponents` polyfill synchronously when
|
||||
the polyfill is needed and (2) using the `webcomponents-lite.js` version as it does not
|
||||
include the shadow DOM polyfills, but still provides the `registerElement` polyfill that
|
||||
the Chromecast framework needs. If you use the `preloadWebComponents: true` option, you
|
||||
should make sure that this plugin is loaded before jQuery. Then include the Chromecast
|
||||
framework after this plugin as you normally would.
|
||||
|
||||
**Note:** There is a caveat to using the `preloadWebComponents` setting.
|
||||
Because the Chromecast plugin uses the shadow DOM to create the
|
||||
|
@ -150,36 +150,38 @@ player.chromecast(); // initializes the Chromecast plugin
|
|||
#### Configuration options
|
||||
|
||||
##### Plugin configuration
|
||||
* **`plugins.chromecast.receiverAppID`** - the string ID of a custom [Chromecast receiver
|
||||
app][cast-receiver] to use. Defaults to the [default Media Receiver ID][def-cast-id].
|
||||
* **`plugins.chromecast.addButtonToControlBar`** - a `boolean` flag that tells the plugin
|
||||
whether or not it should automatically add the Chromecast button to the Video.js
|
||||
player's control bar component. Defaults to `true`.
|
||||
* **`plugins.chromecast.buttonPositionIndex`** - a zero-based number specifying the index
|
||||
of the Chromecast button among the control bar's child components (if
|
||||
`addButtonToControlBar` is set to `true`). By default the Chromecast Button is added as
|
||||
the last child of the control bar. A value less than 0 puts the button at the specified
|
||||
position from the end of the control bar. Note that it's likely not all child components
|
||||
of the control bar are visible.
|
||||
|
||||
* **`plugins.chromecast.receiverAppID`** - the string ID of a custom [Chromecast receiver
|
||||
app][cast-receiver] to use. Defaults to the [default Media Receiver ID][def-cast-id].
|
||||
* **`plugins.chromecast.addButtonToControlBar`** - a `boolean` flag that tells the plugin
|
||||
whether or not it should automatically add the Chromecast button to the Video.js
|
||||
player's control bar component. Defaults to `true`.
|
||||
* **`plugins.chromecast.buttonPositionIndex`** - a zero-based number specifying the index
|
||||
of the Chromecast button among the control bar's child components (if
|
||||
`addButtonToControlBar` is set to `true`). By default the Chromecast Button is added as
|
||||
the last child of the control bar. A value less than 0 puts the button at the specified
|
||||
position from the end of the control bar. Note that it's likely not all child components
|
||||
of the control bar are visible.
|
||||
|
||||
##### Chromecast Tech configuration
|
||||
* **`chromecast.requestTitleFn`** - a function that this plugin calls when it needs a
|
||||
string that will be the title shown in the UI that is shown when a Chromecast session is
|
||||
active and connected. When the this plugin calls the `requestTitleFn`, it passes it the
|
||||
[current `source` object][player-source] and expects a string in return. If nothing is
|
||||
returned or if this option is not defined, no title will be shown.
|
||||
* **`chromecast.requestSubtitleFn`** - a function that this plugin calls when it needs a
|
||||
string that will be the sub-title shown in the UI that is shown when a Chromecast
|
||||
session is active and connected. When the this plugin calls the `requestSubtitleFn`, it
|
||||
passes it the [current `source` object][player-source] and expects a string in return.
|
||||
If nothing is returned or if this option is not defined, no sub-title will be shown.
|
||||
* **`chromecast.requestCustomDataFn`** - a function that this plugin calls when it needs an
|
||||
object that contains custom information necessary for a Chromecast receiver app when a
|
||||
session is active and connected. When the this plugin calls the `requestCustomDataFn`, it
|
||||
passes it the [current `source` object][player-source] and expects an object in return.
|
||||
If nothing is returned or if this option is not defined, no custom data will be sent.
|
||||
This option is intended to be used with a [custom receiver][custom-receiver] application
|
||||
to extend its default capabilities.
|
||||
|
||||
* **`chromecast.requestTitleFn`** - a function that this plugin calls when it needs a
|
||||
string that will be the title shown in the UI that is shown when a Chromecast session
|
||||
is active and connected. When the this plugin calls the `requestTitleFn`, it passes it
|
||||
the [current `source` object][player-source] and expects a string in return. If nothing
|
||||
is returned or if this option is not defined, no title will be shown.
|
||||
* **`chromecast.requestSubtitleFn`** - a function that this plugin calls when it needs a
|
||||
string that will be the sub-title shown in the UI that is shown when a Chromecast
|
||||
session is active and connected. When the this plugin calls the `requestSubtitleFn`, it
|
||||
passes it the [current `source` object][player-source] and expects a string in return.
|
||||
If nothing is returned or if this option is not defined, no sub-title will be shown.
|
||||
* **`chromecast.requestCustomDataFn`** - a function that this plugin calls when it needs
|
||||
an object that contains custom information necessary for a Chromecast receiver app when
|
||||
a session is active and connected. When the this plugin calls the `requestCustomDataFn`,
|
||||
it passes it the [current `source` object][player-source] and expects an object in return.
|
||||
If nothing is returned or if this option is not defined, no custom data will be sent.
|
||||
This option is intended to be used with a [custom receiver][custom-receiver] application
|
||||
to extend its default capabilities.
|
||||
|
||||
Here is an example configuration object that makes full use of all required and optional
|
||||
configuration:
|
||||
|
@ -267,30 +269,30 @@ file in your project's SCSS:
|
|||
Optionally, you can override the SCSS variables that contain the paths to the icon
|
||||
image files:
|
||||
|
||||
* **`$icon-chromecast--default`** - the path to the icon image that is displayed when the
|
||||
Chromecast button is in its normal, default state. Defaults to
|
||||
`"images/ic_cast_white_24dp.png"`.
|
||||
* **`$icon-chromecast--hover`** - the path to the icon image that is displayed when the
|
||||
user hovers over the Chromecast button when it is in its normal, default state. Defaults
|
||||
to `"images/ic_cast_white_24dp.png"`.
|
||||
* **`$icon-chromecast-casting`** - the path to the icon image that is displayed when the
|
||||
Chromecast button is in the "casting" state (when a Chromecast session is active and
|
||||
connected). Defaults to `"images/ic_cast_connected_white_24dp.png"`.
|
||||
* **`$icon-chromecast-casting--hover`** - the path to the icon image that is displayed
|
||||
when the user hovers over the Chromecast button when it is in the "casting" state (when
|
||||
a Chromecast session is active and connected). Defaults to
|
||||
`"images/ic_cast_connected_white_24dp.png"`.
|
||||
* **`$chromecast-icon-size`** - the width and height of the icon (the button and icon is a
|
||||
square). Defaults to `12px`.
|
||||
* **`$chromecast-title-font-size`** - the font size of the title on the screen that is
|
||||
shown while a Chromecast session is active and connected. Defaults to `22px`.
|
||||
* **`$chromecast-subtitle-font-size`** - the font size of the sub-title on the screen
|
||||
that is shown while a Chromecast session is active and connected. Defaults to `18px`.
|
||||
* **`$chromecast-poster-width`** - the width of the poster image on the screen that that
|
||||
is shown while a Chromecast session is active and connected. Defaults to `100px`.
|
||||
* **`$chromecast-poster-max-height`** - the maximum height of the poster image on the
|
||||
screen that is shown while a Chromecast session is active and connected. Defaults to
|
||||
`180px`.
|
||||
* **`$icon-chromecast--default`** - the path to the icon image that is displayed when the
|
||||
Chromecast button is in its normal, default state. Defaults to
|
||||
`"images/ic_cast_white_24dp.png"`.
|
||||
* **`$icon-chromecast--hover`** - the path to the icon image that is displayed when the
|
||||
user hovers over the Chromecast button when it is in its normal, default state. Defaults
|
||||
to `"images/ic_cast_white_24dp.png"`.
|
||||
* **`$icon-chromecast-casting`** - the path to the icon image that is displayed when the
|
||||
Chromecast button is in the "casting" state (when a Chromecast session is active and
|
||||
connected). Defaults to `"images/ic_cast_connected_white_24dp.png"`.
|
||||
* **`$icon-chromecast-casting--hover`** - the path to the icon image that is displayed
|
||||
when the user hovers over the Chromecast button when it is in the "casting" state (when
|
||||
a Chromecast session is active and connected). Defaults to
|
||||
`"images/ic_cast_connected_white_24dp.png"`.
|
||||
* **`$chromecast-icon-size`** - the width and height of the icon (the button and icon is
|
||||
a square). Defaults to `12px`.
|
||||
* **`$chromecast-title-font-size`** - the font size of the title on the screen that is
|
||||
shown while a Chromecast session is active and connected. Defaults to `22px`.
|
||||
* **`$chromecast-subtitle-font-size`** - the font size of the sub-title on the screen
|
||||
that is shown while a Chromecast session is active and connected. Defaults to `18px`.
|
||||
* **`$chromecast-poster-width`** - the width of the poster image on the screen that that
|
||||
is shown while a Chromecast session is active and connected. Defaults to `100px`.
|
||||
* **`$chromecast-poster-max-height`** - the maximum height of the poster image on the
|
||||
screen that is shown while a Chromecast session is active and connected.
|
||||
Defaults to `180px`.
|
||||
|
||||
|
||||
#### Images
|
||||
|
@ -302,11 +304,20 @@ plugin's CSS is located. If, for example, your CSS is located at
|
|||
`https://example.com/plugins/silvermine-videojs-chromecast.css`, then the plugin's images
|
||||
should be located at `https://example.com/plugins/images/`.
|
||||
|
||||
In addition the the `ic_cast_white_24dp.png` icon image that is used as the default icon for
|
||||
In addition, the `ic_cast_white_24dp.png` icon image that is used as the default icon for
|
||||
all four button states ("default", "default + hover", "casting", "casting + hover"), the `images`
|
||||
folder contains grey, black, and blue versions of the icons.
|
||||
|
||||
|
||||
### Events
|
||||
|
||||
*`chromecastConnected`: Triggers when Chromecast connected
|
||||
*`chromecastDisconnected`: Triggers when Chromecast disconnected
|
||||
*`chromecastDevicesAvailable`: Triggers on state change when Chromecast devices are available
|
||||
*`chromecastDevicesUnavailable`: Triggers on state change when Chromecast devices are unavailable
|
||||
*`chromecastRequested`: Triggers when the user has requested Chromecast playback using this
|
||||
plugin's Chromecast button
|
||||
|
||||
## How do I contribute?
|
||||
|
||||
We genuinely appreciate external contributions. See [our extensive
|
||||
|
|
2
node_modules/@silvermine/videojs-chromecast/dist/silvermine-videojs-chromecast.css
generated
vendored
2
node_modules/@silvermine/videojs-chromecast/dist/silvermine-videojs-chromecast.css
generated
vendored
|
@ -1 +1 @@
|
|||
.vjs-chromecast-button .vjs-icon-placeholder{background:url("images/ic_cast_white_24dp.png") center center no-repeat;background-size:contain;display:inline-block;width:12px;height:12px}.vjs-chromecast-button:hover{cursor:pointer}.vjs-chromecast-button:hover .vjs-icon-placeholder{background-image:url("images/ic_cast_white_24dp.png")}.vjs-chromecast-button.vjs-chromecast-casting-state .vjs-icon-placeholder{background-image:url("images/ic_cast_connected_white_24dp.png")}.vjs-chromecast-button.vjs-chromecast-casting-state:hover .vjs-icon-placeholder{background-image:url("images/ic_cast_connected_white_24dp.png")}.vjs-tech-chromecast{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;overflow:hidden}.vjs-tech-chromecast .vjs-tech-chromecast-poster::after{content:' ';display:block;height:2px;width:100px;background-color:#ccc;position:absolute;left:-webkit-calc(50% - 50px);left:calc(50% - 50px)}.vjs-tech-chromecast .vjs-tech-chromecast-poster-img{max-height:180px;width:auto;border:2px solid #ccc}.vjs-tech-chromecast .vjs-tech-chromecast-poster-img.vjs-tech-chromecast-poster-img-empty{width:160px;height:90px}.vjs-tech-chromecast .vjs-tech-chromecast-title-container{position:absolute;bottom:50%;margin-bottom:100px;color:#ccc;text-align:center}.vjs-tech-chromecast .vjs-tech-chromecast-title{font-size:22px}.vjs-tech-chromecast .vjs-tech-chromecast-title.vjs-tech-chromecast-title-empty{display:none}.vjs-tech-chromecast .vjs-tech-chromecast-subtitle{font-size:18px;padding-top:0.5em}.vjs-tech-chromecast .vjs-tech-chromecast-subtitle.vjs-tech-chromecast-subtitle-empty{display:none}
|
||||
.vjs-chromecast-button .vjs-icon-placeholder{background:url("images/ic_cast_white_24dp.png") center center no-repeat;background-size:contain;display:inline-block;width:12px;height:12px}.vjs-chromecast-button:hover{cursor:pointer}.vjs-chromecast-button:hover .vjs-icon-placeholder{background-image:url("images/ic_cast_white_24dp.png")}.vjs-chromecast-button.vjs-chromecast-casting-state .vjs-icon-placeholder{background-image:url("images/ic_cast_connected_white_24dp.png")}.vjs-chromecast-button.vjs-chromecast-casting-state:hover .vjs-icon-placeholder{background-image:url("images/ic_cast_connected_white_24dp.png")}.vjs-tech-chromecast{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;overflow:hidden}.vjs-tech-chromecast .vjs-tech-chromecast-poster::after{content:" ";display:block;height:2px;width:100px;background-color:#ccc;position:absolute;left:calc(50% - 50px)}.vjs-tech-chromecast .vjs-tech-chromecast-poster-img{max-height:180px;width:auto;border:2px solid #ccc}.vjs-tech-chromecast .vjs-tech-chromecast-poster-img.vjs-tech-chromecast-poster-img-empty{width:160px;height:90px}.vjs-tech-chromecast .vjs-tech-chromecast-title-container{position:absolute;bottom:50%;margin-bottom:100px;color:#ccc;text-align:center}.vjs-tech-chromecast .vjs-tech-chromecast-title{font-size:22px}.vjs-tech-chromecast .vjs-tech-chromecast-title.vjs-tech-chromecast-title-empty{display:none}.vjs-tech-chromecast .vjs-tech-chromecast-subtitle{font-size:18px;padding-top:.5em}.vjs-tech-chromecast .vjs-tech-chromecast-subtitle.vjs-tech-chromecast-subtitle-empty{display:none}
|
3595
node_modules/@silvermine/videojs-chromecast/dist/silvermine-videojs-chromecast.js
generated
vendored
3595
node_modules/@silvermine/videojs-chromecast/dist/silvermine-videojs-chromecast.js
generated
vendored
File diff suppressed because it is too large
Load diff
1587
node_modules/@silvermine/videojs-chromecast/dist/silvermine-videojs-chromecast.min.js
generated
vendored
1587
node_modules/@silvermine/videojs-chromecast/dist/silvermine-videojs-chromecast.min.js
generated
vendored
File diff suppressed because it is too large
Load diff
3
node_modules/@silvermine/videojs-chromecast/docs/demo/index.html
generated
vendored
3
node_modules/@silvermine/videojs-chromecast/docs/demo/index.html
generated
vendored
|
@ -12,7 +12,7 @@
|
|||
<body>
|
||||
<h1>Demo of <code>silvermine-videojs-chromecast</code></h1>
|
||||
|
||||
<video id="video_1" class="video-js vjs-default-skin" controls preload="auto" data-setup='{ "fluid": "true" }'>
|
||||
<video id="video_1" class="video-js vjs-default-skin" controls preload="auto">
|
||||
<source src="http://www.caminandes.com/download/03_caminandes_llamigos_1080p.mp4" type="video/mp4">
|
||||
</video>
|
||||
|
||||
|
@ -20,6 +20,7 @@
|
|||
var options;
|
||||
|
||||
options = {
|
||||
fluid: true,
|
||||
techOrder: [ 'chromecast', 'html5' ],
|
||||
};
|
||||
|
||||
|
|
24
node_modules/@silvermine/videojs-chromecast/package.json
generated
vendored
24
node_modules/@silvermine/videojs-chromecast/package.json
generated
vendored
|
@ -1,11 +1,18 @@
|
|||
{
|
||||
"name": "@silvermine/videojs-chromecast",
|
||||
"version": "1.3.3",
|
||||
"version": "1.3.4",
|
||||
"description": "video.js plugin for casting to chromecast",
|
||||
"main": "src/js/index.js",
|
||||
"scripts": {
|
||||
"commitlint": "commitlint --from d4e7f7e",
|
||||
"test": "check-node-version --npm 6.14.12 && nyc mocha -- -R spec 'tests/**/*.test.js'",
|
||||
"test": "check-node-version --npm 8.5.5 && nyc mocha -- -R spec 'tests/**/*.test.js'",
|
||||
"stylelint": "stylelint './src/scss/**/*.scss'",
|
||||
"eslint": "eslint '{,!(node_modules|dist)/**/}*.js'",
|
||||
"markdownlint": "markdownlint -c .markdownlint.json -i CHANGELOG.md '{,!(node_modules)/**/}*.md'",
|
||||
"standards": "npm run markdownlint && npm run stylelint && npm run eslint",
|
||||
"release:preview": "node ./node_modules/@silvermine/standardization/scripts/release.js preview",
|
||||
"release:prep-changelog": "node ./node_modules/@silvermine/standardization/scripts/release.js prep-changelog",
|
||||
"release:finalize": "node ./node_modules/@silvermine/standardization/scripts/release.js finalize",
|
||||
"prepublish": "grunt build"
|
||||
},
|
||||
"author": "Jeremy Thomerson",
|
||||
|
@ -27,14 +34,20 @@
|
|||
},
|
||||
"homepage": "https://github.com/silvermine/videojs-chromecast#readme",
|
||||
"dependencies": {
|
||||
"class.extend": "0.9.1",
|
||||
"webcomponents.js": "git+https://git@github.com/webcomponents/webcomponentsjs.git#v0.7.24"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.13.16",
|
||||
"@babel/preset-env": "7.13.15",
|
||||
"@commitlint/cli": "8.3.5",
|
||||
"@commitlint/travis-cli": "8.3.5",
|
||||
"@silvermine/eslint-config": "3.0.1",
|
||||
"@silvermine/standardization": "1.1.0",
|
||||
"@silvermine/standardization": "2.0.0",
|
||||
"autoprefixer": "7.1.1",
|
||||
"babel-eslint": "10.1.0",
|
||||
"babelify": "10.0.0",
|
||||
"check-node-version": "4.0.3",
|
||||
"core-js": "3.11.0",
|
||||
"coveralls": "3.0.2",
|
||||
"eslint": "6.8.0",
|
||||
"expect.js": "0.3.1",
|
||||
|
@ -44,14 +57,13 @@
|
|||
"grunt-contrib-copy": "1.0.0",
|
||||
"grunt-contrib-uglify": "3.0.1",
|
||||
"grunt-contrib-watch": "1.1.0",
|
||||
"grunt-eslint": "22.0.0",
|
||||
"grunt-postcss": "0.9.0",
|
||||
"grunt-sass": "3.1.0",
|
||||
"mocha": "8.4.0",
|
||||
"mocha-lcov-reporter": "1.3.0",
|
||||
"node-sass": "6.0.0",
|
||||
"nyc": "15.1.0",
|
||||
"rewire": "2.5.2",
|
||||
"sass": "1.52.3",
|
||||
"silvermine-serverless-utils": "git+https://github.com/silvermine/serverless-utils.git#910f1149af824fc8d0fa840878079c7d3df0f414",
|
||||
"sinon": "2.3.5"
|
||||
},
|
||||
|
|
117
node_modules/@silvermine/videojs-chromecast/src/js/chromecast/ChromecastSessionManager.js
generated
vendored
117
node_modules/@silvermine/videojs-chromecast/src/js/chromecast/ChromecastSessionManager.js
generated
vendored
|
@ -1,14 +1,5 @@
|
|||
'use strict';
|
||||
|
||||
var Class = require('class.extend'),
|
||||
hasConnected = false, // See the `isChromecastConnected` function.
|
||||
ChromecastSessionManager;
|
||||
|
||||
function getCastContext() {
|
||||
return cast.framework.CastContext.getInstance();
|
||||
}
|
||||
|
||||
ChromecastSessionManager = Class.extend(/** @lends ChromecastSessionManager.prototype **/ {
|
||||
/** @lends ChromecastSessionManager.prototype **/
|
||||
class ChromecastSessionManager {
|
||||
|
||||
/**
|
||||
* Stores the state of the current Chromecast session and its associated objects such
|
||||
|
@ -37,7 +28,7 @@ ChromecastSessionManager = Class.extend(/** @lends ChromecastSessionManager.prot
|
|||
* @param player {object} Video.js Player
|
||||
* @constructs ChromecastSessionManager
|
||||
*/
|
||||
init: function(player) {
|
||||
constructor(player) {
|
||||
this.player = player;
|
||||
|
||||
this._sessionListener = this._onSessionStateChange.bind(this);
|
||||
|
@ -53,20 +44,22 @@ ChromecastSessionManager = Class.extend(/** @lends ChromecastSessionManager.prot
|
|||
|
||||
this.remotePlayer = new cast.framework.RemotePlayer();
|
||||
this.remotePlayerController = new cast.framework.RemotePlayerController(this.remotePlayer);
|
||||
},
|
||||
}
|
||||
|
||||
static hasConnected = false;
|
||||
|
||||
/**
|
||||
* Add event listeners for events triggered on the current CastContext.
|
||||
*
|
||||
* @private
|
||||
*/
|
||||
_addCastContextEventListeners: function() {
|
||||
_addCastContextEventListeners() {
|
||||
var sessionStateChangedEvt = cast.framework.CastContextEventType.SESSION_STATE_CHANGED,
|
||||
castStateChangedEvt = cast.framework.CastContextEventType.CAST_STATE_CHANGED;
|
||||
|
||||
this.getCastContext().addEventListener(sessionStateChangedEvt, this._sessionListener);
|
||||
this.getCastContext().addEventListener(castStateChangedEvt, this._castListener);
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove event listeners that were added in {@link
|
||||
|
@ -74,34 +67,34 @@ ChromecastSessionManager = Class.extend(/** @lends ChromecastSessionManager.prot
|
|||
*
|
||||
* @private
|
||||
*/
|
||||
_removeCastContextEventListeners: function() {
|
||||
_removeCastContextEventListeners() {
|
||||
var sessionStateChangedEvt = cast.framework.CastContextEventType.SESSION_STATE_CHANGED,
|
||||
castStateChangedEvt = cast.framework.CastContextEventType.CAST_STATE_CHANGED;
|
||||
|
||||
this.getCastContext().removeEventListener(sessionStateChangedEvt, this._sessionListener);
|
||||
this.getCastContext().removeEventListener(castStateChangedEvt, this._castListener);
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the CastContext's SessionState change event.
|
||||
*
|
||||
* @private
|
||||
*/
|
||||
_onSessionStateChange: function(event) {
|
||||
_onSessionStateChange(event) {
|
||||
if (event.sessionState === cast.framework.SessionState.SESSION_ENDED) {
|
||||
this.player.trigger('chromecastDisconnected');
|
||||
this._reloadTech();
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the CastContext's CastState change event.
|
||||
*
|
||||
* @private
|
||||
*/
|
||||
_onCastStateChange: function(event) {
|
||||
_onCastStateChange(event) {
|
||||
this._notifyPlayerOfDevicesAvailabilityChange(event.castState);
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* Triggers player events that notifies listeners that Chromecast devices are
|
||||
|
@ -109,13 +102,13 @@ ChromecastSessionManager = Class.extend(/** @lends ChromecastSessionManager.prot
|
|||
*
|
||||
* @private
|
||||
*/
|
||||
_notifyPlayerOfDevicesAvailabilityChange: function(castState) {
|
||||
_notifyPlayerOfDevicesAvailabilityChange(castState) {
|
||||
if (this.hasAvailableDevices(castState)) {
|
||||
this.player.trigger('chromecastDevicesAvailable');
|
||||
} else {
|
||||
this.player.trigger('chromecastDevicesUnavailable');
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether or not there are Chromecast devices available to cast to.
|
||||
|
@ -124,19 +117,19 @@ ChromecastSessionManager = Class.extend(/** @lends ChromecastSessionManager.prot
|
|||
* @param {String} castState
|
||||
* @return {boolean} true if there are Chromecast devices available to cast to.
|
||||
*/
|
||||
hasAvailableDevices: function(castState) {
|
||||
hasAvailableDevices(castState) {
|
||||
castState = castState || this.getCastContext().getCastState();
|
||||
|
||||
return castState === cast.framework.CastState.NOT_CONNECTED ||
|
||||
castState === cast.framework.CastState.CONNECTING ||
|
||||
castState === cast.framework.CastState.CONNECTED;
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* Opens the Chromecast casting menu by requesting a CastSession. Does nothing if the
|
||||
* Video.js player does not have a source.
|
||||
*/
|
||||
openCastMenu: function() {
|
||||
openCastMenu() {
|
||||
var onSessionSuccess;
|
||||
|
||||
if (!this.player.currentSource()) {
|
||||
|
@ -144,7 +137,7 @@ ChromecastSessionManager = Class.extend(/** @lends ChromecastSessionManager.prot
|
|||
return;
|
||||
}
|
||||
onSessionSuccess = function() {
|
||||
hasConnected = true;
|
||||
ChromecastSessionManager.hasConnected = true;
|
||||
this.player.trigger('chromecastConnected');
|
||||
this._reloadTech();
|
||||
}.bind(this);
|
||||
|
@ -158,7 +151,7 @@ ChromecastSessionManager = Class.extend(/** @lends ChromecastSessionManager.prot
|
|||
// casting destination.
|
||||
this.getCastContext().requestSession()
|
||||
.then(onSessionSuccess, function() { /* noop */ });
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* Reloads the Video.js player's Tech. This causes the player to re-evaluate which
|
||||
|
@ -170,7 +163,7 @@ ChromecastSessionManager = Class.extend(/** @lends ChromecastSessionManager.prot
|
|||
*
|
||||
* @private
|
||||
*/
|
||||
_reloadTech: function() {
|
||||
_reloadTech() {
|
||||
var player = this.player,
|
||||
currentTime = player.currentTime(),
|
||||
wasPaused = player.paused(),
|
||||
|
@ -191,56 +184,58 @@ ChromecastSessionManager = Class.extend(/** @lends ChromecastSessionManager.prot
|
|||
}
|
||||
player.currentTime(currentTime || 0);
|
||||
});
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* @see https://developers.google.com/cast/docs/reference/chrome/cast.framework.CastContext
|
||||
* @returns {object} the current CastContext, if one exists
|
||||
*/
|
||||
getCastContext: getCastContext,
|
||||
|
||||
getCastContext() {
|
||||
return cast.framework.CastContext.getInstance();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see https://developers.google.com/cast/docs/reference/chrome/cast.framework.RemotePlayer
|
||||
* @returns {object} the current RemotePlayer, if one exists
|
||||
*/
|
||||
getRemotePlayer: function() {
|
||||
getRemotePlayer() {
|
||||
return this.remotePlayer;
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* @see https://developers.google.com/cast/docs/reference/chrome/cast.framework.RemotePlayerController
|
||||
* @returns {object} the current RemotePlayerController, if one exists
|
||||
*/
|
||||
getRemotePlayerController: function() {
|
||||
getRemotePlayerController() {
|
||||
return this.remotePlayerController;
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether or not the current Chromecast API is available (that is,
|
||||
* `window.chrome`, `window.chrome.cast`, and `window.cast` exist).
|
||||
*
|
||||
* @static
|
||||
* @returns {boolean} true if the Chromecast API is available
|
||||
*/
|
||||
static isChromecastAPIAvailable() {
|
||||
return window.chrome && window.chrome.cast && window.cast;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether or not the current Chromecast API is available (that is,
|
||||
* `window.chrome`, `window.chrome.cast`, and `window.cast` exist).
|
||||
*
|
||||
* @static
|
||||
* @returns {boolean} true if the Chromecast API is available
|
||||
*/
|
||||
ChromecastSessionManager.isChromecastAPIAvailable = function() {
|
||||
return window.chrome && window.chrome.cast && window.cast;
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns whether or not there is a current CastSession and it is connected.
|
||||
*
|
||||
* @static
|
||||
* @returns {boolean} true if the current CastSession exists and is connected
|
||||
*/
|
||||
ChromecastSessionManager.isChromecastConnected = function() {
|
||||
// We must also check the `hasConnected` flag because
|
||||
// `getCastContext().getCastState()` returns `CONNECTED` even when the current casting
|
||||
// session was initiated by another tab in the browser or by another process.
|
||||
return ChromecastSessionManager.isChromecastAPIAvailable() &&
|
||||
(getCastContext().getCastState() === cast.framework.CastState.CONNECTED) &&
|
||||
hasConnected;
|
||||
};
|
||||
/**
|
||||
* Returns whether or not there is a current CastSession and it is connected.
|
||||
*
|
||||
* @static
|
||||
* @returns {boolean} true if the current CastSession exists and is connected
|
||||
*/
|
||||
static isChromecastConnected() {
|
||||
// We must also check the `hasConnected` flag because
|
||||
// `getCastContext().getCastState()` returns `CONNECTED` even when the current
|
||||
// casting session was initiated by another tab in the browser or by another process
|
||||
return ChromecastSessionManager.isChromecastAPIAvailable() &&
|
||||
(cast.framework.CastContext.getInstance().getCastState() === cast.framework.CastState.CONNECTED) &&
|
||||
ChromecastSessionManager.hasConnected;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = ChromecastSessionManager;
|
||||
|
|
2
node_modules/@silvermine/videojs-chromecast/src/js/components/ChromecastButton.js
generated
vendored
2
node_modules/@silvermine/videojs-chromecast/src/js/components/ChromecastButton.js
generated
vendored
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
/**
|
||||
* The ChromecastButton module contains both the ChromecastButton class definition and
|
||||
* the function used to register the button as a Video.js Component.
|
||||
|
|
2
node_modules/@silvermine/videojs-chromecast/src/js/enableChromecast.js
generated
vendored
2
node_modules/@silvermine/videojs-chromecast/src/js/enableChromecast.js
generated
vendored
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
/**
|
||||
* @module enableChromecast
|
||||
*/
|
||||
|
|
2
node_modules/@silvermine/videojs-chromecast/src/js/index.js
generated
vendored
2
node_modules/@silvermine/videojs-chromecast/src/js/index.js
generated
vendored
|
@ -1,6 +1,4 @@
|
|||
/* eslint-disable global-require */
|
||||
'use strict';
|
||||
|
||||
var preloadWebComponents = require('./preloadWebComponents'),
|
||||
createChromecastButton = require('./components/ChromecastButton'),
|
||||
createChromecastTech = require('./tech/ChromecastTech'),
|
||||
|
|
2
node_modules/@silvermine/videojs-chromecast/src/js/preloadWebComponents.js
generated
vendored
2
node_modules/@silvermine/videojs-chromecast/src/js/preloadWebComponents.js
generated
vendored
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
function doesUserAgentContainString(str) {
|
||||
return typeof window.navigator.userAgent === 'string' && window.navigator.userAgent.indexOf(str) >= 0;
|
||||
}
|
||||
|
|
2
node_modules/@silvermine/videojs-chromecast/src/js/standalone.js
generated
vendored
2
node_modules/@silvermine/videojs-chromecast/src/js/standalone.js
generated
vendored
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
// This file is used to create a standalone javascript file for use in a script tag. The
|
||||
// file that is output assumes that Video.js is available at `window.videojs`.
|
||||
|
||||
|
|
6
node_modules/@silvermine/videojs-chromecast/src/js/tech/ChromecastTech.js
generated
vendored
6
node_modules/@silvermine/videojs-chromecast/src/js/tech/ChromecastTech.js
generated
vendored
|
@ -1,5 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
var ChromecastSessionManager = require('../chromecast/ChromecastSessionManager'),
|
||||
ChromecastTechUI = require('./ChromecastTechUI'),
|
||||
SESSION_TIMEOUT = 10 * 1000, // milliseconds
|
||||
|
@ -743,8 +741,8 @@ module.exports = function(videojs) {
|
|||
|
||||
// Required for Video.js Tech implementations.
|
||||
// TODO Consider a more comprehensive check based on mimetype.
|
||||
ChromecastTechImpl.canPlaySource = ChromecastSessionManager.isChromecastConnected.bind(ChromecastSessionManager);
|
||||
ChromecastTechImpl.isSupported = ChromecastSessionManager.isChromecastConnected.bind(ChromecastSessionManager);
|
||||
ChromecastTechImpl.canPlaySource = () => { return ChromecastSessionManager.isChromecastConnected(); };
|
||||
ChromecastTechImpl.isSupported = () => { return ChromecastSessionManager.isChromecastConnected(); };
|
||||
|
||||
ChromecastTechImpl.prototype.featuresVolumeControl = true;
|
||||
ChromecastTechImpl.prototype.featuresPlaybackRate = false;
|
||||
|
|
57
node_modules/@silvermine/videojs-chromecast/src/js/tech/ChromecastTechUI.js
generated
vendored
57
node_modules/@silvermine/videojs-chromecast/src/js/tech/ChromecastTechUI.js
generated
vendored
|
@ -1,8 +1,3 @@
|
|||
'use strict';
|
||||
|
||||
var Class = require('class.extend'),
|
||||
ChromecastTechUI;
|
||||
|
||||
/**
|
||||
* This class represents the UI that is shown in the player while the Chromecast Tech is
|
||||
* active. The UI has a single root DOM element that displays the poster image of the
|
||||
|
@ -11,10 +6,10 @@ var Class = require('class.extend'),
|
|||
*
|
||||
* @class ChromecastTechUI
|
||||
*/
|
||||
ChromecastTechUI = Class.extend(/** @lends ChromecastTechUI.prototype */ {
|
||||
init: function() {
|
||||
class ChromecastTechUI {
|
||||
constructor() {
|
||||
this._el = this._createDOMElement();
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates and returns a single DOMElement that contains the UI. This implementation
|
||||
|
@ -23,7 +18,7 @@ ChromecastTechUI = Class.extend(/** @lends ChromecastTechUI.prototype */ {
|
|||
* @private
|
||||
* @returns {DOMElement}
|
||||
*/
|
||||
_createDOMElement: function() {
|
||||
_createDOMElement() {
|
||||
var el = this._createElement('div', 'vjs-tech vjs-tech-chromecast'),
|
||||
posterContainerEl = this._createElement('div', 'vjs-tech-chromecast-poster'),
|
||||
posterImageEl = this._createElement('img', 'vjs-tech-chromecast-poster-img'),
|
||||
|
@ -39,7 +34,7 @@ ChromecastTechUI = Class.extend(/** @lends ChromecastTechUI.prototype */ {
|
|||
el.appendChild(posterContainerEl);
|
||||
|
||||
return el;
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* A helper method for creating DOMElements of the given type and with the given class
|
||||
|
@ -50,21 +45,21 @@ ChromecastTechUI = Class.extend(/** @lends ChromecastTechUI.prototype */ {
|
|||
* a space-delimited list of class names.
|
||||
* @returns {DOMElement}
|
||||
*/
|
||||
_createElement: function(type, className) {
|
||||
_createElement(type, className) {
|
||||
var el = document.createElement(type);
|
||||
|
||||
el.className = className;
|
||||
return el;
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the root DOMElement to be shown in the player's UI.
|
||||
*
|
||||
* @returns {DOMElement}
|
||||
*/
|
||||
getDOMElement: function() {
|
||||
getDOMElement() {
|
||||
return this._el;
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds the poster's DOMElement in the root UI element.
|
||||
|
@ -72,9 +67,9 @@ ChromecastTechUI = Class.extend(/** @lends ChromecastTechUI.prototype */ {
|
|||
* @private
|
||||
* @returns {DOMElement}
|
||||
*/
|
||||
_findPosterEl: function() {
|
||||
_findPosterEl() {
|
||||
return this._el.querySelector('.vjs-tech-chromecast-poster');
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds the poster's <img> DOMElement in the root UI element.
|
||||
|
@ -82,9 +77,9 @@ ChromecastTechUI = Class.extend(/** @lends ChromecastTechUI.prototype */ {
|
|||
* @private
|
||||
* @returns {DOMElement}
|
||||
*/
|
||||
_findPosterImageEl: function() {
|
||||
_findPosterImageEl() {
|
||||
return this._el.querySelector('.vjs-tech-chromecast-poster-img');
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds the title's DOMElement in the root UI element.
|
||||
|
@ -92,9 +87,9 @@ ChromecastTechUI = Class.extend(/** @lends ChromecastTechUI.prototype */ {
|
|||
* @private
|
||||
* @returns {DOMElement}
|
||||
*/
|
||||
_findTitleEl: function() {
|
||||
_findTitleEl() {
|
||||
return this._el.querySelector('.vjs-tech-chromecast-title');
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds the subtitle's DOMElement in the root UI element.
|
||||
|
@ -102,9 +97,9 @@ ChromecastTechUI = Class.extend(/** @lends ChromecastTechUI.prototype */ {
|
|||
* @private
|
||||
* @returns {DOMElement}
|
||||
*/
|
||||
_findSubtitleEl: function() {
|
||||
_findSubtitleEl() {
|
||||
return this._el.querySelector('.vjs-tech-chromecast-subtitle');
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the current poster image URL and updates the poster image DOMElement with the
|
||||
|
@ -112,7 +107,7 @@ ChromecastTechUI = Class.extend(/** @lends ChromecastTechUI.prototype */ {
|
|||
*
|
||||
* @param poster {string} a URL for a poster image
|
||||
*/
|
||||
updatePoster: function(poster) {
|
||||
updatePoster(poster) {
|
||||
var posterImageEl = this._findPosterImageEl();
|
||||
|
||||
this._poster = poster ? poster : null;
|
||||
|
@ -123,23 +118,23 @@ ChromecastTechUI = Class.extend(/** @lends ChromecastTechUI.prototype */ {
|
|||
posterImageEl.removeAttribute('src');
|
||||
posterImageEl.classList.add('vjs-tech-chromecast-poster-img-empty');
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the current poster image URL.
|
||||
*
|
||||
* @returns {string} the URL for th current poster image
|
||||
*/
|
||||
getPoster: function() {
|
||||
getPoster() {
|
||||
return this._poster;
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the current title and updates the title's DOMElement with the new text.
|
||||
*
|
||||
* @param title {string} a title to show
|
||||
*/
|
||||
updateTitle: function(title) {
|
||||
updateTitle(title) {
|
||||
var titleEl = this._findTitleEl();
|
||||
|
||||
this._title = title;
|
||||
|
@ -149,14 +144,14 @@ ChromecastTechUI = Class.extend(/** @lends ChromecastTechUI.prototype */ {
|
|||
} else {
|
||||
titleEl.classList.add('vjs-tech-chromecast-title-empty');
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the current subtitle and updates the subtitle's DOMElement with the new text.
|
||||
*
|
||||
* @param subtitle {string} a subtitle to show
|
||||
*/
|
||||
updateSubtitle: function(subtitle) {
|
||||
updateSubtitle(subtitle) {
|
||||
var subtitleEl = this._findSubtitleEl();
|
||||
|
||||
this._subtitle = subtitle;
|
||||
|
@ -166,7 +161,7 @@ ChromecastTechUI = Class.extend(/** @lends ChromecastTechUI.prototype */ {
|
|||
} else {
|
||||
subtitleEl.classList.add('vjs-tech-chromecast-subtitle-empty');
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = ChromecastTechUI;
|
||||
|
|
3
node_modules/class.extend/.npmignore
generated
vendored
3
node_modules/class.extend/.npmignore
generated
vendored
|
@ -1,3 +0,0 @@
|
|||
*.swp
|
||||
node_modules
|
||||
npm-debug.log
|
8
node_modules/class.extend/Makefile
generated
vendored
8
node_modules/class.extend/Makefile
generated
vendored
|
@ -1,8 +0,0 @@
|
|||
REPORTER ?= dot
|
||||
|
||||
all: test
|
||||
|
||||
test: test-unit
|
||||
|
||||
test-unit:
|
||||
mocha --reporter $(REPORTER) --growl test/*.test.js
|
37
node_modules/class.extend/README.md
generated
vendored
37
node_modules/class.extend/README.md
generated
vendored
|
@ -1,37 +0,0 @@
|
|||
class.extend
|
||||
============
|
||||
copy/paste node package implementation of John Resig's simple javascript inheritance, http://ejohn.org/blog/simple-javascript-inheritance
|
||||
|
||||
Install
|
||||
-------
|
||||
npm install class.extend
|
||||
|
||||
Usage
|
||||
-------
|
||||
var Class = require('class.extend');
|
||||
|
||||
var Person = Class.extend({
|
||||
init: function(isDancing){
|
||||
this.dancing = isDancing;
|
||||
},
|
||||
dance: function(){
|
||||
return this.dancing;
|
||||
}
|
||||
});
|
||||
|
||||
var Ninja = Person.extend({
|
||||
init: function(){
|
||||
this._super( false );
|
||||
},
|
||||
dance: function(){
|
||||
// Call the inherited version of dance()
|
||||
return this._super();
|
||||
},
|
||||
swingSword: function(){
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
var p = new Person(true);
|
||||
|
||||
var n = new Ninja();
|
62
node_modules/class.extend/lib/class.js
generated
vendored
62
node_modules/class.extend/lib/class.js
generated
vendored
|
@ -1,62 +0,0 @@
|
|||
(function(){
|
||||
var initializing = false, fnTest = /xyz/.test(function(){xyz;}) ? /\b_super\b/ : /.*/;
|
||||
|
||||
// The base Class implementation (does nothing)
|
||||
this.Class = function(){};
|
||||
|
||||
// Create a new Class that inherits from this class
|
||||
Class.extend = function(prop) {
|
||||
var _super = this.prototype;
|
||||
|
||||
// Instantiate a base class (but only create the instance,
|
||||
// don't run the init constructor)
|
||||
initializing = true;
|
||||
var prototype = new this();
|
||||
initializing = false;
|
||||
|
||||
// Copy the properties over onto the new prototype
|
||||
for (var name in prop) {
|
||||
// Check if we're overwriting an existing function
|
||||
prototype[name] = typeof prop[name] == "function" &&
|
||||
typeof _super[name] == "function" && fnTest.test(prop[name]) ?
|
||||
(function(name, fn){
|
||||
return function() {
|
||||
var tmp = this._super;
|
||||
|
||||
// Add a new ._super() method that is the same method
|
||||
// but on the super-class
|
||||
this._super = _super[name];
|
||||
|
||||
// The method only need to be bound temporarily, so we
|
||||
// remove it when we're done executing
|
||||
var ret = fn.apply(this, arguments);
|
||||
this._super = tmp;
|
||||
|
||||
return ret;
|
||||
};
|
||||
})(name, prop[name]) :
|
||||
prop[name];
|
||||
}
|
||||
|
||||
// The dummy class constructor
|
||||
function Class() {
|
||||
// All construction is actually done in the init method
|
||||
if ( !initializing && this.init )
|
||||
this.init.apply(this, arguments);
|
||||
}
|
||||
|
||||
// Populate our constructed prototype object
|
||||
Class.prototype = prototype;
|
||||
|
||||
// Enforce the constructor to be what we expect
|
||||
Class.prototype.constructor = Class;
|
||||
|
||||
// And make this class extendable
|
||||
Class.extend = arguments.callee;
|
||||
|
||||
return Class;
|
||||
};
|
||||
|
||||
//I only added this line
|
||||
module.exports = Class;
|
||||
})();
|
25
node_modules/class.extend/package.json
generated
vendored
25
node_modules/class.extend/package.json
generated
vendored
|
@ -1,25 +0,0 @@
|
|||
{
|
||||
"name": "class.extend",
|
||||
"description": "copy/paste implementation of John Resig's Simple JavaScript inheritance.",
|
||||
"version": "0.9.1",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/bighostkim/class.extend.git"
|
||||
},
|
||||
"main": "lib/class",
|
||||
"directories": {
|
||||
"lib": "lib",
|
||||
"test": "test"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "make test"
|
||||
},
|
||||
"keywords": [ "class", "extend", "object" ],
|
||||
"author": "Allen Kim",
|
||||
"license": "MIT",
|
||||
"readmeFilename": "README.md",
|
||||
"devDependencies": {
|
||||
"mocha": ">=1.0",
|
||||
"should": ">=1.0"
|
||||
}
|
||||
}
|
42
node_modules/class.extend/test/class.test.js
generated
vendored
42
node_modules/class.extend/test/class.test.js
generated
vendored
|
@ -1,42 +0,0 @@
|
|||
require("should");
|
||||
var Class = require('../lib/class.js');
|
||||
|
||||
describe('Mode Parser', function() {
|
||||
it('should parse 0777',function() {
|
||||
var Person = Class.extend({
|
||||
init: function(isDancing){
|
||||
this.dancing = isDancing;
|
||||
},
|
||||
dance: function(){
|
||||
return this.dancing;
|
||||
}
|
||||
});
|
||||
|
||||
var Ninja = Person.extend({
|
||||
init: function(){
|
||||
this._super( false );
|
||||
},
|
||||
dance: function(){
|
||||
// Call the inherited version of dance()
|
||||
return this._super();
|
||||
},
|
||||
swingSword: function(){
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
var p = new Person(true);
|
||||
p.dance().should.be.true;
|
||||
|
||||
var n = new Ninja();
|
||||
n.dance().should.be.false;
|
||||
n.swingSword().should.be.true;
|
||||
|
||||
// Should all be true
|
||||
(p instanceof Person).should.be.true;
|
||||
(p instanceof Class).should.be.true;
|
||||
(n instanceof Ninja).should.be.true;
|
||||
(n instanceof Person).should.be.true;
|
||||
(n instanceof Class).should.be.true;
|
||||
});
|
||||
});
|
2
node_modules/hls.js/dist/hls-demo.js
generated
vendored
2
node_modules/hls.js/dist/hls-demo.js
generated
vendored
|
@ -42231,7 +42231,7 @@ module.exports = {
|
|||
abr: true,
|
||||
skip_ua: ['firefox', 'safari', {
|
||||
name: 'chrome',
|
||||
version: '69.0'
|
||||
version: '75.0'
|
||||
}, {
|
||||
name: 'chrome',
|
||||
version: '79.0'
|
||||
|
|
2
node_modules/hls.js/dist/hls-demo.js.map
generated
vendored
2
node_modules/hls.js/dist/hls-demo.js.map
generated
vendored
File diff suppressed because one or more lines are too long
220
node_modules/hls.js/dist/hls.js
generated
vendored
220
node_modules/hls.js/dist/hls.js
generated
vendored
|
@ -1551,7 +1551,6 @@ __webpack_require__.r(__webpack_exports__);
|
|||
/* harmony import */ var _fragment_finders__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./fragment-finders */ "./src/controller/fragment-finders.ts");
|
||||
/* harmony import */ var _utils_discontinuities__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/discontinuities */ "./src/utils/discontinuities.ts");
|
||||
/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../errors */ "./src/errors.ts");
|
||||
/* harmony import */ var _utils_logger__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/logger */ "./src/utils/logger.ts");
|
||||
|
||||
|
||||
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
||||
|
@ -1573,7 +1572,6 @@ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Objec
|
|||
|
||||
|
||||
|
||||
|
||||
var TICK_INTERVAL = 100; // how often to tick in ms
|
||||
|
||||
var AudioStreamController = /*#__PURE__*/function (_BaseStreamController) {
|
||||
|
@ -1674,6 +1672,7 @@ var AudioStreamController = /*#__PURE__*/function (_BaseStreamController) {
|
|||
|
||||
if (lastCurrentTime > 0 && startPosition === -1) {
|
||||
this.log("Override startPosition with lastCurrentTime @" + lastCurrentTime.toFixed(3));
|
||||
startPosition = lastCurrentTime;
|
||||
this.state = _base_stream_controller__WEBPACK_IMPORTED_MODULE_1__["State"].IDLE;
|
||||
} else {
|
||||
this.loadedmetadata = false;
|
||||
|
@ -1754,7 +1753,7 @@ var AudioStreamController = /*#__PURE__*/function (_BaseStreamController) {
|
|||
}
|
||||
} else if (this.videoTrackCC !== this.waitingVideoCC) {
|
||||
// Drop waiting fragment if videoTrackCC has changed since waitingFragment was set and initPTS was not found
|
||||
_utils_logger__WEBPACK_IMPORTED_MODULE_14__["logger"].log("Waiting fragment cc (" + frag.cc + ") cancelled because video is at cc " + this.videoTrackCC);
|
||||
this.log("Waiting fragment cc (" + frag.cc + ") cancelled because video is at cc " + this.videoTrackCC);
|
||||
this.clearWaitingFragment();
|
||||
} else {
|
||||
// Drop waiting fragment if an earlier fragment is needed
|
||||
|
@ -1763,7 +1762,7 @@ var AudioStreamController = /*#__PURE__*/function (_BaseStreamController) {
|
|||
var waitingFragmentAtPosition = Object(_fragment_finders__WEBPACK_IMPORTED_MODULE_11__["fragmentWithinToleranceTest"])(bufferInfo.end, this.config.maxFragLookUpTolerance, frag);
|
||||
|
||||
if (waitingFragmentAtPosition < 0) {
|
||||
_utils_logger__WEBPACK_IMPORTED_MODULE_14__["logger"].log("Waiting fragment cc (" + frag.cc + ") @ " + frag.start + " cancelled because another fragment at " + bufferInfo.end + " is needed");
|
||||
this.log("Waiting fragment cc (" + frag.cc + ") @ " + frag.start + " cancelled because another fragment at " + bufferInfo.end + " is needed");
|
||||
this.clearWaitingFragment();
|
||||
}
|
||||
}
|
||||
|
@ -1787,6 +1786,12 @@ var AudioStreamController = /*#__PURE__*/function (_BaseStreamController) {
|
|||
}
|
||||
};
|
||||
|
||||
_proto.resetLoadingState = function resetLoadingState() {
|
||||
this.clearWaitingFragment();
|
||||
|
||||
_BaseStreamController.prototype.resetLoadingState.call(this);
|
||||
};
|
||||
|
||||
_proto.onTickEnd = function onTickEnd() {
|
||||
var media = this.media;
|
||||
|
||||
|
@ -2074,7 +2079,7 @@ var AudioStreamController = /*#__PURE__*/function (_BaseStreamController) {
|
|||
var chunkMeta = new _types_transmuxer__WEBPACK_IMPORTED_MODULE_10__["ChunkMetadata"](frag.level, frag.sn, frag.stats.chunkCount, payload.byteLength, partIndex, partial);
|
||||
transmuxer.push(payload, initSegmentData, audioCodec, '', frag, part, details.totalduration, accurateTimeOffset, chunkMeta, initPTS);
|
||||
} else {
|
||||
_utils_logger__WEBPACK_IMPORTED_MODULE_14__["logger"].log("Unknown video PTS for cc " + frag.cc + ", waiting for video PTS before demuxing audio frag " + frag.sn + " of [" + details.startSN + " ," + details.endSN + "],track " + trackId);
|
||||
this.log("Unknown video PTS for cc " + frag.cc + ", waiting for video PTS before demuxing audio frag " + frag.sn + " of [" + details.startSN + " ," + details.endSN + "],track " + trackId);
|
||||
|
||||
var _this$waitingData = this.waitingData = this.waitingData || {
|
||||
frag: frag,
|
||||
|
@ -3654,8 +3659,6 @@ var BaseStreamController = /*#__PURE__*/function (_TaskLoop) {
|
|||
};
|
||||
|
||||
_proto.getNextFragment = function getNextFragment(pos, levelDetails) {
|
||||
var _frag, _frag2;
|
||||
|
||||
var fragments = levelDetails.fragments;
|
||||
var fragLen = fragments.length;
|
||||
|
||||
|
@ -3693,11 +3696,15 @@ var BaseStreamController = /*#__PURE__*/function (_TaskLoop) {
|
|||
if (!frag) {
|
||||
var end = config.lowLatencyMode ? levelDetails.partEnd : levelDetails.fragmentEnd;
|
||||
frag = this.getFragmentAtPosition(pos, end, levelDetails);
|
||||
} // If an initSegment is present, it must be buffered first
|
||||
}
|
||||
|
||||
return this.mapToInitFragWhenRequired(frag);
|
||||
};
|
||||
|
||||
if ((_frag = frag) !== null && _frag !== void 0 && _frag.initSegment && !((_frag2 = frag) !== null && _frag2 !== void 0 && _frag2.initSegment.data) && !this.bitrateTest) {
|
||||
frag = frag.initSegment;
|
||||
_proto.mapToInitFragWhenRequired = function mapToInitFragWhenRequired(frag) {
|
||||
// If an initSegment is present, it must be buffered first
|
||||
if (frag !== null && frag !== void 0 && frag.initSegment && !(frag !== null && frag !== void 0 && frag.initSegment.data) && !this.bitrateTest) {
|
||||
return frag.initSegment;
|
||||
}
|
||||
|
||||
return frag;
|
||||
|
@ -9553,7 +9560,6 @@ __webpack_require__.r(__webpack_exports__);
|
|||
/* harmony import */ var _types_transmuxer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../types/transmuxer */ "./src/types/transmuxer.ts");
|
||||
/* harmony import */ var _gap_controller__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./gap-controller */ "./src/controller/gap-controller.ts");
|
||||
/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../errors */ "./src/errors.ts");
|
||||
/* harmony import */ var _utils_logger__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/logger */ "./src/utils/logger.ts");
|
||||
|
||||
|
||||
|
||||
|
@ -9578,7 +9584,6 @@ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Objec
|
|||
|
||||
|
||||
|
||||
|
||||
var TICK_INTERVAL = 100; // how often to tick in ms
|
||||
|
||||
var StreamController = /*#__PURE__*/function (_BaseStreamController) {
|
||||
|
@ -9598,7 +9603,6 @@ var StreamController = /*#__PURE__*/function (_BaseStreamController) {
|
|||
_this.onvplaying = null;
|
||||
_this.onvseeked = null;
|
||||
_this.fragLastKbps = 0;
|
||||
_this.stalled = false;
|
||||
_this.couldBacktrack = false;
|
||||
_this.backtrackFragment = null;
|
||||
_this.audioCodecSwitch = false;
|
||||
|
@ -10071,7 +10075,7 @@ var StreamController = /*#__PURE__*/function (_BaseStreamController) {
|
|||
this.log('Trigger BUFFER_RESET');
|
||||
this.hls.trigger(_events__WEBPACK_IMPORTED_MODULE_3__["Events"].BUFFER_RESET, undefined);
|
||||
this.fragmentTracker.removeAllFragments();
|
||||
this.couldBacktrack = this.stalled = false;
|
||||
this.couldBacktrack = false;
|
||||
this.startPosition = this.lastCurrentTime = 0;
|
||||
this.fragPlaying = null;
|
||||
this.backtrackFragment = null;
|
||||
|
@ -10470,7 +10474,7 @@ var StreamController = /*#__PURE__*/function (_BaseStreamController) {
|
|||
|
||||
if (startPosition >= 0 && currentTime < startPosition) {
|
||||
if (media.seeking) {
|
||||
_utils_logger__WEBPACK_IMPORTED_MODULE_12__["logger"].log("could not seek to " + startPosition + ", already seeking at " + currentTime);
|
||||
this.log("could not seek to " + startPosition + ", already seeking at " + currentTime);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -10479,7 +10483,7 @@ var StreamController = /*#__PURE__*/function (_BaseStreamController) {
|
|||
var delta = bufferStart - startPosition;
|
||||
|
||||
if (delta > 0 && (delta < this.config.maxBufferHole || delta < this.config.maxFragLookUpTolerance)) {
|
||||
_utils_logger__WEBPACK_IMPORTED_MODULE_12__["logger"].log("adjusting start position by " + delta + " to match buffer start");
|
||||
this.log("adjusting start position by " + delta + " to match buffer start");
|
||||
startPosition += delta;
|
||||
this.startPosition = startPosition;
|
||||
}
|
||||
|
@ -11239,8 +11243,6 @@ var SubtitleStreamController = /*#__PURE__*/function (_BaseStreamController) {
|
|||
}
|
||||
|
||||
if (this.state === _base_stream_controller__WEBPACK_IMPORTED_MODULE_6__["State"].IDLE) {
|
||||
var _foundFrag;
|
||||
|
||||
var currentTrackId = this.currentTrackId,
|
||||
levels = this.levels;
|
||||
|
||||
|
@ -11280,9 +11282,15 @@ var SubtitleStreamController = /*#__PURE__*/function (_BaseStreamController) {
|
|||
foundFrag = fragments[fragLen - 1];
|
||||
}
|
||||
|
||||
if ((_foundFrag = foundFrag) !== null && _foundFrag !== void 0 && _foundFrag.encrypted) {
|
||||
foundFrag = this.mapToInitFragWhenRequired(foundFrag);
|
||||
|
||||
if (!foundFrag) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (foundFrag.encrypted) {
|
||||
this.loadKey(foundFrag, trackDetails);
|
||||
} else if (foundFrag && this.fragmentTracker.getState(foundFrag) === _fragment_tracker__WEBPACK_IMPORTED_MODULE_5__["FragmentState"].NOT_LOADED) {
|
||||
} else if (this.fragmentTracker.getState(foundFrag) === _fragment_tracker__WEBPACK_IMPORTED_MODULE_5__["FragmentState"].NOT_LOADED) {
|
||||
// only load if fragment is not loaded
|
||||
this.loadFragment(foundFrag, trackDetails, targetBufferTime);
|
||||
}
|
||||
|
@ -11292,7 +11300,11 @@ var SubtitleStreamController = /*#__PURE__*/function (_BaseStreamController) {
|
|||
_proto.loadFragment = function loadFragment(frag, levelDetails, targetBufferTime) {
|
||||
this.fragCurrent = frag;
|
||||
|
||||
_BaseStreamController.prototype.loadFragment.call(this, frag, levelDetails, targetBufferTime);
|
||||
if (frag.sn === 'initSegment') {
|
||||
this._loadInitSegment(frag);
|
||||
} else {
|
||||
_BaseStreamController.prototype.loadFragment.call(this, frag, levelDetails, targetBufferTime);
|
||||
}
|
||||
};
|
||||
|
||||
_createClass(SubtitleStreamController, [{
|
||||
|
@ -11774,8 +11786,10 @@ __webpack_require__.r(__webpack_exports__);
|
|||
/* harmony import */ var _utils_webvtt_parser__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/webvtt-parser */ "./src/utils/webvtt-parser.ts");
|
||||
/* harmony import */ var _utils_texttrack_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/texttrack-utils */ "./src/utils/texttrack-utils.ts");
|
||||
/* harmony import */ var _utils_imsc1_ttml_parser__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/imsc1-ttml-parser */ "./src/utils/imsc1-ttml-parser.ts");
|
||||
/* harmony import */ var _types_loader__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../types/loader */ "./src/types/loader.ts");
|
||||
/* harmony import */ var _utils_logger__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/logger */ "./src/utils/logger.ts");
|
||||
/* harmony import */ var _utils_mp4_tools__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/mp4-tools */ "./src/utils/mp4-tools.ts");
|
||||
/* harmony import */ var _types_loader__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../types/loader */ "./src/types/loader.ts");
|
||||
/* harmony import */ var _utils_logger__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/logger */ "./src/utils/logger.ts");
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -12114,7 +12128,9 @@ var TimelineController = /*#__PURE__*/function () {
|
|||
if (textTrack) {
|
||||
Object(_utils_texttrack_utils__WEBPACK_IMPORTED_MODULE_5__["clearCurrentCues"])(textTrack);
|
||||
} else {
|
||||
textTrack = _this2.createTextTrack('subtitles', track.name, track.lang);
|
||||
var textTrackKind = _this2._captionsOrSubtitlesFromCharacteristics(track);
|
||||
|
||||
textTrack = _this2.createTextTrack(textTrackKind, track.name, track.lang);
|
||||
|
||||
if (textTrack) {
|
||||
textTrack.mode = 'disabled';
|
||||
|
@ -12144,6 +12160,21 @@ var TimelineController = /*#__PURE__*/function () {
|
|||
}
|
||||
};
|
||||
|
||||
_proto._captionsOrSubtitlesFromCharacteristics = function _captionsOrSubtitlesFromCharacteristics(track) {
|
||||
var _track$attrs;
|
||||
|
||||
if ((_track$attrs = track.attrs) !== null && _track$attrs !== void 0 && _track$attrs.CHARACTERISTICS) {
|
||||
var transcribesSpokenDialog = /transcribes-spoken-dialog/gi.test(track.attrs.CHARACTERISTICS);
|
||||
var describesMusicAndSound = /describes-music-and-sound/gi.test(track.attrs.CHARACTERISTICS);
|
||||
|
||||
if (transcribesSpokenDialog && describesMusicAndSound) {
|
||||
return 'captions';
|
||||
}
|
||||
}
|
||||
|
||||
return 'subtitles';
|
||||
};
|
||||
|
||||
_proto.onManifestLoaded = function onManifestLoaded(event, data) {
|
||||
var _this3 = this;
|
||||
|
||||
|
@ -12185,7 +12216,7 @@ var TimelineController = /*#__PURE__*/function () {
|
|||
} // if this frag isn't contiguous, clear the parser so cues with bad start/end times aren't added to the textTrack
|
||||
|
||||
|
||||
if (data.frag.type === _types_loader__WEBPACK_IMPORTED_MODULE_7__["PlaylistLevelType"].MAIN) {
|
||||
if (data.frag.type === _types_loader__WEBPACK_IMPORTED_MODULE_8__["PlaylistLevelType"].MAIN) {
|
||||
var _data$part$index, _data$part;
|
||||
|
||||
var sn = data.frag.sn;
|
||||
|
@ -12207,7 +12238,7 @@ var TimelineController = /*#__PURE__*/function () {
|
|||
var initPTS = this.initPTS,
|
||||
unparsedVttFrags = this.unparsedVttFrags;
|
||||
|
||||
if (frag.type === _types_loader__WEBPACK_IMPORTED_MODULE_7__["PlaylistLevelType"].SUBTITLE) {
|
||||
if (frag.type === _types_loader__WEBPACK_IMPORTED_MODULE_8__["PlaylistLevelType"].SUBTITLE) {
|
||||
// If fragment is subtitle type, parse as WebVTT.
|
||||
if (payload.byteLength) {
|
||||
// We need an initial synchronisation PTS. Store fragments as long as none has arrived.
|
||||
|
@ -12272,7 +12303,7 @@ var TimelineController = /*#__PURE__*/function () {
|
|||
frag: frag
|
||||
});
|
||||
}, function (error) {
|
||||
_utils_logger__WEBPACK_IMPORTED_MODULE_8__["logger"].log("Failed to parse IMSC1: " + error);
|
||||
_utils_logger__WEBPACK_IMPORTED_MODULE_9__["logger"].log("Failed to parse IMSC1: " + error);
|
||||
hls.trigger(_events__WEBPACK_IMPORTED_MODULE_1__["Events"].SUBTITLE_FRAG_PROCESSED, {
|
||||
success: false,
|
||||
frag: frag,
|
||||
|
@ -12282,11 +12313,13 @@ var TimelineController = /*#__PURE__*/function () {
|
|||
};
|
||||
|
||||
_proto._parseVTTs = function _parseVTTs(frag, payload, vttCCs) {
|
||||
var _this5 = this;
|
||||
var _frag$initSegment,
|
||||
_this5 = this;
|
||||
|
||||
var hls = this.hls; // Parse the WebVTT file contents.
|
||||
|
||||
Object(_utils_webvtt_parser__WEBPACK_IMPORTED_MODULE_4__["parseWebVTT"])(payload, this.initPTS[frag.cc], this.timescale[frag.cc], vttCCs, frag.cc, frag.start, function (cues) {
|
||||
var payloadWebVTT = (_frag$initSegment = frag.initSegment) !== null && _frag$initSegment !== void 0 && _frag$initSegment.data ? Object(_utils_mp4_tools__WEBPACK_IMPORTED_MODULE_7__["appendUint8Array"])(frag.initSegment.data, new Uint8Array(payload)) : payload;
|
||||
Object(_utils_webvtt_parser__WEBPACK_IMPORTED_MODULE_4__["parseWebVTT"])(payloadWebVTT, this.initPTS[frag.cc], this.timescale[frag.cc], vttCCs, frag.cc, frag.start, function (cues) {
|
||||
_this5._appendCues(cues, frag.level);
|
||||
|
||||
hls.trigger(_events__WEBPACK_IMPORTED_MODULE_1__["Events"].SUBTITLE_FRAG_PROCESSED, {
|
||||
|
@ -12297,7 +12330,7 @@ var TimelineController = /*#__PURE__*/function () {
|
|||
_this5._fallbackToIMSC1(frag, payload); // Something went wrong while parsing. Trigger event with success false.
|
||||
|
||||
|
||||
_utils_logger__WEBPACK_IMPORTED_MODULE_8__["logger"].log("Failed to parse VTT cue: " + error);
|
||||
_utils_logger__WEBPACK_IMPORTED_MODULE_9__["logger"].log("Failed to parse VTT cue: " + error);
|
||||
hls.trigger(_events__WEBPACK_IMPORTED_MODULE_1__["Events"].SUBTITLE_FRAG_PROCESSED, {
|
||||
success: false,
|
||||
frag: frag,
|
||||
|
@ -12358,7 +12391,7 @@ var TimelineController = /*#__PURE__*/function () {
|
|||
_proto.onFragDecrypted = function onFragDecrypted(event, data) {
|
||||
var frag = data.frag;
|
||||
|
||||
if (frag.type === _types_loader__WEBPACK_IMPORTED_MODULE_7__["PlaylistLevelType"].SUBTITLE) {
|
||||
if (frag.type === _types_loader__WEBPACK_IMPORTED_MODULE_8__["PlaylistLevelType"].SUBTITLE) {
|
||||
if (!Object(_home_runner_work_hls_js_hls_js_src_polyfills_number__WEBPACK_IMPORTED_MODULE_0__["isFiniteNumber"])(this.initPTS[frag.cc])) {
|
||||
this.unparsedVttFrags.push(data);
|
||||
return;
|
||||
|
@ -13123,7 +13156,7 @@ var AACDemuxer = /*#__PURE__*/function (_BaseAudioDemuxer) {
|
|||
|
||||
_proto.appendFrame = function appendFrame(track, data, offset) {
|
||||
_adts__WEBPACK_IMPORTED_MODULE_1__["initTrackConfig"](track, this.observer, data, offset, track.manifestCodec);
|
||||
var frame = _adts__WEBPACK_IMPORTED_MODULE_1__["appendFrame"](track, data, offset, this.initPTS, this.frameIndex);
|
||||
var frame = _adts__WEBPACK_IMPORTED_MODULE_1__["appendFrame"](track, data, offset, this.basePTS, this.frameIndex);
|
||||
|
||||
if (frame && frame.missing === 0) {
|
||||
return frame;
|
||||
|
@ -13456,12 +13489,14 @@ __webpack_require__.r(__webpack_exports__);
|
|||
|
||||
|
||||
|
||||
|
||||
var BaseAudioDemuxer = /*#__PURE__*/function () {
|
||||
function BaseAudioDemuxer() {
|
||||
this._audioTrack = void 0;
|
||||
this._id3Track = void 0;
|
||||
this.frameIndex = 0;
|
||||
this.cachedData = null;
|
||||
this.basePTS = null;
|
||||
this.initPTS = null;
|
||||
}
|
||||
|
||||
|
@ -13479,9 +13514,15 @@ var BaseAudioDemuxer = /*#__PURE__*/function () {
|
|||
};
|
||||
};
|
||||
|
||||
_proto.resetTimeStamp = function resetTimeStamp() {};
|
||||
_proto.resetTimeStamp = function resetTimeStamp(deaultTimestamp) {
|
||||
this.initPTS = deaultTimestamp;
|
||||
this.resetContiguity();
|
||||
};
|
||||
|
||||
_proto.resetContiguity = function resetContiguity() {};
|
||||
_proto.resetContiguity = function resetContiguity() {
|
||||
this.basePTS = null;
|
||||
this.frameIndex = 0;
|
||||
};
|
||||
|
||||
_proto.canParse = function canParse(data, offset) {
|
||||
return false;
|
||||
|
@ -13505,21 +13546,21 @@ var BaseAudioDemuxer = /*#__PURE__*/function () {
|
|||
var timestamp = id3Data ? _demux_id3__WEBPACK_IMPORTED_MODULE_1__["getTimeStamp"](id3Data) : undefined;
|
||||
var length = data.length;
|
||||
|
||||
if (this.frameIndex === 0 || this.initPTS === null) {
|
||||
this.initPTS = initPTSFn(timestamp, timeOffset);
|
||||
if (this.basePTS === null || this.frameIndex === 0 && Object(_home_runner_work_hls_js_hls_js_src_polyfills_number__WEBPACK_IMPORTED_MODULE_0__["isFiniteNumber"])(timestamp)) {
|
||||
this.basePTS = initPTSFn(timestamp, timeOffset, this.initPTS);
|
||||
} // more expressive than alternative: id3Data?.length
|
||||
|
||||
|
||||
if (id3Data && id3Data.length > 0) {
|
||||
id3Track.samples.push({
|
||||
pts: this.initPTS,
|
||||
dts: this.initPTS,
|
||||
pts: this.basePTS,
|
||||
dts: this.basePTS,
|
||||
data: id3Data,
|
||||
type: _types_demuxer__WEBPACK_IMPORTED_MODULE_2__["MetadataSchema"].audioId3
|
||||
});
|
||||
}
|
||||
|
||||
pts = this.initPTS;
|
||||
pts = this.basePTS;
|
||||
|
||||
while (offset < length) {
|
||||
if (this.canParse(data, offset)) {
|
||||
|
@ -13580,7 +13621,6 @@ var BaseAudioDemuxer = /*#__PURE__*/function () {
|
|||
this.demux(cachedData, 0);
|
||||
}
|
||||
|
||||
this.frameIndex = 0;
|
||||
return {
|
||||
audioTrack: this._audioTrack,
|
||||
videoTrack: Object(_dummy_demuxed_track__WEBPACK_IMPORTED_MODULE_3__["dummyTrack"])(),
|
||||
|
@ -13601,8 +13641,12 @@ var BaseAudioDemuxer = /*#__PURE__*/function () {
|
|||
*/
|
||||
|
||||
|
||||
var initPTSFn = function initPTSFn(timestamp, timeOffset) {
|
||||
return Object(_home_runner_work_hls_js_hls_js_src_polyfills_number__WEBPACK_IMPORTED_MODULE_0__["isFiniteNumber"])(timestamp) ? timestamp * 90 : timeOffset * 90000;
|
||||
var initPTSFn = function initPTSFn(timestamp, timeOffset, initPTS) {
|
||||
if (Object(_home_runner_work_hls_js_hls_js_src_polyfills_number__WEBPACK_IMPORTED_MODULE_0__["isFiniteNumber"])(timestamp)) {
|
||||
return timestamp * 90;
|
||||
}
|
||||
|
||||
return timeOffset * 90000 + (initPTS || 0);
|
||||
};
|
||||
/* harmony default export */ __webpack_exports__["default"] = (BaseAudioDemuxer);
|
||||
|
||||
|
@ -14608,11 +14652,11 @@ var MP3Demuxer = /*#__PURE__*/function (_BaseAudioDemuxer) {
|
|||
};
|
||||
|
||||
_proto.appendFrame = function appendFrame(track, data, offset) {
|
||||
if (this.initPTS === null) {
|
||||
if (this.basePTS === null) {
|
||||
return;
|
||||
}
|
||||
|
||||
return _mpegaudio__WEBPACK_IMPORTED_MODULE_3__["appendFrame"](track, data, offset, this.initPTS, this.frameIndex);
|
||||
return _mpegaudio__WEBPACK_IMPORTED_MODULE_3__["appendFrame"](track, data, offset, this.basePTS, this.frameIndex);
|
||||
};
|
||||
|
||||
return MP3Demuxer;
|
||||
|
@ -15260,7 +15304,8 @@ var TransmuxerInterface = /*#__PURE__*/function () {
|
|||
var trackSwitch = !(lastFrag && chunkMeta.level === lastFrag.level);
|
||||
var snDiff = lastFrag ? chunkMeta.sn - lastFrag.sn : -1;
|
||||
var partDiff = this.part ? chunkMeta.part - this.part.index : -1;
|
||||
var contiguous = !trackSwitch && (snDiff === 1 || snDiff === 0 && partDiff === 1);
|
||||
var progressive = snDiff === 0 && chunkMeta.id > 1 && chunkMeta.id === (lastFrag === null || lastFrag === void 0 ? void 0 : lastFrag.stats.chunkCount);
|
||||
var contiguous = !trackSwitch && (snDiff === 1 || snDiff === 0 && (partDiff === 1 || progressive && partDiff <= 0));
|
||||
var now = self.performance.now();
|
||||
|
||||
if (trackSwitch || snDiff || frag.stats.parsing.start === 0) {
|
||||
|
@ -15362,6 +15407,14 @@ var TransmuxerInterface = /*#__PURE__*/function () {
|
|||
this.onFlush(data.data);
|
||||
break;
|
||||
}
|
||||
// pass logs from the worker thread to the main logger
|
||||
|
||||
case 'workerLog':
|
||||
if (_utils_logger__WEBPACK_IMPORTED_MODULE_3__["logger"][data.data.logType]) {
|
||||
_utils_logger__WEBPACK_IMPORTED_MODULE_3__["logger"][data.data.logType](data.data.message);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
/* falls through */
|
||||
|
||||
|
@ -15433,7 +15486,25 @@ function TransmuxerWorker(self) {
|
|||
|
||||
|
||||
observer.on(_events__WEBPACK_IMPORTED_MODULE_1__["Events"].FRAG_DECRYPTED, forwardMessage);
|
||||
observer.on(_events__WEBPACK_IMPORTED_MODULE_1__["Events"].ERROR, forwardMessage);
|
||||
observer.on(_events__WEBPACK_IMPORTED_MODULE_1__["Events"].ERROR, forwardMessage); // forward logger events to main thread
|
||||
|
||||
var forwardWorkerLogs = function forwardWorkerLogs() {
|
||||
var _loop = function _loop(logFn) {
|
||||
var func = function func(message) {
|
||||
forwardMessage('workerLog', {
|
||||
logType: logFn,
|
||||
message: message
|
||||
});
|
||||
};
|
||||
|
||||
_utils_logger__WEBPACK_IMPORTED_MODULE_2__["logger"][logFn] = func;
|
||||
};
|
||||
|
||||
for (var logFn in _utils_logger__WEBPACK_IMPORTED_MODULE_2__["logger"]) {
|
||||
_loop(logFn);
|
||||
}
|
||||
};
|
||||
|
||||
self.addEventListener('message', function (ev) {
|
||||
var data = ev.data;
|
||||
|
||||
|
@ -15443,6 +15514,7 @@ function TransmuxerWorker(self) {
|
|||
var config = JSON.parse(data.config);
|
||||
self.transmuxer = new _demux_transmuxer__WEBPACK_IMPORTED_MODULE_0__["default"](observer, data.typeSupported, config, data.vendor, data.id);
|
||||
Object(_utils_logger__WEBPACK_IMPORTED_MODULE_2__["enableLogs"])(config.debug);
|
||||
forwardWorkerLogs();
|
||||
forwardMessage('init', null);
|
||||
break;
|
||||
}
|
||||
|
@ -18248,7 +18320,7 @@ var Hls = /*#__PURE__*/function () {
|
|||
}], [{
|
||||
key: "version",
|
||||
get: function get() {
|
||||
return "1.2.0";
|
||||
return "1.2.1";
|
||||
}
|
||||
}, {
|
||||
key: "Events",
|
||||
|
@ -20763,7 +20835,14 @@ var PlaylistLoader = /*#__PURE__*/function () {
|
|||
};
|
||||
|
||||
_proto.handleSidxRequest = function handleSidxRequest(response, context) {
|
||||
var sidxInfo = Object(_utils_mp4_tools__WEBPACK_IMPORTED_MODULE_4__["parseSegmentIndex"])(new Uint8Array(response.data)); // if provided fragment does not contain sidx, early return
|
||||
var data = new Uint8Array(response.data);
|
||||
var sidxBox = Object(_utils_mp4_tools__WEBPACK_IMPORTED_MODULE_4__["findBox"])(data, ['sidx'])[0]; // if provided fragment does not contain sidx, early return
|
||||
|
||||
if (!sidxBox) {
|
||||
return;
|
||||
}
|
||||
|
||||
var sidxInfo = Object(_utils_mp4_tools__WEBPACK_IMPORTED_MODULE_4__["parseSegmentIndex"])(sidxBox);
|
||||
|
||||
if (!sidxInfo) {
|
||||
return;
|
||||
|
@ -20780,7 +20859,9 @@ var PlaylistLoader = /*#__PURE__*/function () {
|
|||
}
|
||||
|
||||
if (frag.initSegment) {
|
||||
frag.initSegment.setByteRange(String(sidxInfo.moovEndOffset) + '@0');
|
||||
var moovBox = Object(_utils_mp4_tools__WEBPACK_IMPORTED_MODULE_4__["findBox"])(data, ['moov'])[0];
|
||||
var moovEndOffset = moovBox ? moovBox.length : null;
|
||||
frag.initSegment.setByteRange(String(moovEndOffset) + '@0');
|
||||
}
|
||||
});
|
||||
};
|
||||
|
@ -26362,19 +26443,8 @@ function findBox(data, path) {
|
|||
|
||||
return results;
|
||||
}
|
||||
function parseSegmentIndex(initSegment) {
|
||||
var moovBox = findBox(initSegment, ['moov']);
|
||||
var moov = moovBox[0];
|
||||
var moovEndOffset = moov ? moov.length : null; // we need this in case we need to chop of garbage of the end of current data
|
||||
|
||||
var sidxBox = findBox(initSegment, ['sidx']);
|
||||
|
||||
if (!sidxBox || !sidxBox[0]) {
|
||||
return null;
|
||||
}
|
||||
|
||||
function parseSegmentIndex(sidx) {
|
||||
var references = [];
|
||||
var sidx = sidxBox[0];
|
||||
var version = sidx[0]; // set initial offset, we skip the reference ID (not needed)
|
||||
|
||||
var index = 8;
|
||||
|
@ -26435,8 +26505,7 @@ function parseSegmentIndex(initSegment) {
|
|||
timescale: timescale,
|
||||
version: version,
|
||||
referencesCount: referencesCount,
|
||||
references: references,
|
||||
moovEndOffset: moovEndOffset
|
||||
references: references
|
||||
};
|
||||
}
|
||||
/**
|
||||
|
@ -26660,13 +26729,20 @@ function getDuration(data, initData) {
|
|||
|
||||
if (videoDuration === 0 && audioDuration === 0) {
|
||||
// If duration samples are not available in the traf use sidx subsegment_duration
|
||||
var sidx = parseSegmentIndex(data);
|
||||
var sidxDuration = 0;
|
||||
var sidxs = findBox(data, ['sidx']);
|
||||
|
||||
if (sidx !== null && sidx !== void 0 && sidx.references) {
|
||||
return sidx.references.reduce(function (dur, ref) {
|
||||
return dur + ref.info.duration || 0;
|
||||
}, 0);
|
||||
for (var _i = 0; _i < sidxs.length; _i++) {
|
||||
var sidx = parseSegmentIndex(sidxs[_i]);
|
||||
|
||||
if (sidx !== null && sidx !== void 0 && sidx.references) {
|
||||
sidxDuration += sidx.references.reduce(function (dur, ref) {
|
||||
return dur + ref.info.duration || 0;
|
||||
}, 0);
|
||||
}
|
||||
}
|
||||
|
||||
return sidxDuration;
|
||||
}
|
||||
|
||||
if (videoDuration) {
|
||||
|
@ -27051,12 +27127,12 @@ function parseSEIMessageFromNALu(unescapedData, pts, samples) {
|
|||
if (payloadSize > 16) {
|
||||
var uuidStrArray = [];
|
||||
|
||||
for (var _i = 0; _i < 16; _i++) {
|
||||
for (var _i2 = 0; _i2 < 16; _i2++) {
|
||||
var _b = data[seiPtr++].toString(16);
|
||||
|
||||
uuidStrArray.push(_b.length == 1 ? '0' + _b : _b);
|
||||
|
||||
if (_i === 3 || _i === 5 || _i === 7 || _i === 9) {
|
||||
if (_i2 === 3 || _i2 === 5 || _i2 === 7 || _i2 === 9) {
|
||||
uuidStrArray.push('-');
|
||||
}
|
||||
}
|
||||
|
@ -27064,8 +27140,8 @@ function parseSEIMessageFromNALu(unescapedData, pts, samples) {
|
|||
var length = payloadSize - 16;
|
||||
var userDataBytes = new Uint8Array(length);
|
||||
|
||||
for (var _i2 = 0; _i2 < length; _i2++) {
|
||||
userDataBytes[_i2] = data[seiPtr++];
|
||||
for (var _i3 = 0; _i3 < length; _i3++) {
|
||||
userDataBytes[_i3] = data[seiPtr++];
|
||||
}
|
||||
|
||||
samples.push({
|
||||
|
|
5
node_modules/hls.js/dist/hls.js.d.ts
generated
vendored
5
node_modules/hls.js/dist/hls.js.d.ts
generated
vendored
|
@ -75,6 +75,7 @@ declare class AudioStreamController extends BaseStreamController implements Netw
|
|||
startLoad(startPosition: number): void;
|
||||
doTick(): void;
|
||||
clearWaitingFragment(): void;
|
||||
protected resetLoadingState(): void;
|
||||
protected onTickEnd(): void;
|
||||
private doTickIdle;
|
||||
protected getMaxBufferLength(mainBufferLength?: number): number;
|
||||
|
@ -253,6 +254,7 @@ declare class BaseStreamController extends TaskLoop implements NetworkComponentA
|
|||
protected getMaxBufferLength(levelBitrate?: number): number;
|
||||
protected reduceMaxBufferLength(threshold?: number): boolean;
|
||||
protected getNextFragment(pos: number, levelDetails: LevelDetails): Fragment | null;
|
||||
mapToInitFragWhenRequired(frag: Fragment | null): typeof frag;
|
||||
getNextPart(partList: Part[], frag: Fragment, targetBufferTime: number): number;
|
||||
private loadedEndOfParts;
|
||||
protected getInitialLiveFragment(levelDetails: LevelDetails, fragments: Array<Fragment>): Fragment | null;
|
||||
|
@ -1946,6 +1948,7 @@ export declare interface LevelAttributes extends AttrList {
|
|||
BANDWIDTH?: string;
|
||||
BYTERANGE?: string;
|
||||
'CLOSED-CAPTIONS'?: string;
|
||||
CHARACTERISTICS?: string;
|
||||
CODECS?: string;
|
||||
DEFAULT?: string;
|
||||
FORCED?: string;
|
||||
|
@ -2455,7 +2458,6 @@ declare class StreamController extends BaseStreamController implements NetworkCo
|
|||
private onvplaying;
|
||||
private onvseeked;
|
||||
private fragLastKbps;
|
||||
private stalled;
|
||||
private couldBacktrack;
|
||||
private backtrackFragment;
|
||||
private audioCodecSwitch;
|
||||
|
@ -2763,6 +2765,7 @@ declare class TimelineController implements ComponentAPI {
|
|||
private onManifestLoading;
|
||||
private _cleanTracks;
|
||||
private onSubtitleTracksUpdated;
|
||||
private _captionsOrSubtitlesFromCharacteristics;
|
||||
private onManifestLoaded;
|
||||
private onFragLoading;
|
||||
private onFragLoaded;
|
||||
|
|
2
node_modules/hls.js/dist/hls.js.map
generated
vendored
2
node_modules/hls.js/dist/hls.js.map
generated
vendored
File diff suppressed because one or more lines are too long
146
node_modules/hls.js/dist/hls.light.js
generated
vendored
146
node_modules/hls.js/dist/hls.light.js
generated
vendored
|
@ -2519,8 +2519,6 @@ var BaseStreamController = /*#__PURE__*/function (_TaskLoop) {
|
|||
};
|
||||
|
||||
_proto.getNextFragment = function getNextFragment(pos, levelDetails) {
|
||||
var _frag, _frag2;
|
||||
|
||||
var fragments = levelDetails.fragments;
|
||||
var fragLen = fragments.length;
|
||||
|
||||
|
@ -2558,11 +2556,15 @@ var BaseStreamController = /*#__PURE__*/function (_TaskLoop) {
|
|||
if (!frag) {
|
||||
var end = config.lowLatencyMode ? levelDetails.partEnd : levelDetails.fragmentEnd;
|
||||
frag = this.getFragmentAtPosition(pos, end, levelDetails);
|
||||
} // If an initSegment is present, it must be buffered first
|
||||
}
|
||||
|
||||
return this.mapToInitFragWhenRequired(frag);
|
||||
};
|
||||
|
||||
if ((_frag = frag) !== null && _frag !== void 0 && _frag.initSegment && !((_frag2 = frag) !== null && _frag2 !== void 0 && _frag2.initSegment.data) && !this.bitrateTest) {
|
||||
frag = frag.initSegment;
|
||||
_proto.mapToInitFragWhenRequired = function mapToInitFragWhenRequired(frag) {
|
||||
// If an initSegment is present, it must be buffered first
|
||||
if (frag !== null && frag !== void 0 && frag.initSegment && !(frag !== null && frag !== void 0 && frag.initSegment.data) && !this.bitrateTest) {
|
||||
return frag.initSegment;
|
||||
}
|
||||
|
||||
return frag;
|
||||
|
@ -7199,7 +7201,6 @@ __webpack_require__.r(__webpack_exports__);
|
|||
/* harmony import */ var _types_transmuxer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../types/transmuxer */ "./src/types/transmuxer.ts");
|
||||
/* harmony import */ var _gap_controller__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./gap-controller */ "./src/controller/gap-controller.ts");
|
||||
/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../errors */ "./src/errors.ts");
|
||||
/* harmony import */ var _utils_logger__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/logger */ "./src/utils/logger.ts");
|
||||
|
||||
|
||||
|
||||
|
@ -7224,7 +7225,6 @@ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Objec
|
|||
|
||||
|
||||
|
||||
|
||||
var TICK_INTERVAL = 100; // how often to tick in ms
|
||||
|
||||
var StreamController = /*#__PURE__*/function (_BaseStreamController) {
|
||||
|
@ -7244,7 +7244,6 @@ var StreamController = /*#__PURE__*/function (_BaseStreamController) {
|
|||
_this.onvplaying = null;
|
||||
_this.onvseeked = null;
|
||||
_this.fragLastKbps = 0;
|
||||
_this.stalled = false;
|
||||
_this.couldBacktrack = false;
|
||||
_this.backtrackFragment = null;
|
||||
_this.audioCodecSwitch = false;
|
||||
|
@ -7717,7 +7716,7 @@ var StreamController = /*#__PURE__*/function (_BaseStreamController) {
|
|||
this.log('Trigger BUFFER_RESET');
|
||||
this.hls.trigger(_events__WEBPACK_IMPORTED_MODULE_3__["Events"].BUFFER_RESET, undefined);
|
||||
this.fragmentTracker.removeAllFragments();
|
||||
this.couldBacktrack = this.stalled = false;
|
||||
this.couldBacktrack = false;
|
||||
this.startPosition = this.lastCurrentTime = 0;
|
||||
this.fragPlaying = null;
|
||||
this.backtrackFragment = null;
|
||||
|
@ -8116,7 +8115,7 @@ var StreamController = /*#__PURE__*/function (_BaseStreamController) {
|
|||
|
||||
if (startPosition >= 0 && currentTime < startPosition) {
|
||||
if (media.seeking) {
|
||||
_utils_logger__WEBPACK_IMPORTED_MODULE_12__["logger"].log("could not seek to " + startPosition + ", already seeking at " + currentTime);
|
||||
this.log("could not seek to " + startPosition + ", already seeking at " + currentTime);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -8125,7 +8124,7 @@ var StreamController = /*#__PURE__*/function (_BaseStreamController) {
|
|||
var delta = bufferStart - startPosition;
|
||||
|
||||
if (delta > 0 && (delta < this.config.maxBufferHole || delta < this.config.maxFragLookUpTolerance)) {
|
||||
_utils_logger__WEBPACK_IMPORTED_MODULE_12__["logger"].log("adjusting start position by " + delta + " to match buffer start");
|
||||
this.log("adjusting start position by " + delta + " to match buffer start");
|
||||
startPosition += delta;
|
||||
this.startPosition = startPosition;
|
||||
}
|
||||
|
@ -9182,7 +9181,7 @@ var AACDemuxer = /*#__PURE__*/function (_BaseAudioDemuxer) {
|
|||
|
||||
_proto.appendFrame = function appendFrame(track, data, offset) {
|
||||
_adts__WEBPACK_IMPORTED_MODULE_1__["initTrackConfig"](track, this.observer, data, offset, track.manifestCodec);
|
||||
var frame = _adts__WEBPACK_IMPORTED_MODULE_1__["appendFrame"](track, data, offset, this.initPTS, this.frameIndex);
|
||||
var frame = _adts__WEBPACK_IMPORTED_MODULE_1__["appendFrame"](track, data, offset, this.basePTS, this.frameIndex);
|
||||
|
||||
if (frame && frame.missing === 0) {
|
||||
return frame;
|
||||
|
@ -9515,12 +9514,14 @@ __webpack_require__.r(__webpack_exports__);
|
|||
|
||||
|
||||
|
||||
|
||||
var BaseAudioDemuxer = /*#__PURE__*/function () {
|
||||
function BaseAudioDemuxer() {
|
||||
this._audioTrack = void 0;
|
||||
this._id3Track = void 0;
|
||||
this.frameIndex = 0;
|
||||
this.cachedData = null;
|
||||
this.basePTS = null;
|
||||
this.initPTS = null;
|
||||
}
|
||||
|
||||
|
@ -9538,9 +9539,15 @@ var BaseAudioDemuxer = /*#__PURE__*/function () {
|
|||
};
|
||||
};
|
||||
|
||||
_proto.resetTimeStamp = function resetTimeStamp() {};
|
||||
_proto.resetTimeStamp = function resetTimeStamp(deaultTimestamp) {
|
||||
this.initPTS = deaultTimestamp;
|
||||
this.resetContiguity();
|
||||
};
|
||||
|
||||
_proto.resetContiguity = function resetContiguity() {};
|
||||
_proto.resetContiguity = function resetContiguity() {
|
||||
this.basePTS = null;
|
||||
this.frameIndex = 0;
|
||||
};
|
||||
|
||||
_proto.canParse = function canParse(data, offset) {
|
||||
return false;
|
||||
|
@ -9564,21 +9571,21 @@ var BaseAudioDemuxer = /*#__PURE__*/function () {
|
|||
var timestamp = id3Data ? _demux_id3__WEBPACK_IMPORTED_MODULE_1__["getTimeStamp"](id3Data) : undefined;
|
||||
var length = data.length;
|
||||
|
||||
if (this.frameIndex === 0 || this.initPTS === null) {
|
||||
this.initPTS = initPTSFn(timestamp, timeOffset);
|
||||
if (this.basePTS === null || this.frameIndex === 0 && Object(_home_runner_work_hls_js_hls_js_src_polyfills_number__WEBPACK_IMPORTED_MODULE_0__["isFiniteNumber"])(timestamp)) {
|
||||
this.basePTS = initPTSFn(timestamp, timeOffset, this.initPTS);
|
||||
} // more expressive than alternative: id3Data?.length
|
||||
|
||||
|
||||
if (id3Data && id3Data.length > 0) {
|
||||
id3Track.samples.push({
|
||||
pts: this.initPTS,
|
||||
dts: this.initPTS,
|
||||
pts: this.basePTS,
|
||||
dts: this.basePTS,
|
||||
data: id3Data,
|
||||
type: _types_demuxer__WEBPACK_IMPORTED_MODULE_2__["MetadataSchema"].audioId3
|
||||
});
|
||||
}
|
||||
|
||||
pts = this.initPTS;
|
||||
pts = this.basePTS;
|
||||
|
||||
while (offset < length) {
|
||||
if (this.canParse(data, offset)) {
|
||||
|
@ -9639,7 +9646,6 @@ var BaseAudioDemuxer = /*#__PURE__*/function () {
|
|||
this.demux(cachedData, 0);
|
||||
}
|
||||
|
||||
this.frameIndex = 0;
|
||||
return {
|
||||
audioTrack: this._audioTrack,
|
||||
videoTrack: Object(_dummy_demuxed_track__WEBPACK_IMPORTED_MODULE_3__["dummyTrack"])(),
|
||||
|
@ -9660,8 +9666,12 @@ var BaseAudioDemuxer = /*#__PURE__*/function () {
|
|||
*/
|
||||
|
||||
|
||||
var initPTSFn = function initPTSFn(timestamp, timeOffset) {
|
||||
return Object(_home_runner_work_hls_js_hls_js_src_polyfills_number__WEBPACK_IMPORTED_MODULE_0__["isFiniteNumber"])(timestamp) ? timestamp * 90 : timeOffset * 90000;
|
||||
var initPTSFn = function initPTSFn(timestamp, timeOffset, initPTS) {
|
||||
if (Object(_home_runner_work_hls_js_hls_js_src_polyfills_number__WEBPACK_IMPORTED_MODULE_0__["isFiniteNumber"])(timestamp)) {
|
||||
return timestamp * 90;
|
||||
}
|
||||
|
||||
return timeOffset * 90000 + (initPTS || 0);
|
||||
};
|
||||
/* harmony default export */ __webpack_exports__["default"] = (BaseAudioDemuxer);
|
||||
|
||||
|
@ -10667,11 +10677,11 @@ var MP3Demuxer = /*#__PURE__*/function (_BaseAudioDemuxer) {
|
|||
};
|
||||
|
||||
_proto.appendFrame = function appendFrame(track, data, offset) {
|
||||
if (this.initPTS === null) {
|
||||
if (this.basePTS === null) {
|
||||
return;
|
||||
}
|
||||
|
||||
return _mpegaudio__WEBPACK_IMPORTED_MODULE_3__["appendFrame"](track, data, offset, this.initPTS, this.frameIndex);
|
||||
return _mpegaudio__WEBPACK_IMPORTED_MODULE_3__["appendFrame"](track, data, offset, this.basePTS, this.frameIndex);
|
||||
};
|
||||
|
||||
return MP3Demuxer;
|
||||
|
@ -11319,7 +11329,8 @@ var TransmuxerInterface = /*#__PURE__*/function () {
|
|||
var trackSwitch = !(lastFrag && chunkMeta.level === lastFrag.level);
|
||||
var snDiff = lastFrag ? chunkMeta.sn - lastFrag.sn : -1;
|
||||
var partDiff = this.part ? chunkMeta.part - this.part.index : -1;
|
||||
var contiguous = !trackSwitch && (snDiff === 1 || snDiff === 0 && partDiff === 1);
|
||||
var progressive = snDiff === 0 && chunkMeta.id > 1 && chunkMeta.id === (lastFrag === null || lastFrag === void 0 ? void 0 : lastFrag.stats.chunkCount);
|
||||
var contiguous = !trackSwitch && (snDiff === 1 || snDiff === 0 && (partDiff === 1 || progressive && partDiff <= 0));
|
||||
var now = self.performance.now();
|
||||
|
||||
if (trackSwitch || snDiff || frag.stats.parsing.start === 0) {
|
||||
|
@ -11421,6 +11432,14 @@ var TransmuxerInterface = /*#__PURE__*/function () {
|
|||
this.onFlush(data.data);
|
||||
break;
|
||||
}
|
||||
// pass logs from the worker thread to the main logger
|
||||
|
||||
case 'workerLog':
|
||||
if (_utils_logger__WEBPACK_IMPORTED_MODULE_3__["logger"][data.data.logType]) {
|
||||
_utils_logger__WEBPACK_IMPORTED_MODULE_3__["logger"][data.data.logType](data.data.message);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
/* falls through */
|
||||
|
||||
|
@ -11492,7 +11511,25 @@ function TransmuxerWorker(self) {
|
|||
|
||||
|
||||
observer.on(_events__WEBPACK_IMPORTED_MODULE_1__["Events"].FRAG_DECRYPTED, forwardMessage);
|
||||
observer.on(_events__WEBPACK_IMPORTED_MODULE_1__["Events"].ERROR, forwardMessage);
|
||||
observer.on(_events__WEBPACK_IMPORTED_MODULE_1__["Events"].ERROR, forwardMessage); // forward logger events to main thread
|
||||
|
||||
var forwardWorkerLogs = function forwardWorkerLogs() {
|
||||
var _loop = function _loop(logFn) {
|
||||
var func = function func(message) {
|
||||
forwardMessage('workerLog', {
|
||||
logType: logFn,
|
||||
message: message
|
||||
});
|
||||
};
|
||||
|
||||
_utils_logger__WEBPACK_IMPORTED_MODULE_2__["logger"][logFn] = func;
|
||||
};
|
||||
|
||||
for (var logFn in _utils_logger__WEBPACK_IMPORTED_MODULE_2__["logger"]) {
|
||||
_loop(logFn);
|
||||
}
|
||||
};
|
||||
|
||||
self.addEventListener('message', function (ev) {
|
||||
var data = ev.data;
|
||||
|
||||
|
@ -11502,6 +11539,7 @@ function TransmuxerWorker(self) {
|
|||
var config = JSON.parse(data.config);
|
||||
self.transmuxer = new _demux_transmuxer__WEBPACK_IMPORTED_MODULE_0__["default"](observer, data.typeSupported, config, data.vendor, data.id);
|
||||
Object(_utils_logger__WEBPACK_IMPORTED_MODULE_2__["enableLogs"])(config.debug);
|
||||
forwardWorkerLogs();
|
||||
forwardMessage('init', null);
|
||||
break;
|
||||
}
|
||||
|
@ -14320,7 +14358,7 @@ var Hls = /*#__PURE__*/function () {
|
|||
}], [{
|
||||
key: "version",
|
||||
get: function get() {
|
||||
return "1.2.0";
|
||||
return "1.2.1";
|
||||
}
|
||||
}, {
|
||||
key: "Events",
|
||||
|
@ -16835,7 +16873,14 @@ var PlaylistLoader = /*#__PURE__*/function () {
|
|||
};
|
||||
|
||||
_proto.handleSidxRequest = function handleSidxRequest(response, context) {
|
||||
var sidxInfo = Object(_utils_mp4_tools__WEBPACK_IMPORTED_MODULE_4__["parseSegmentIndex"])(new Uint8Array(response.data)); // if provided fragment does not contain sidx, early return
|
||||
var data = new Uint8Array(response.data);
|
||||
var sidxBox = Object(_utils_mp4_tools__WEBPACK_IMPORTED_MODULE_4__["findBox"])(data, ['sidx'])[0]; // if provided fragment does not contain sidx, early return
|
||||
|
||||
if (!sidxBox) {
|
||||
return;
|
||||
}
|
||||
|
||||
var sidxInfo = Object(_utils_mp4_tools__WEBPACK_IMPORTED_MODULE_4__["parseSegmentIndex"])(sidxBox);
|
||||
|
||||
if (!sidxInfo) {
|
||||
return;
|
||||
|
@ -16852,7 +16897,9 @@ var PlaylistLoader = /*#__PURE__*/function () {
|
|||
}
|
||||
|
||||
if (frag.initSegment) {
|
||||
frag.initSegment.setByteRange(String(sidxInfo.moovEndOffset) + '@0');
|
||||
var moovBox = Object(_utils_mp4_tools__WEBPACK_IMPORTED_MODULE_4__["findBox"])(data, ['moov'])[0];
|
||||
var moovEndOffset = moovBox ? moovBox.length : null;
|
||||
frag.initSegment.setByteRange(String(moovEndOffset) + '@0');
|
||||
}
|
||||
});
|
||||
};
|
||||
|
@ -20510,19 +20557,8 @@ function findBox(data, path) {
|
|||
|
||||
return results;
|
||||
}
|
||||
function parseSegmentIndex(initSegment) {
|
||||
var moovBox = findBox(initSegment, ['moov']);
|
||||
var moov = moovBox[0];
|
||||
var moovEndOffset = moov ? moov.length : null; // we need this in case we need to chop of garbage of the end of current data
|
||||
|
||||
var sidxBox = findBox(initSegment, ['sidx']);
|
||||
|
||||
if (!sidxBox || !sidxBox[0]) {
|
||||
return null;
|
||||
}
|
||||
|
||||
function parseSegmentIndex(sidx) {
|
||||
var references = [];
|
||||
var sidx = sidxBox[0];
|
||||
var version = sidx[0]; // set initial offset, we skip the reference ID (not needed)
|
||||
|
||||
var index = 8;
|
||||
|
@ -20583,8 +20619,7 @@ function parseSegmentIndex(initSegment) {
|
|||
timescale: timescale,
|
||||
version: version,
|
||||
referencesCount: referencesCount,
|
||||
references: references,
|
||||
moovEndOffset: moovEndOffset
|
||||
references: references
|
||||
};
|
||||
}
|
||||
/**
|
||||
|
@ -20808,13 +20843,20 @@ function getDuration(data, initData) {
|
|||
|
||||
if (videoDuration === 0 && audioDuration === 0) {
|
||||
// If duration samples are not available in the traf use sidx subsegment_duration
|
||||
var sidx = parseSegmentIndex(data);
|
||||
var sidxDuration = 0;
|
||||
var sidxs = findBox(data, ['sidx']);
|
||||
|
||||
if (sidx !== null && sidx !== void 0 && sidx.references) {
|
||||
return sidx.references.reduce(function (dur, ref) {
|
||||
return dur + ref.info.duration || 0;
|
||||
}, 0);
|
||||
for (var _i = 0; _i < sidxs.length; _i++) {
|
||||
var sidx = parseSegmentIndex(sidxs[_i]);
|
||||
|
||||
if (sidx !== null && sidx !== void 0 && sidx.references) {
|
||||
sidxDuration += sidx.references.reduce(function (dur, ref) {
|
||||
return dur + ref.info.duration || 0;
|
||||
}, 0);
|
||||
}
|
||||
}
|
||||
|
||||
return sidxDuration;
|
||||
}
|
||||
|
||||
if (videoDuration) {
|
||||
|
@ -21199,12 +21241,12 @@ function parseSEIMessageFromNALu(unescapedData, pts, samples) {
|
|||
if (payloadSize > 16) {
|
||||
var uuidStrArray = [];
|
||||
|
||||
for (var _i = 0; _i < 16; _i++) {
|
||||
for (var _i2 = 0; _i2 < 16; _i2++) {
|
||||
var _b = data[seiPtr++].toString(16);
|
||||
|
||||
uuidStrArray.push(_b.length == 1 ? '0' + _b : _b);
|
||||
|
||||
if (_i === 3 || _i === 5 || _i === 7 || _i === 9) {
|
||||
if (_i2 === 3 || _i2 === 5 || _i2 === 7 || _i2 === 9) {
|
||||
uuidStrArray.push('-');
|
||||
}
|
||||
}
|
||||
|
@ -21212,8 +21254,8 @@ function parseSEIMessageFromNALu(unescapedData, pts, samples) {
|
|||
var length = payloadSize - 16;
|
||||
var userDataBytes = new Uint8Array(length);
|
||||
|
||||
for (var _i2 = 0; _i2 < length; _i2++) {
|
||||
userDataBytes[_i2] = data[seiPtr++];
|
||||
for (var _i3 = 0; _i3 < length; _i3++) {
|
||||
userDataBytes[_i3] = data[seiPtr++];
|
||||
}
|
||||
|
||||
samples.push({
|
||||
|
|
2
node_modules/hls.js/dist/hls.light.js.map
generated
vendored
2
node_modules/hls.js/dist/hls.light.js.map
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/hls.js/dist/hls.light.min.js
generated
vendored
2
node_modules/hls.js/dist/hls.light.min.js
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/hls.js/dist/hls.light.min.js.map
generated
vendored
2
node_modules/hls.js/dist/hls.light.min.js.map
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/hls.js/dist/hls.min.js
generated
vendored
2
node_modules/hls.js/dist/hls.min.js
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/hls.js/dist/hls.min.js.map
generated
vendored
2
node_modules/hls.js/dist/hls.min.js.map
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/hls.js/package.json
generated
vendored
2
node_modules/hls.js/package.json
generated
vendored
|
@ -1 +1 @@
|
|||
{"name":"hls.js","license":"Apache-2.0","description":"JavaScript HLS client using MediaSourceExtension","homepage":"https://github.com/video-dev/hls.js","authors":"Guillaume du Pontavice <g.du.pontavice@gmail.com>","repository":{"type":"git","url":"https://github.com/video-dev/hls.js"},"bugs":{"url":"https://github.com/video-dev/hls.js/issues"},"main":"./dist/hls.js","types":"./dist/hls.js.d.ts","files":["dist/**/*","src/**/*"],"publishConfig":{"access":"public"},"scripts":{"build":"webpack --progress && npm run build:types","build:ci":"webpack && tsc --build tsconfig-lib.json && api-extractor run","build:debug":"webpack --progress --env debug --env demo","build:watch":"webpack --progress --env debug --env demo --watch","build:types":"tsc --build tsconfig-lib.json && api-extractor run --local","dev":"webpack serve --progress --env debug --env demo --port 8000 --static .","docs":"esdoc","lint":"eslint src/ tests/ --ext .js --ext .ts","lint:fix":"npm run lint -- --fix","lint:quiet":"npm run lint -- --quiet","lint:staged":"lint-staged","prettier":"prettier --write .","prettier:verify":"prettier --check .","pretest":"npm run lint","sanity-check":"npm run lint && npm run prettier:verify && npm run type-check && npm run docs && npm run build:types && npm run build && npm run test:unit","start":"npm run dev","test":"npm run test:unit && npm run test:func","test:unit":"karma start karma.conf.js","test:unit:debug":"DEBUG_UNIT_TESTS=1 karma start karma.conf.js --auto-watch --no-single-run --browsers Chrome","test:unit:watch":"karma start karma.conf.js --auto-watch --no-single-run","test:func":"BABEL_ENV=development mocha --require @babel/register tests/functional/auto/setup.js --timeout 40000 --exit","test:func:light":"BABEL_ENV=development HLSJS_LIGHT=1 mocha --require @babel/register tests/functional/auto/setup.js --timeout 40000 --exit","test:func:sauce":"SAUCE=1 UA=safari OS='OS X 10.15' BABEL_ENV=development mocha --require @babel/register tests/functional/auto/setup.js --timeout 40000 --exit","type-check":"tsc --noEmit","type-check:watch":"npm run type-check -- --watch","prepare":"husky install"},"devDependencies":{"@babel/core":"7.18.9","@babel/helper-module-imports":"7.18.6","@babel/plugin-proposal-class-properties":"7.18.6","@babel/plugin-proposal-object-rest-spread":"7.18.9","@babel/plugin-proposal-optional-chaining":"7.18.9","@babel/plugin-transform-object-assign":"7.18.6","@babel/preset-env":"7.18.9","@babel/preset-typescript":"7.18.6","@babel/register":"7.18.9","@itsjamie/esdoc-cli":"0.5.0","@itsjamie/esdoc-core":"0.5.0","@itsjamie/esdoc-ecmascript-proposal-plugin":"0.5.0","@itsjamie/esdoc-standard-plugin":"0.5.0","@itsjamie/esdoc-typescript-plugin":"0.5.0","@microsoft/api-extractor":"7.28.4","@types/chai":"4.3.1","@types/chart.js":"2.9.37","@types/mocha":"9.1.1","@types/sinon-chai":"3.2.8","@typescript-eslint/eslint-plugin":"5.23.0","@typescript-eslint/parser":"5.23.0","babel-loader":"8.2.5","babel-plugin-transform-remove-console":"6.9.4","chai":"4.3.6","chart.js":"2.9.4","chromedriver":"103.0.0","eslint":"8.20.0","eslint-config-prettier":"8.5.0","eslint-plugin-import":"2.26.0","eslint-plugin-mocha":"10.0.5","eslint-plugin-node":"11.1.0","eslint-plugin-promise":"6.0.0","eventemitter3":"4.0.7","http-server":"14.1.1","husky":"8.0.1","istanbul-instrumenter-loader":"3.0.1","jsonpack":"1.1.5","karma":"6.4.0","karma-chrome-launcher":"3.1.1","karma-coverage-istanbul-reporter":"3.0.3","karma-mocha":"2.0.1","karma-mocha-reporter":"2.2.5","karma-sinon-chai":"2.0.2","karma-sourcemap-loader":"0.3.8","karma-webpack":"4.0.2","lint-staged":"13.0.3","micromatch":"4.0.5","mocha":"10.0.0","netlify-cli":"10.7.1","prettier":"2.7.1","promise-polyfill":"8.2.3","sauce-connect-launcher":"1.3.2","selenium-webdriver":"4.3.1","semver":"7.3.7","sinon":"14.0.0","sinon-chai":"3.7.0","typescript":"4.7.4","url-toolkit":"2.2.5","webpack":"4.46.0","webpack-cli":"4.10.0","webpack-dev-server":"4.9.3","webpack-merge":"5.8.0","webworkify-webpack":"2.1.5"},"version":"1.2.0"}
|
||||
{"name":"hls.js","license":"Apache-2.0","description":"JavaScript HLS client using MediaSourceExtension","homepage":"https://github.com/video-dev/hls.js","authors":"Guillaume du Pontavice <g.du.pontavice@gmail.com>","repository":{"type":"git","url":"https://github.com/video-dev/hls.js"},"bugs":{"url":"https://github.com/video-dev/hls.js/issues"},"main":"./dist/hls.js","types":"./dist/hls.js.d.ts","files":["dist/**/*","src/**/*"],"publishConfig":{"access":"public"},"scripts":{"build":"webpack --progress && npm run build:types","build:ci":"webpack && tsc --build tsconfig-lib.json && api-extractor run","build:debug":"webpack --progress --env debug --env demo","build:watch":"webpack --progress --env debug --env demo --watch","build:types":"tsc --build tsconfig-lib.json && api-extractor run --local","dev":"webpack serve --progress --env debug --env demo --port 8000 --static .","docs":"esdoc","lint":"eslint src/ tests/ --ext .js --ext .ts","lint:fix":"npm run lint -- --fix","lint:quiet":"npm run lint -- --quiet","lint:staged":"lint-staged","prettier":"prettier --write .","prettier:verify":"prettier --check .","pretest":"npm run lint","sanity-check":"npm run lint && npm run prettier:verify && npm run type-check && npm run docs && npm run build:types && npm run build && npm run test:unit","start":"npm run dev","test":"npm run test:unit && npm run test:func","test:unit":"karma start karma.conf.js","test:unit:debug":"DEBUG_UNIT_TESTS=1 karma start karma.conf.js --auto-watch --no-single-run --browsers Chrome","test:unit:watch":"karma start karma.conf.js --auto-watch --no-single-run","test:func":"BABEL_ENV=development mocha --require @babel/register tests/functional/auto/setup.js --timeout 40000 --exit","test:func:light":"BABEL_ENV=development HLSJS_LIGHT=1 mocha --require @babel/register tests/functional/auto/setup.js --timeout 40000 --exit","test:func:sauce":"SAUCE=1 UA=safari OS='OS X 10.15' BABEL_ENV=development mocha --require @babel/register tests/functional/auto/setup.js --timeout 40000 --exit","type-check":"tsc --noEmit","type-check:watch":"npm run type-check -- --watch","prepare":"husky install"},"devDependencies":{"@babel/core":"7.18.10","@babel/helper-module-imports":"7.18.6","@babel/plugin-proposal-class-properties":"7.18.6","@babel/plugin-proposal-object-rest-spread":"7.18.9","@babel/plugin-proposal-optional-chaining":"7.18.9","@babel/plugin-transform-object-assign":"7.18.6","@babel/preset-env":"7.18.10","@babel/preset-typescript":"7.18.6","@babel/register":"7.18.9","@itsjamie/esdoc-cli":"0.5.0","@itsjamie/esdoc-core":"0.5.0","@itsjamie/esdoc-ecmascript-proposal-plugin":"0.5.0","@itsjamie/esdoc-standard-plugin":"0.5.0","@itsjamie/esdoc-typescript-plugin":"0.5.0","@microsoft/api-extractor":"7.28.6","@types/chai":"4.3.3","@types/chart.js":"2.9.37","@types/mocha":"9.1.1","@types/sinon-chai":"3.2.8","@typescript-eslint/eslint-plugin":"5.23.0","@typescript-eslint/parser":"5.23.0","babel-loader":"8.2.5","babel-plugin-transform-remove-console":"6.9.4","chai":"4.3.6","chart.js":"2.9.4","chromedriver":"104.0.0","eslint":"8.21.0","eslint-config-prettier":"8.5.0","eslint-plugin-import":"2.26.0","eslint-plugin-mocha":"10.1.0","eslint-plugin-node":"11.1.0","eslint-plugin-promise":"6.0.0","eventemitter3":"4.0.7","http-server":"14.1.1","husky":"8.0.1","istanbul-instrumenter-loader":"3.0.1","jsonpack":"1.1.5","karma":"6.4.0","karma-chrome-launcher":"3.1.1","karma-coverage-istanbul-reporter":"3.0.3","karma-mocha":"2.0.1","karma-mocha-reporter":"2.2.5","karma-sinon-chai":"2.0.2","karma-sourcemap-loader":"0.3.8","karma-webpack":"4.0.2","lint-staged":"13.0.3","micromatch":"4.0.5","mocha":"10.0.0","netlify-cli":"10.7.1","prettier":"2.7.1","promise-polyfill":"8.2.3","sauce-connect-launcher":"1.3.2","selenium-webdriver":"4.4.0","semver":"7.3.7","sinon":"14.0.0","sinon-chai":"3.7.0","typescript":"4.7.4","url-toolkit":"2.2.5","webpack":"4.46.0","webpack-cli":"4.10.0","webpack-dev-server":"4.9.3","webpack-merge":"5.8.0","webworkify-webpack":"2.1.5"},"version":"1.2.1"}
|
13
node_modules/hls.js/src/controller/audio-stream-controller.ts
generated
vendored
13
node_modules/hls.js/src/controller/audio-stream-controller.ts
generated
vendored
|
@ -11,7 +11,6 @@ import { ChunkMetadata } from '../types/transmuxer';
|
|||
import { fragmentWithinToleranceTest } from './fragment-finders';
|
||||
import { alignMediaPlaylistByPDT } from '../utils/discontinuities';
|
||||
import { ErrorDetails } from '../errors';
|
||||
import { logger } from '../utils/logger';
|
||||
import type { NetworkComponentAPI } from '../types/component-api';
|
||||
import type { FragmentTracker } from './fragment-tracker';
|
||||
import type { TransmuxerResult } from '../types/transmuxer';
|
||||
|
@ -136,6 +135,7 @@ class AudioStreamController
|
|||
3
|
||||
)}`
|
||||
);
|
||||
startPosition = lastCurrentTime;
|
||||
this.state = State.IDLE;
|
||||
} else {
|
||||
this.loadedmetadata = false;
|
||||
|
@ -197,7 +197,7 @@ class AudioStreamController
|
|||
}
|
||||
} else if (this.videoTrackCC !== this.waitingVideoCC) {
|
||||
// Drop waiting fragment if videoTrackCC has changed since waitingFragment was set and initPTS was not found
|
||||
logger.log(
|
||||
this.log(
|
||||
`Waiting fragment cc (${frag.cc}) cancelled because video is at cc ${this.videoTrackCC}`
|
||||
);
|
||||
this.clearWaitingFragment();
|
||||
|
@ -215,7 +215,7 @@ class AudioStreamController
|
|||
frag
|
||||
);
|
||||
if (waitingFragmentAtPosition < 0) {
|
||||
logger.log(
|
||||
this.log(
|
||||
`Waiting fragment cc (${frag.cc}) @ ${frag.start} cancelled because another fragment at ${bufferInfo.end} is needed`
|
||||
);
|
||||
this.clearWaitingFragment();
|
||||
|
@ -240,6 +240,11 @@ class AudioStreamController
|
|||
}
|
||||
}
|
||||
|
||||
protected resetLoadingState() {
|
||||
this.clearWaitingFragment();
|
||||
super.resetLoadingState();
|
||||
}
|
||||
|
||||
protected onTickEnd() {
|
||||
const { media } = this;
|
||||
if (!media || !media.readyState) {
|
||||
|
@ -550,7 +555,7 @@ class AudioStreamController
|
|||
initPTS
|
||||
);
|
||||
} else {
|
||||
logger.log(
|
||||
this.log(
|
||||
`Unknown video PTS for cc ${frag.cc}, waiting for video PTS before demuxing audio frag ${frag.sn} of [${details.startSN} ,${details.endSN}],track ${trackId}`
|
||||
);
|
||||
const { cache } = (this.waitingData = this.waitingData || {
|
||||
|
|
6
node_modules/hls.js/src/controller/base-stream-controller.ts
generated
vendored
6
node_modules/hls.js/src/controller/base-stream-controller.ts
generated
vendored
|
@ -854,9 +854,13 @@ export default class BaseStreamController
|
|||
frag = this.getFragmentAtPosition(pos, end, levelDetails);
|
||||
}
|
||||
|
||||
return this.mapToInitFragWhenRequired(frag);
|
||||
}
|
||||
|
||||
mapToInitFragWhenRequired(frag: Fragment | null): typeof frag {
|
||||
// If an initSegment is present, it must be buffered first
|
||||
if (frag?.initSegment && !frag?.initSegment.data && !this.bitrateTest) {
|
||||
frag = frag.initSegment;
|
||||
return frag.initSegment;
|
||||
}
|
||||
|
||||
return frag;
|
||||
|
|
10
node_modules/hls.js/src/controller/stream-controller.ts
generated
vendored
10
node_modules/hls.js/src/controller/stream-controller.ts
generated
vendored
|
@ -13,7 +13,6 @@ import type { TransmuxerResult } from '../types/transmuxer';
|
|||
import { ChunkMetadata } from '../types/transmuxer';
|
||||
import GapController from './gap-controller';
|
||||
import { ErrorDetails } from '../errors';
|
||||
import { logger } from '../utils/logger';
|
||||
import type Hls from '../hls';
|
||||
import type { LevelDetails } from '../loader/level-details';
|
||||
import type { TrackSet } from '../types/track';
|
||||
|
@ -52,7 +51,6 @@ export default class StreamController
|
|||
private onvplaying: EventListener | null = null;
|
||||
private onvseeked: EventListener | null = null;
|
||||
private fragLastKbps: number = 0;
|
||||
private stalled: boolean = false;
|
||||
private couldBacktrack: boolean = false;
|
||||
private backtrackFragment: Fragment | null = null;
|
||||
private audioCodecSwitch: boolean = false;
|
||||
|
@ -546,7 +544,7 @@ export default class StreamController
|
|||
this.log('Trigger BUFFER_RESET');
|
||||
this.hls.trigger(Events.BUFFER_RESET, undefined);
|
||||
this.fragmentTracker.removeAllFragments();
|
||||
this.couldBacktrack = this.stalled = false;
|
||||
this.couldBacktrack = false;
|
||||
this.startPosition = this.lastCurrentTime = 0;
|
||||
this.fragPlaying = null;
|
||||
this.backtrackFragment = null;
|
||||
|
@ -982,7 +980,7 @@ export default class StreamController
|
|||
// at that stage, there should be only one buffered range, as we reach that code after first fragment has been buffered
|
||||
if (startPosition >= 0 && currentTime < startPosition) {
|
||||
if (media.seeking) {
|
||||
logger.log(
|
||||
this.log(
|
||||
`could not seek to ${startPosition}, already seeking at ${currentTime}`
|
||||
);
|
||||
return;
|
||||
|
@ -995,9 +993,7 @@ export default class StreamController
|
|||
(delta < this.config.maxBufferHole ||
|
||||
delta < this.config.maxFragLookUpTolerance)
|
||||
) {
|
||||
logger.log(
|
||||
`adjusting start position by ${delta} to match buffer start`
|
||||
);
|
||||
this.log(`adjusting start position by ${delta} to match buffer start`);
|
||||
startPosition += delta;
|
||||
this.startPosition = startPosition;
|
||||
}
|
||||
|
|
16
node_modules/hls.js/src/controller/subtitle-stream-controller.ts
generated
vendored
16
node_modules/hls.js/src/controller/subtitle-stream-controller.ts
generated
vendored
|
@ -371,7 +371,7 @@ export class SubtitleStreamController
|
|||
const fragLen = fragments.length;
|
||||
const end = trackDetails.edge;
|
||||
|
||||
let foundFrag;
|
||||
let foundFrag: Fragment | null;
|
||||
const fragPrevious = this.fragPrevious;
|
||||
if (targetBufferTime < end) {
|
||||
const { maxFragLookUpTolerance } = config;
|
||||
|
@ -392,10 +392,14 @@ export class SubtitleStreamController
|
|||
foundFrag = fragments[fragLen - 1];
|
||||
}
|
||||
|
||||
if (foundFrag?.encrypted) {
|
||||
foundFrag = this.mapToInitFragWhenRequired(foundFrag);
|
||||
if (!foundFrag) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (foundFrag.encrypted) {
|
||||
this.loadKey(foundFrag, trackDetails);
|
||||
} else if (
|
||||
foundFrag &&
|
||||
this.fragmentTracker.getState(foundFrag) === FragmentState.NOT_LOADED
|
||||
) {
|
||||
// only load if fragment is not loaded
|
||||
|
@ -410,7 +414,11 @@ export class SubtitleStreamController
|
|||
targetBufferTime: number
|
||||
) {
|
||||
this.fragCurrent = frag;
|
||||
super.loadFragment(frag, levelDetails, targetBufferTime);
|
||||
if (frag.sn === 'initSegment') {
|
||||
this._loadInitSegment(frag);
|
||||
} else {
|
||||
super.loadFragment(frag, levelDetails, targetBufferTime);
|
||||
}
|
||||
}
|
||||
|
||||
get mediaBufferTimeRanges(): TimeRange[] {
|
||||
|
|
29
node_modules/hls.js/src/controller/timeline-controller.ts
generated
vendored
29
node_modules/hls.js/src/controller/timeline-controller.ts
generated
vendored
|
@ -9,6 +9,7 @@ import {
|
|||
removeCuesInRange,
|
||||
} from '../utils/texttrack-utils';
|
||||
import { parseIMSC1, IMSC1_CODEC } from '../utils/imsc1-ttml-parser';
|
||||
import { appendUint8Array } from '../utils/mp4-tools';
|
||||
import { PlaylistLevelType } from '../types/loader';
|
||||
import { Fragment } from '../loader/fragment';
|
||||
import {
|
||||
|
@ -361,8 +362,10 @@ export class TimelineController implements ComponentAPI {
|
|||
if (textTrack) {
|
||||
clearCurrentCues(textTrack);
|
||||
} else {
|
||||
const textTrackKind =
|
||||
this._captionsOrSubtitlesFromCharacteristics(track);
|
||||
textTrack = this.createTextTrack(
|
||||
'subtitles',
|
||||
textTrackKind,
|
||||
track.name,
|
||||
track.lang
|
||||
);
|
||||
|
@ -392,6 +395,25 @@ export class TimelineController implements ComponentAPI {
|
|||
}
|
||||
}
|
||||
|
||||
private _captionsOrSubtitlesFromCharacteristics(
|
||||
track: MediaPlaylist
|
||||
): TextTrackKind {
|
||||
if (track.attrs?.CHARACTERISTICS) {
|
||||
const transcribesSpokenDialog = /transcribes-spoken-dialog/gi.test(
|
||||
track.attrs.CHARACTERISTICS
|
||||
);
|
||||
const describesMusicAndSound = /describes-music-and-sound/gi.test(
|
||||
track.attrs.CHARACTERISTICS
|
||||
);
|
||||
|
||||
if (transcribesSpokenDialog && describesMusicAndSound) {
|
||||
return 'captions';
|
||||
}
|
||||
}
|
||||
|
||||
return 'subtitles';
|
||||
}
|
||||
|
||||
private onManifestLoaded(
|
||||
event: Events.MANIFEST_LOADED,
|
||||
data: ManifestLoadedData
|
||||
|
@ -533,8 +555,11 @@ export class TimelineController implements ComponentAPI {
|
|||
private _parseVTTs(frag: Fragment, payload: ArrayBuffer, vttCCs: any) {
|
||||
const hls = this.hls;
|
||||
// Parse the WebVTT file contents.
|
||||
const payloadWebVTT = frag.initSegment?.data
|
||||
? appendUint8Array(frag.initSegment.data, new Uint8Array(payload))
|
||||
: payload;
|
||||
parseWebVTT(
|
||||
payload,
|
||||
payloadWebVTT,
|
||||
this.initPTS[frag.cc],
|
||||
this.timescale[frag.cc],
|
||||
vttCCs,
|
||||
|
|
2
node_modules/hls.js/src/demux/aacdemuxer.ts
generated
vendored
2
node_modules/hls.js/src/demux/aacdemuxer.ts
generated
vendored
|
@ -79,7 +79,7 @@ class AACDemuxer extends BaseAudioDemuxer {
|
|||
track,
|
||||
data,
|
||||
offset,
|
||||
this.initPTS as number,
|
||||
this.basePTS as number,
|
||||
this.frameIndex
|
||||
);
|
||||
if (frame && frame.missing === 0) {
|
||||
|
|
36
node_modules/hls.js/src/demux/base-audio-demuxer.ts
generated
vendored
36
node_modules/hls.js/src/demux/base-audio-demuxer.ts
generated
vendored
|
@ -19,6 +19,7 @@ class BaseAudioDemuxer implements Demuxer {
|
|||
protected _id3Track!: DemuxedMetadataTrack;
|
||||
protected frameIndex: number = 0;
|
||||
protected cachedData: Uint8Array | null = null;
|
||||
protected basePTS: number | null = null;
|
||||
protected initPTS: number | null = null;
|
||||
|
||||
resetInitSegment(
|
||||
|
@ -38,9 +39,15 @@ class BaseAudioDemuxer implements Demuxer {
|
|||
};
|
||||
}
|
||||
|
||||
resetTimeStamp() {}
|
||||
resetTimeStamp(deaultTimestamp) {
|
||||
this.initPTS = deaultTimestamp;
|
||||
this.resetContiguity();
|
||||
}
|
||||
|
||||
resetContiguity(): void {}
|
||||
resetContiguity(): void {
|
||||
this.basePTS = null;
|
||||
this.frameIndex = 0;
|
||||
}
|
||||
|
||||
canParse(data: Uint8Array, offset: number): boolean {
|
||||
return false;
|
||||
|
@ -68,21 +75,24 @@ class BaseAudioDemuxer implements Demuxer {
|
|||
const timestamp = id3Data ? ID3.getTimeStamp(id3Data) : undefined;
|
||||
const length = data.length;
|
||||
|
||||
if (this.frameIndex === 0 || this.initPTS === null) {
|
||||
this.initPTS = initPTSFn(timestamp, timeOffset);
|
||||
if (
|
||||
this.basePTS === null ||
|
||||
(this.frameIndex === 0 && Number.isFinite(timestamp))
|
||||
) {
|
||||
this.basePTS = initPTSFn(timestamp, timeOffset, this.initPTS);
|
||||
}
|
||||
|
||||
// more expressive than alternative: id3Data?.length
|
||||
if (id3Data && id3Data.length > 0) {
|
||||
id3Track.samples.push({
|
||||
pts: this.initPTS,
|
||||
dts: this.initPTS,
|
||||
pts: this.basePTS,
|
||||
dts: this.basePTS,
|
||||
data: id3Data,
|
||||
type: MetadataSchema.audioId3,
|
||||
});
|
||||
}
|
||||
|
||||
pts = this.initPTS;
|
||||
pts = this.basePTS;
|
||||
|
||||
while (offset < length) {
|
||||
if (this.canParse(data, offset)) {
|
||||
|
@ -145,8 +155,6 @@ class BaseAudioDemuxer implements Demuxer {
|
|||
this.demux(cachedData, 0);
|
||||
}
|
||||
|
||||
this.frameIndex = 0;
|
||||
|
||||
return {
|
||||
audioTrack: this._audioTrack,
|
||||
videoTrack: dummyTrack() as DemuxedVideoTrack,
|
||||
|
@ -166,10 +174,12 @@ class BaseAudioDemuxer implements Demuxer {
|
|||
*/
|
||||
export const initPTSFn = (
|
||||
timestamp: number | undefined,
|
||||
timeOffset: number
|
||||
timeOffset: number,
|
||||
initPTS: number | null
|
||||
): number => {
|
||||
return Number.isFinite(timestamp as number)
|
||||
? timestamp! * 90
|
||||
: timeOffset * 90000;
|
||||
if (Number.isFinite(timestamp as number)) {
|
||||
return timestamp! * 90;
|
||||
}
|
||||
return timeOffset * 90000 + (initPTS || 0);
|
||||
};
|
||||
export default BaseAudioDemuxer;
|
||||
|
|
4
node_modules/hls.js/src/demux/mp3demuxer.ts
generated
vendored
4
node_modules/hls.js/src/demux/mp3demuxer.ts
generated
vendored
|
@ -57,14 +57,14 @@ class MP3Demuxer extends BaseAudioDemuxer {
|
|||
}
|
||||
|
||||
appendFrame(track, data, offset) {
|
||||
if (this.initPTS === null) {
|
||||
if (this.basePTS === null) {
|
||||
return;
|
||||
}
|
||||
return MpegAudio.appendFrame(
|
||||
track,
|
||||
data,
|
||||
offset,
|
||||
this.initPTS,
|
||||
this.basePTS,
|
||||
this.frameIndex
|
||||
);
|
||||
}
|
||||
|
|
15
node_modules/hls.js/src/demux/transmuxer-interface.ts
generated
vendored
15
node_modules/hls.js/src/demux/transmuxer-interface.ts
generated
vendored
|
@ -166,8 +166,14 @@ export default class TransmuxerInterface {
|
|||
const trackSwitch = !(lastFrag && chunkMeta.level === lastFrag.level);
|
||||
const snDiff = lastFrag ? chunkMeta.sn - (lastFrag.sn as number) : -1;
|
||||
const partDiff = this.part ? chunkMeta.part - this.part.index : -1;
|
||||
const progressive =
|
||||
snDiff === 0 &&
|
||||
chunkMeta.id > 1 &&
|
||||
chunkMeta.id === lastFrag?.stats.chunkCount;
|
||||
const contiguous =
|
||||
!trackSwitch && (snDiff === 1 || (snDiff === 0 && partDiff === 1));
|
||||
!trackSwitch &&
|
||||
(snDiff === 1 ||
|
||||
(snDiff === 0 && (partDiff === 1 || (progressive && partDiff <= 0))));
|
||||
const now = self.performance.now();
|
||||
|
||||
if (trackSwitch || snDiff || frag.stats.parsing.start === 0) {
|
||||
|
@ -291,6 +297,13 @@ export default class TransmuxerInterface {
|
|||
break;
|
||||
}
|
||||
|
||||
// pass logs from the worker thread to the main logger
|
||||
case 'workerLog':
|
||||
if (logger[data.data.logType]) {
|
||||
logger[data.data.logType](data.data.message);
|
||||
}
|
||||
break;
|
||||
|
||||
/* falls through */
|
||||
default: {
|
||||
data.data = data.data || {};
|
||||
|
|
17
node_modules/hls.js/src/demux/transmuxer-worker.ts
generated
vendored
17
node_modules/hls.js/src/demux/transmuxer-worker.ts
generated
vendored
|
@ -1,6 +1,6 @@
|
|||
import Transmuxer, { isPromise } from '../demux/transmuxer';
|
||||
import { Events } from '../events';
|
||||
import { enableLogs } from '../utils/logger';
|
||||
import { ILogFunction, enableLogs, logger } from '../utils/logger';
|
||||
import { EventEmitter } from 'eventemitter3';
|
||||
import type { RemuxedTrack, RemuxerResult } from '../types/remuxer';
|
||||
import type { TransmuxerResult, ChunkMetadata } from '../types/transmuxer';
|
||||
|
@ -15,6 +15,20 @@ export default function TransmuxerWorker(self) {
|
|||
observer.on(Events.FRAG_DECRYPTED, forwardMessage);
|
||||
observer.on(Events.ERROR, forwardMessage);
|
||||
|
||||
// forward logger events to main thread
|
||||
const forwardWorkerLogs = () => {
|
||||
for (const logFn in logger) {
|
||||
const func: ILogFunction = (message?) => {
|
||||
forwardMessage('workerLog', {
|
||||
logType: logFn,
|
||||
message,
|
||||
});
|
||||
};
|
||||
|
||||
logger[logFn] = func;
|
||||
}
|
||||
};
|
||||
|
||||
self.addEventListener('message', (ev) => {
|
||||
const data = ev.data;
|
||||
switch (data.cmd) {
|
||||
|
@ -28,6 +42,7 @@ export default function TransmuxerWorker(self) {
|
|||
data.id
|
||||
);
|
||||
enableLogs(config.debug);
|
||||
forwardWorkerLogs();
|
||||
forwardMessage('init', null);
|
||||
break;
|
||||
}
|
||||
|
|
15
node_modules/hls.js/src/loader/playlist-loader.ts
generated
vendored
15
node_modules/hls.js/src/loader/playlist-loader.ts
generated
vendored
|
@ -12,7 +12,7 @@
|
|||
import { Events } from '../events';
|
||||
import { ErrorDetails, ErrorTypes } from '../errors';
|
||||
import { logger } from '../utils/logger';
|
||||
import { parseSegmentIndex } from '../utils/mp4-tools';
|
||||
import { parseSegmentIndex, findBox } from '../utils/mp4-tools';
|
||||
import M3U8Parser from './m3u8-parser';
|
||||
import type { LevelParsed } from '../types/level';
|
||||
import type {
|
||||
|
@ -543,10 +543,13 @@ class PlaylistLoader {
|
|||
response: LoaderResponse,
|
||||
context: PlaylistLoaderContext
|
||||
): void {
|
||||
const sidxInfo = parseSegmentIndex(
|
||||
new Uint8Array(response.data as ArrayBuffer)
|
||||
);
|
||||
const data = new Uint8Array(response.data as ArrayBuffer);
|
||||
const sidxBox = findBox(data, ['sidx'])[0];
|
||||
// if provided fragment does not contain sidx, early return
|
||||
if (!sidxBox) {
|
||||
return;
|
||||
}
|
||||
const sidxInfo = parseSegmentIndex(sidxBox);
|
||||
if (!sidxInfo) {
|
||||
return;
|
||||
}
|
||||
|
@ -564,7 +567,9 @@ class PlaylistLoader {
|
|||
);
|
||||
}
|
||||
if (frag.initSegment) {
|
||||
frag.initSegment.setByteRange(String(sidxInfo.moovEndOffset) + '@0');
|
||||
const moovBox = findBox(data, ['moov'])[0];
|
||||
const moovEndOffset = moovBox ? moovBox.length : null;
|
||||
frag.initSegment.setByteRange(String(moovEndOffset) + '@0');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
1
node_modules/hls.js/src/types/level.ts
generated
vendored
1
node_modules/hls.js/src/types/level.ts
generated
vendored
|
@ -24,6 +24,7 @@ export interface LevelAttributes extends AttrList {
|
|||
BANDWIDTH?: string;
|
||||
BYTERANGE?: string;
|
||||
'CLOSED-CAPTIONS'?: string;
|
||||
CHARACTERISTICS?: string;
|
||||
CODECS?: string;
|
||||
DEFAULT?: string;
|
||||
FORCED?: string;
|
||||
|
|
2
node_modules/hls.js/src/utils/logger.ts
generated
vendored
2
node_modules/hls.js/src/utils/logger.ts
generated
vendored
|
@ -1,4 +1,4 @@
|
|||
interface ILogFunction {
|
||||
export interface ILogFunction {
|
||||
(message?: any, ...optionalParams: any[]): void;
|
||||
}
|
||||
|
||||
|
|
33
node_modules/hls.js/src/utils/mp4-tools.ts
generated
vendored
33
node_modules/hls.js/src/utils/mp4-tools.ts
generated
vendored
|
@ -91,22 +91,10 @@ type SidxInfo = {
|
|||
version: number;
|
||||
referencesCount: number;
|
||||
references: any[];
|
||||
moovEndOffset: number | null;
|
||||
};
|
||||
|
||||
export function parseSegmentIndex(initSegment: Uint8Array): SidxInfo | null {
|
||||
const moovBox = findBox(initSegment, ['moov']);
|
||||
const moov = moovBox[0];
|
||||
const moovEndOffset = moov ? moov.length : null; // we need this in case we need to chop of garbage of the end of current data
|
||||
|
||||
const sidxBox = findBox(initSegment, ['sidx']);
|
||||
|
||||
if (!sidxBox || !sidxBox[0]) {
|
||||
return null;
|
||||
}
|
||||
|
||||
export function parseSegmentIndex(sidx: Uint8Array): SidxInfo | null {
|
||||
const references: any[] = [];
|
||||
const sidx = sidxBox[0];
|
||||
|
||||
const version = sidx[0];
|
||||
|
||||
|
@ -179,7 +167,6 @@ export function parseSegmentIndex(initSegment: Uint8Array): SidxInfo | null {
|
|||
version,
|
||||
referencesCount,
|
||||
references,
|
||||
moovEndOffset,
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -409,13 +396,19 @@ export function getDuration(data: Uint8Array, initData: InitData) {
|
|||
}
|
||||
if (videoDuration === 0 && audioDuration === 0) {
|
||||
// If duration samples are not available in the traf use sidx subsegment_duration
|
||||
const sidx = parseSegmentIndex(data);
|
||||
if (sidx?.references) {
|
||||
return sidx.references.reduce(
|
||||
(dur, ref) => dur + ref.info.duration || 0,
|
||||
0
|
||||
);
|
||||
let sidxDuration = 0;
|
||||
const sidxs = findBox(data, ['sidx']);
|
||||
for (let i = 0; i < sidxs.length; i++) {
|
||||
const sidx = parseSegmentIndex(sidxs[i]);
|
||||
if (sidx?.references) {
|
||||
sidxDuration += sidx.references.reduce(
|
||||
(dur, ref) => dur + ref.info.duration || 0,
|
||||
0
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return sidxDuration;
|
||||
}
|
||||
if (videoDuration) {
|
||||
return videoDuration;
|
||||
|
|
4
node_modules/jquery/AUTHORS.txt
generated
vendored
4
node_modules/jquery/AUTHORS.txt
generated
vendored
|
@ -329,3 +329,7 @@ Beatriz Rezener <beatrizrezener@users.noreply.github.com>
|
|||
Natalia Sroka <37873210+natipo@users.noreply.github.com>
|
||||
Wonhyoung Park <wh05.park@samsung.com>
|
||||
Dallas Fraser <dallas.fraser.waterloo@gmail.com>
|
||||
fecore1 <89127124+fecore1@users.noreply.github.com>
|
||||
ygj6 <7699524+ygj6@users.noreply.github.com>
|
||||
Simon Legner <Simon.Legner@gmail.com>
|
||||
Vladimir Sitnikov <sitnikov.vladimir@gmail.com>
|
||||
|
|
6
node_modules/jquery/README.md
generated
vendored
6
node_modules/jquery/README.md
generated
vendored
|
@ -5,7 +5,7 @@
|
|||
For information on how to get started and how to use jQuery, please see [jQuery's documentation](https://api.jquery.com/).
|
||||
For source files and issues, please visit the [jQuery repo](https://github.com/jquery/jquery).
|
||||
|
||||
If upgrading, please see the [blog post for 3.6.0](https://blog.jquery.com/2021/03/02/jquery-3-6-0-released/). This includes notable differences from the previous version and a more readable changelog.
|
||||
If upgrading, please see the [blog post for 3.6.1](https://blog.jquery.com/2022/08/26/jquery-3-6-1-maintenance-release/). This includes notable differences from the previous version and a more readable changelog.
|
||||
|
||||
## Including jQuery
|
||||
|
||||
|
@ -16,7 +16,7 @@ Below are some of the most common ways to include jQuery.
|
|||
#### Script tag
|
||||
|
||||
```html
|
||||
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||
<script src="https://code.jquery.com/jquery-3.6.1.min.js"></script>
|
||||
```
|
||||
|
||||
#### Babel
|
||||
|
@ -29,7 +29,7 @@ import $ from "jquery";
|
|||
|
||||
#### Browserify/Webpack
|
||||
|
||||
There are several ways to use [Browserify](http://browserify.org/) and [Webpack](https://webpack.github.io/). For more information on using these tools, please refer to the corresponding project's documentation. In the script, including jQuery will usually look like this...
|
||||
There are several ways to use [Browserify](http://browserify.org/) and [Webpack](https://webpack.js.org/). For more information on using these tools, please refer to the corresponding project's documentation. In the script, including jQuery will usually look like this...
|
||||
|
||||
```js
|
||||
var $ = require( "jquery" );
|
||||
|
|
214
node_modules/jquery/dist/jquery.js
generated
vendored
214
node_modules/jquery/dist/jquery.js
generated
vendored
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* jQuery JavaScript Library v3.6.0
|
||||
* jQuery JavaScript Library v3.6.1
|
||||
* https://jquery.com/
|
||||
*
|
||||
* Includes Sizzle.js
|
||||
|
@ -9,7 +9,7 @@
|
|||
* Released under the MIT license
|
||||
* https://jquery.org/license
|
||||
*
|
||||
* Date: 2021-03-02T17:08Z
|
||||
* Date: 2022-08-26T17:52Z
|
||||
*/
|
||||
( function( global, factory ) {
|
||||
|
||||
|
@ -23,7 +23,7 @@
|
|||
// (such as Node.js), expose a factory as module.exports.
|
||||
// This accentuates the need for the creation of a real `window`.
|
||||
// e.g. var jQuery = require("jquery")(window);
|
||||
// See ticket #14549 for more info.
|
||||
// See ticket trac-14549 for more info.
|
||||
module.exports = global.document ?
|
||||
factory( global, true ) :
|
||||
function( w ) {
|
||||
|
@ -151,7 +151,7 @@ function toType( obj ) {
|
|||
|
||||
|
||||
var
|
||||
version = "3.6.0",
|
||||
version = "3.6.1",
|
||||
|
||||
// Define a local copy of jQuery
|
||||
jQuery = function( selector, context ) {
|
||||
|
@ -3129,8 +3129,8 @@ jQuery.fn.extend( {
|
|||
var rootjQuery,
|
||||
|
||||
// A simple way to check for HTML strings
|
||||
// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
|
||||
// Strict HTML recognition (#11290: must start with <)
|
||||
// Prioritize #id over <tag> to avoid XSS via location.hash (trac-9521)
|
||||
// Strict HTML recognition (trac-11290: must start with <)
|
||||
// Shortcut simple #id case for speed
|
||||
rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
|
||||
|
||||
|
@ -4087,7 +4087,7 @@ jQuery.extend( {
|
|||
isReady: false,
|
||||
|
||||
// A counter to track how many items to wait for before
|
||||
// the ready event fires. See #6781
|
||||
// the ready event fires. See trac-6781
|
||||
readyWait: 1,
|
||||
|
||||
// Handle when the DOM is ready
|
||||
|
@ -4215,7 +4215,7 @@ function fcamelCase( _all, letter ) {
|
|||
|
||||
// Convert dashed to camelCase; used by the css and data modules
|
||||
// Support: IE <=9 - 11, Edge 12 - 15
|
||||
// Microsoft forgot to hump their vendor prefix (#9572)
|
||||
// Microsoft forgot to hump their vendor prefix (trac-9572)
|
||||
function camelCase( string ) {
|
||||
return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
|
||||
}
|
||||
|
@ -4251,7 +4251,7 @@ Data.prototype = {
|
|||
value = {};
|
||||
|
||||
// We can accept data for non-element nodes in modern browsers,
|
||||
// but we should not, see #8335.
|
||||
// but we should not, see trac-8335.
|
||||
// Always return an empty object.
|
||||
if ( acceptData( owner ) ) {
|
||||
|
||||
|
@ -4490,7 +4490,7 @@ jQuery.fn.extend( {
|
|||
while ( i-- ) {
|
||||
|
||||
// Support: IE 11 only
|
||||
// The attrs elements can be null (#14894)
|
||||
// The attrs elements can be null (trac-14894)
|
||||
if ( attrs[ i ] ) {
|
||||
name = attrs[ i ].name;
|
||||
if ( name.indexOf( "data-" ) === 0 ) {
|
||||
|
@ -4913,9 +4913,9 @@ var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
|
|||
input = document.createElement( "input" );
|
||||
|
||||
// Support: Android 4.0 - 4.3 only
|
||||
// Check state lost if the name is set (#11217)
|
||||
// Check state lost if the name is set (trac-11217)
|
||||
// Support: Windows Web Apps (WWA)
|
||||
// `name` and `type` must use .setAttribute for WWA (#14901)
|
||||
// `name` and `type` must use .setAttribute for WWA (trac-14901)
|
||||
input.setAttribute( "type", "radio" );
|
||||
input.setAttribute( "checked", "checked" );
|
||||
input.setAttribute( "name", "t" );
|
||||
|
@ -4939,7 +4939,7 @@ var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
|
|||
} )();
|
||||
|
||||
|
||||
// We have to close these tags to support XHTML (#13200)
|
||||
// We have to close these tags to support XHTML (trac-13200)
|
||||
var wrapMap = {
|
||||
|
||||
// XHTML parsers do not magically insert elements in the
|
||||
|
@ -4965,7 +4965,7 @@ if ( !support.option ) {
|
|||
function getAll( context, tag ) {
|
||||
|
||||
// Support: IE <=9 - 11 only
|
||||
// Use typeof to avoid zero-argument method invocation on host objects (#15151)
|
||||
// Use typeof to avoid zero-argument method invocation on host objects (trac-15151)
|
||||
var ret;
|
||||
|
||||
if ( typeof context.getElementsByTagName !== "undefined" ) {
|
||||
|
@ -5048,7 +5048,7 @@ function buildFragment( elems, context, scripts, selection, ignored ) {
|
|||
// Remember the top-level container
|
||||
tmp = fragment.firstChild;
|
||||
|
||||
// Ensure the created nodes are orphaned (#12392)
|
||||
// Ensure the created nodes are orphaned (trac-12392)
|
||||
tmp.textContent = "";
|
||||
}
|
||||
}
|
||||
|
@ -5469,15 +5469,15 @@ jQuery.event = {
|
|||
|
||||
for ( ; cur !== this; cur = cur.parentNode || this ) {
|
||||
|
||||
// Don't check non-elements (#13208)
|
||||
// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
|
||||
// Don't check non-elements (trac-13208)
|
||||
// Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764)
|
||||
if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
|
||||
matchedHandlers = [];
|
||||
matchedSelectors = {};
|
||||
for ( i = 0; i < delegateCount; i++ ) {
|
||||
handleObj = handlers[ i ];
|
||||
|
||||
// Don't conflict with Object.prototype properties (#13203)
|
||||
// Don't conflict with Object.prototype properties (trac-13203)
|
||||
sel = handleObj.selector + " ";
|
||||
|
||||
if ( matchedSelectors[ sel ] === undefined ) {
|
||||
|
@ -5731,7 +5731,7 @@ jQuery.Event = function( src, props ) {
|
|||
|
||||
// Create target properties
|
||||
// Support: Safari <=6 - 7 only
|
||||
// Target should not be a text node (#504, #13143)
|
||||
// Target should not be a text node (trac-504, trac-13143)
|
||||
this.target = ( src.target && src.target.nodeType === 3 ) ?
|
||||
src.target.parentNode :
|
||||
src.target;
|
||||
|
@ -5854,10 +5854,10 @@ jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateTyp
|
|||
return true;
|
||||
},
|
||||
|
||||
// Suppress native focus or blur as it's already being fired
|
||||
// in leverageNative.
|
||||
_default: function() {
|
||||
return true;
|
||||
// Suppress native focus or blur if we're currently inside
|
||||
// a leveraged native-event stack
|
||||
_default: function( event ) {
|
||||
return dataPriv.get( event.target, type );
|
||||
},
|
||||
|
||||
delegateType: delegateType
|
||||
|
@ -5956,7 +5956,8 @@ var
|
|||
|
||||
// checked="checked" or checked
|
||||
rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
|
||||
rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
|
||||
|
||||
rcleanScript = /^\s*<!\[CDATA\[|\]\]>\s*$/g;
|
||||
|
||||
// Prefer a tbody over its parent table for containing new rows
|
||||
function manipulationTarget( elem, content ) {
|
||||
|
@ -6070,7 +6071,7 @@ function domManip( collection, args, callback, ignored ) {
|
|||
|
||||
// Use the original fragment for the last item
|
||||
// instead of the first because it can end up
|
||||
// being emptied incorrectly in certain situations (#8070).
|
||||
// being emptied incorrectly in certain situations (trac-8070).
|
||||
for ( ; i < l; i++ ) {
|
||||
node = fragment;
|
||||
|
||||
|
@ -6111,6 +6112,12 @@ function domManip( collection, args, callback, ignored ) {
|
|||
}, doc );
|
||||
}
|
||||
} else {
|
||||
|
||||
// Unwrap a CDATA section containing script contents. This shouldn't be
|
||||
// needed as in XML documents they're already not visible when
|
||||
// inspecting element contents and in HTML documents they have no
|
||||
// meaning but we're preserving that logic for backwards compatibility.
|
||||
// This will be removed completely in 4.0. See gh-4904.
|
||||
DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc );
|
||||
}
|
||||
}
|
||||
|
@ -6393,9 +6400,12 @@ jQuery.each( {
|
|||
} );
|
||||
var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
|
||||
|
||||
var rcustomProp = /^--/;
|
||||
|
||||
|
||||
var getStyles = function( elem ) {
|
||||
|
||||
// Support: IE <=11 only, Firefox <=30 (#15098, #14150)
|
||||
// Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150)
|
||||
// IE throws on elements created in popups
|
||||
// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
|
||||
var view = elem.ownerDocument.defaultView;
|
||||
|
@ -6430,6 +6440,15 @@ var swap = function( elem, options, callback ) {
|
|||
|
||||
var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
|
||||
|
||||
var whitespace = "[\\x20\\t\\r\\n\\f]";
|
||||
|
||||
|
||||
var rtrimCSS = new RegExp(
|
||||
"^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$",
|
||||
"g"
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
( function() {
|
||||
|
@ -6495,7 +6514,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
|
|||
}
|
||||
|
||||
// Support: IE <=9 - 11 only
|
||||
// Style of cloned element affects source element cloned (#8908)
|
||||
// Style of cloned element affects source element cloned (trac-8908)
|
||||
div.style.backgroundClip = "content-box";
|
||||
div.cloneNode( true ).style.backgroundClip = "";
|
||||
support.clearCloneStyle = div.style.backgroundClip === "content-box";
|
||||
|
@ -6575,6 +6594,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
|
|||
|
||||
function curCSS( elem, name, computed ) {
|
||||
var width, minWidth, maxWidth, ret,
|
||||
isCustomProp = rcustomProp.test( name ),
|
||||
|
||||
// Support: Firefox 51+
|
||||
// Retrieving style before computed somehow
|
||||
|
@ -6585,11 +6605,22 @@ function curCSS( elem, name, computed ) {
|
|||
computed = computed || getStyles( elem );
|
||||
|
||||
// getPropertyValue is needed for:
|
||||
// .css('filter') (IE 9 only, #12537)
|
||||
// .css('--customProperty) (#3144)
|
||||
// .css('filter') (IE 9 only, trac-12537)
|
||||
// .css('--customProperty) (gh-3144)
|
||||
if ( computed ) {
|
||||
ret = computed.getPropertyValue( name ) || computed[ name ];
|
||||
|
||||
// trim whitespace for custom property (issue gh-4926)
|
||||
if ( isCustomProp ) {
|
||||
|
||||
// rtrim treats U+000D CARRIAGE RETURN and U+000C FORM FEED
|
||||
// as whitespace while CSS does not, but this is not a problem
|
||||
// because CSS preprocessing replaces them with U+000A LINE FEED
|
||||
// (which *is* CSS whitespace)
|
||||
// https://www.w3.org/TR/css-syntax-3/#input-preprocessing
|
||||
ret = ret.replace( rtrimCSS, "$1" );
|
||||
}
|
||||
|
||||
if ( ret === "" && !isAttached( elem ) ) {
|
||||
ret = jQuery.style( elem, name );
|
||||
}
|
||||
|
@ -6685,7 +6716,6 @@ var
|
|||
// except "table", "table-cell", or "table-caption"
|
||||
// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
|
||||
rdisplayswap = /^(none|table(?!-c[ea]).+)/,
|
||||
rcustomProp = /^--/,
|
||||
cssShow = { position: "absolute", visibility: "hidden", display: "block" },
|
||||
cssNormalTransform = {
|
||||
letterSpacing: "0",
|
||||
|
@ -6921,15 +6951,15 @@ jQuery.extend( {
|
|||
if ( value !== undefined ) {
|
||||
type = typeof value;
|
||||
|
||||
// Convert "+=" or "-=" to relative numbers (#7345)
|
||||
// Convert "+=" or "-=" to relative numbers (trac-7345)
|
||||
if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
|
||||
value = adjustCSS( elem, name, ret );
|
||||
|
||||
// Fixes bug #9237
|
||||
// Fixes bug trac-9237
|
||||
type = "number";
|
||||
}
|
||||
|
||||
// Make sure that null and NaN values aren't set (#7116)
|
||||
// Make sure that null and NaN values aren't set (trac-7116)
|
||||
if ( value == null || value !== value ) {
|
||||
return;
|
||||
}
|
||||
|
@ -7553,7 +7583,7 @@ function Animation( elem, properties, options ) {
|
|||
remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
|
||||
|
||||
// Support: Android 2.3 only
|
||||
// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
|
||||
// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (trac-12497)
|
||||
temp = remaining / animation.duration || 0,
|
||||
percent = 1 - temp,
|
||||
index = 0,
|
||||
|
@ -7943,7 +7973,6 @@ jQuery.fx.speeds = {
|
|||
|
||||
|
||||
// Based off of the plugin by Clint Helfers, with permission.
|
||||
// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
|
||||
jQuery.fn.delay = function( time, type ) {
|
||||
time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
|
||||
type = type || "fx";
|
||||
|
@ -8168,8 +8197,7 @@ jQuery.extend( {
|
|||
// Support: IE <=9 - 11 only
|
||||
// elem.tabIndex doesn't always return the
|
||||
// correct value when it hasn't been explicitly set
|
||||
// https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
|
||||
// Use proper attribute retrieval(#12072)
|
||||
// Use proper attribute retrieval (trac-12072)
|
||||
var tabindex = jQuery.find.attr( elem, "tabindex" );
|
||||
|
||||
if ( tabindex ) {
|
||||
|
@ -8273,8 +8301,7 @@ function classesToArray( value ) {
|
|||
|
||||
jQuery.fn.extend( {
|
||||
addClass: function( value ) {
|
||||
var classes, elem, cur, curValue, clazz, j, finalValue,
|
||||
i = 0;
|
||||
var classNames, cur, curValue, className, i, finalValue;
|
||||
|
||||
if ( isFunction( value ) ) {
|
||||
return this.each( function( j ) {
|
||||
|
@ -8282,36 +8309,35 @@ jQuery.fn.extend( {
|
|||
} );
|
||||
}
|
||||
|
||||
classes = classesToArray( value );
|
||||
classNames = classesToArray( value );
|
||||
|
||||
if ( classes.length ) {
|
||||
while ( ( elem = this[ i++ ] ) ) {
|
||||
curValue = getClass( elem );
|
||||
cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
|
||||
if ( classNames.length ) {
|
||||
return this.each( function() {
|
||||
curValue = getClass( this );
|
||||
cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
|
||||
|
||||
if ( cur ) {
|
||||
j = 0;
|
||||
while ( ( clazz = classes[ j++ ] ) ) {
|
||||
if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
|
||||
cur += clazz + " ";
|
||||
for ( i = 0; i < classNames.length; i++ ) {
|
||||
className = classNames[ i ];
|
||||
if ( cur.indexOf( " " + className + " " ) < 0 ) {
|
||||
cur += className + " ";
|
||||
}
|
||||
}
|
||||
|
||||
// Only assign if different to avoid unneeded rendering.
|
||||
finalValue = stripAndCollapse( cur );
|
||||
if ( curValue !== finalValue ) {
|
||||
elem.setAttribute( "class", finalValue );
|
||||
this.setAttribute( "class", finalValue );
|
||||
}
|
||||
}
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
removeClass: function( value ) {
|
||||
var classes, elem, cur, curValue, clazz, j, finalValue,
|
||||
i = 0;
|
||||
var classNames, cur, curValue, className, i, finalValue;
|
||||
|
||||
if ( isFunction( value ) ) {
|
||||
return this.each( function( j ) {
|
||||
|
@ -8323,45 +8349,42 @@ jQuery.fn.extend( {
|
|||
return this.attr( "class", "" );
|
||||
}
|
||||
|
||||
classes = classesToArray( value );
|
||||
classNames = classesToArray( value );
|
||||
|
||||
if ( classes.length ) {
|
||||
while ( ( elem = this[ i++ ] ) ) {
|
||||
curValue = getClass( elem );
|
||||
if ( classNames.length ) {
|
||||
return this.each( function() {
|
||||
curValue = getClass( this );
|
||||
|
||||
// This expression is here for better compressibility (see addClass)
|
||||
cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
|
||||
cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
|
||||
|
||||
if ( cur ) {
|
||||
j = 0;
|
||||
while ( ( clazz = classes[ j++ ] ) ) {
|
||||
for ( i = 0; i < classNames.length; i++ ) {
|
||||
className = classNames[ i ];
|
||||
|
||||
// Remove *all* instances
|
||||
while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
|
||||
cur = cur.replace( " " + clazz + " ", " " );
|
||||
while ( cur.indexOf( " " + className + " " ) > -1 ) {
|
||||
cur = cur.replace( " " + className + " ", " " );
|
||||
}
|
||||
}
|
||||
|
||||
// Only assign if different to avoid unneeded rendering.
|
||||
finalValue = stripAndCollapse( cur );
|
||||
if ( curValue !== finalValue ) {
|
||||
elem.setAttribute( "class", finalValue );
|
||||
this.setAttribute( "class", finalValue );
|
||||
}
|
||||
}
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
toggleClass: function( value, stateVal ) {
|
||||
var type = typeof value,
|
||||
var classNames, className, i, self,
|
||||
type = typeof value,
|
||||
isValidValue = type === "string" || Array.isArray( value );
|
||||
|
||||
if ( typeof stateVal === "boolean" && isValidValue ) {
|
||||
return stateVal ? this.addClass( value ) : this.removeClass( value );
|
||||
}
|
||||
|
||||
if ( isFunction( value ) ) {
|
||||
return this.each( function( i ) {
|
||||
jQuery( this ).toggleClass(
|
||||
|
@ -8371,17 +8394,20 @@ jQuery.fn.extend( {
|
|||
} );
|
||||
}
|
||||
|
||||
return this.each( function() {
|
||||
var className, i, self, classNames;
|
||||
if ( typeof stateVal === "boolean" && isValidValue ) {
|
||||
return stateVal ? this.addClass( value ) : this.removeClass( value );
|
||||
}
|
||||
|
||||
classNames = classesToArray( value );
|
||||
|
||||
return this.each( function() {
|
||||
if ( isValidValue ) {
|
||||
|
||||
// Toggle individual class names
|
||||
i = 0;
|
||||
self = jQuery( this );
|
||||
classNames = classesToArray( value );
|
||||
|
||||
while ( ( className = classNames[ i++ ] ) ) {
|
||||
for ( i = 0; i < classNames.length; i++ ) {
|
||||
className = classNames[ i ];
|
||||
|
||||
// Check each className given, space separated list
|
||||
if ( self.hasClass( className ) ) {
|
||||
|
@ -8515,7 +8541,7 @@ jQuery.extend( {
|
|||
val :
|
||||
|
||||
// Support: IE <=10 - 11 only
|
||||
// option.text throws exceptions (#14686, #14858)
|
||||
// option.text throws exceptions (trac-14686, trac-14858)
|
||||
// Strip and collapse whitespace
|
||||
// https://html.spec.whatwg.org/#strip-and-collapse-whitespace
|
||||
stripAndCollapse( jQuery.text( elem ) );
|
||||
|
@ -8542,7 +8568,7 @@ jQuery.extend( {
|
|||
option = options[ i ];
|
||||
|
||||
// Support: IE <=9 only
|
||||
// IE8-9 doesn't update selected after form reset (#2551)
|
||||
// IE8-9 doesn't update selected after form reset (trac-2551)
|
||||
if ( ( option.selected || i === index ) &&
|
||||
|
||||
// Don't return options that are disabled or in a disabled optgroup
|
||||
|
@ -8685,8 +8711,8 @@ jQuery.extend( jQuery.event, {
|
|||
return;
|
||||
}
|
||||
|
||||
// Determine event propagation path in advance, per W3C events spec (#9951)
|
||||
// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
|
||||
// Determine event propagation path in advance, per W3C events spec (trac-9951)
|
||||
// Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724)
|
||||
if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {
|
||||
|
||||
bubbleType = special.delegateType || type;
|
||||
|
@ -8738,7 +8764,7 @@ jQuery.extend( jQuery.event, {
|
|||
acceptData( elem ) ) {
|
||||
|
||||
// Call a native DOM method on the target with the same name as the event.
|
||||
// Don't do default actions on window, that's where global variables be (#6170)
|
||||
// Don't do default actions on window, that's where global variables be (trac-6170)
|
||||
if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {
|
||||
|
||||
// Don't re-trigger an onFOO event when we call its FOO() method
|
||||
|
@ -9012,7 +9038,7 @@ var
|
|||
rantiCache = /([?&])_=[^&]*/,
|
||||
rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
|
||||
|
||||
// #7653, #8125, #8152: local protocol detection
|
||||
// trac-7653, trac-8125, trac-8152: local protocol detection
|
||||
rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
|
||||
rnoContent = /^(?:GET|HEAD)$/,
|
||||
rprotocol = /^\/\//,
|
||||
|
@ -9035,7 +9061,7 @@ var
|
|||
*/
|
||||
transports = {},
|
||||
|
||||
// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
|
||||
// Avoid comment-prolog char sequence (trac-10098); must appease lint and evade compression
|
||||
allTypes = "*/".concat( "*" ),
|
||||
|
||||
// Anchor tag for parsing the document origin
|
||||
|
@ -9106,7 +9132,7 @@ function inspectPrefiltersOrTransports( structure, options, originalOptions, jqX
|
|||
|
||||
// A special extend for ajax options
|
||||
// that takes "flat" options (not to be deep extended)
|
||||
// Fixes #9887
|
||||
// Fixes trac-9887
|
||||
function ajaxExtend( target, src ) {
|
||||
var key, deep,
|
||||
flatOptions = jQuery.ajaxSettings.flatOptions || {};
|
||||
|
@ -9517,12 +9543,12 @@ jQuery.extend( {
|
|||
deferred.promise( jqXHR );
|
||||
|
||||
// Add protocol if not provided (prefilters might expect it)
|
||||
// Handle falsy url in the settings object (#10093: consistency with old signature)
|
||||
// Handle falsy url in the settings object (trac-10093: consistency with old signature)
|
||||
// We also use the url parameter if available
|
||||
s.url = ( ( url || s.url || location.href ) + "" )
|
||||
.replace( rprotocol, location.protocol + "//" );
|
||||
|
||||
// Alias method option to type as per ticket #12004
|
||||
// Alias method option to type as per ticket trac-12004
|
||||
s.type = options.method || options.type || s.method || s.type;
|
||||
|
||||
// Extract dataTypes list
|
||||
|
@ -9565,7 +9591,7 @@ jQuery.extend( {
|
|||
}
|
||||
|
||||
// We can fire global events as of now if asked to
|
||||
// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)
|
||||
// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118)
|
||||
fireGlobals = jQuery.event && s.global;
|
||||
|
||||
// Watch for a new set of requests
|
||||
|
@ -9594,7 +9620,7 @@ jQuery.extend( {
|
|||
if ( s.data && ( s.processData || typeof s.data === "string" ) ) {
|
||||
cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
|
||||
|
||||
// #9682: remove data so that it's not used in an eventual retry
|
||||
// trac-9682: remove data so that it's not used in an eventual retry
|
||||
delete s.data;
|
||||
}
|
||||
|
||||
|
@ -9867,7 +9893,7 @@ jQuery._evalUrl = function( url, options, doc ) {
|
|||
return jQuery.ajax( {
|
||||
url: url,
|
||||
|
||||
// Make this explicit, since user can override this through ajaxSetup (#11264)
|
||||
// Make this explicit, since user can override this through ajaxSetup (trac-11264)
|
||||
type: "GET",
|
||||
dataType: "script",
|
||||
cache: true,
|
||||
|
@ -9976,7 +10002,7 @@ var xhrSuccessStatus = {
|
|||
0: 200,
|
||||
|
||||
// Support: IE <=9 only
|
||||
// #1450: sometimes IE returns 1223 when it should be 204
|
||||
// trac-1450: sometimes IE returns 1223 when it should be 204
|
||||
1223: 204
|
||||
},
|
||||
xhrSupported = jQuery.ajaxSettings.xhr();
|
||||
|
@ -10048,7 +10074,7 @@ jQuery.ajaxTransport( function( options ) {
|
|||
} else {
|
||||
complete(
|
||||
|
||||
// File: protocol always yields status 0; see #8605, #14207
|
||||
// File: protocol always yields status 0; see trac-8605, trac-14207
|
||||
xhr.status,
|
||||
xhr.statusText
|
||||
);
|
||||
|
@ -10109,7 +10135,7 @@ jQuery.ajaxTransport( function( options ) {
|
|||
xhr.send( options.hasContent && options.data || null );
|
||||
} catch ( e ) {
|
||||
|
||||
// #14683: Only rethrow if this hasn't been notified as an error yet
|
||||
// trac-14683: Only rethrow if this hasn't been notified as an error yet
|
||||
if ( callback ) {
|
||||
throw e;
|
||||
}
|
||||
|
@ -10753,7 +10779,9 @@ jQuery.each(
|
|||
|
||||
// Support: Android <=4.0 only
|
||||
// Make sure we trim BOM and NBSP
|
||||
var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
|
||||
// Require that the "whitespace run" starts from a non-whitespace
|
||||
// to avoid O(N^2) behavior when the engine would try matching "\s+$" at each space position.
|
||||
var rtrim = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;
|
||||
|
||||
// Bind a function to a context, optionally partially applying any
|
||||
// arguments.
|
||||
|
@ -10820,7 +10848,7 @@ jQuery.isNumeric = function( obj ) {
|
|||
jQuery.trim = function( text ) {
|
||||
return text == null ?
|
||||
"" :
|
||||
( text + "" ).replace( rtrim, "" );
|
||||
( text + "" ).replace( rtrim, "$1" );
|
||||
};
|
||||
|
||||
|
||||
|
@ -10868,8 +10896,8 @@ jQuery.noConflict = function( deep ) {
|
|||
};
|
||||
|
||||
// Expose jQuery and $ identifiers, even in AMD
|
||||
// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
|
||||
// and CommonJS for browser emulators (#13566)
|
||||
// (trac-7102#comment:10, https://github.com/jquery/jquery/pull/557)
|
||||
// and CommonJS for browser emulators (trac-13566)
|
||||
if ( typeof noGlobal === "undefined" ) {
|
||||
window.jQuery = window.$ = jQuery;
|
||||
}
|
||||
|
|
4
node_modules/jquery/dist/jquery.min.js
generated
vendored
4
node_modules/jquery/dist/jquery.min.js
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/jquery/dist/jquery.min.map
generated
vendored
2
node_modules/jquery/dist/jquery.min.map
generated
vendored
File diff suppressed because one or more lines are too long
190
node_modules/jquery/dist/jquery.slim.js
generated
vendored
190
node_modules/jquery/dist/jquery.slim.js
generated
vendored
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* jQuery JavaScript Library v3.6.0 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector
|
||||
* jQuery JavaScript Library v3.6.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector
|
||||
* https://jquery.com/
|
||||
*
|
||||
* Includes Sizzle.js
|
||||
|
@ -9,7 +9,7 @@
|
|||
* Released under the MIT license
|
||||
* https://jquery.org/license
|
||||
*
|
||||
* Date: 2021-03-02T17:08Z
|
||||
* Date: 2022-08-26T17:52Z
|
||||
*/
|
||||
( function( global, factory ) {
|
||||
|
||||
|
@ -23,7 +23,7 @@
|
|||
// (such as Node.js), expose a factory as module.exports.
|
||||
// This accentuates the need for the creation of a real `window`.
|
||||
// e.g. var jQuery = require("jquery")(window);
|
||||
// See ticket #14549 for more info.
|
||||
// See ticket trac-14549 for more info.
|
||||
module.exports = global.document ?
|
||||
factory( global, true ) :
|
||||
function( w ) {
|
||||
|
@ -151,7 +151,7 @@ function toType( obj ) {
|
|||
|
||||
|
||||
var
|
||||
version = "3.6.0 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector",
|
||||
version = "3.6.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector",
|
||||
|
||||
// Define a local copy of jQuery
|
||||
jQuery = function( selector, context ) {
|
||||
|
@ -3129,8 +3129,8 @@ jQuery.fn.extend( {
|
|||
var rootjQuery,
|
||||
|
||||
// A simple way to check for HTML strings
|
||||
// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
|
||||
// Strict HTML recognition (#11290: must start with <)
|
||||
// Prioritize #id over <tag> to avoid XSS via location.hash (trac-9521)
|
||||
// Strict HTML recognition (trac-11290: must start with <)
|
||||
// Shortcut simple #id case for speed
|
||||
rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
|
||||
|
||||
|
@ -4087,7 +4087,7 @@ jQuery.extend( {
|
|||
isReady: false,
|
||||
|
||||
// A counter to track how many items to wait for before
|
||||
// the ready event fires. See #6781
|
||||
// the ready event fires. See trac-6781
|
||||
readyWait: 1,
|
||||
|
||||
// Handle when the DOM is ready
|
||||
|
@ -4215,7 +4215,7 @@ function fcamelCase( _all, letter ) {
|
|||
|
||||
// Convert dashed to camelCase; used by the css and data modules
|
||||
// Support: IE <=9 - 11, Edge 12 - 15
|
||||
// Microsoft forgot to hump their vendor prefix (#9572)
|
||||
// Microsoft forgot to hump their vendor prefix (trac-9572)
|
||||
function camelCase( string ) {
|
||||
return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
|
||||
}
|
||||
|
@ -4251,7 +4251,7 @@ Data.prototype = {
|
|||
value = {};
|
||||
|
||||
// We can accept data for non-element nodes in modern browsers,
|
||||
// but we should not, see #8335.
|
||||
// but we should not, see trac-8335.
|
||||
// Always return an empty object.
|
||||
if ( acceptData( owner ) ) {
|
||||
|
||||
|
@ -4490,7 +4490,7 @@ jQuery.fn.extend( {
|
|||
while ( i-- ) {
|
||||
|
||||
// Support: IE 11 only
|
||||
// The attrs elements can be null (#14894)
|
||||
// The attrs elements can be null (trac-14894)
|
||||
if ( attrs[ i ] ) {
|
||||
name = attrs[ i ].name;
|
||||
if ( name.indexOf( "data-" ) === 0 ) {
|
||||
|
@ -4913,9 +4913,9 @@ var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
|
|||
input = document.createElement( "input" );
|
||||
|
||||
// Support: Android 4.0 - 4.3 only
|
||||
// Check state lost if the name is set (#11217)
|
||||
// Check state lost if the name is set (trac-11217)
|
||||
// Support: Windows Web Apps (WWA)
|
||||
// `name` and `type` must use .setAttribute for WWA (#14901)
|
||||
// `name` and `type` must use .setAttribute for WWA (trac-14901)
|
||||
input.setAttribute( "type", "radio" );
|
||||
input.setAttribute( "checked", "checked" );
|
||||
input.setAttribute( "name", "t" );
|
||||
|
@ -4939,7 +4939,7 @@ var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
|
|||
} )();
|
||||
|
||||
|
||||
// We have to close these tags to support XHTML (#13200)
|
||||
// We have to close these tags to support XHTML (trac-13200)
|
||||
var wrapMap = {
|
||||
|
||||
// XHTML parsers do not magically insert elements in the
|
||||
|
@ -4965,7 +4965,7 @@ if ( !support.option ) {
|
|||
function getAll( context, tag ) {
|
||||
|
||||
// Support: IE <=9 - 11 only
|
||||
// Use typeof to avoid zero-argument method invocation on host objects (#15151)
|
||||
// Use typeof to avoid zero-argument method invocation on host objects (trac-15151)
|
||||
var ret;
|
||||
|
||||
if ( typeof context.getElementsByTagName !== "undefined" ) {
|
||||
|
@ -5048,7 +5048,7 @@ function buildFragment( elems, context, scripts, selection, ignored ) {
|
|||
// Remember the top-level container
|
||||
tmp = fragment.firstChild;
|
||||
|
||||
// Ensure the created nodes are orphaned (#12392)
|
||||
// Ensure the created nodes are orphaned (trac-12392)
|
||||
tmp.textContent = "";
|
||||
}
|
||||
}
|
||||
|
@ -5469,15 +5469,15 @@ jQuery.event = {
|
|||
|
||||
for ( ; cur !== this; cur = cur.parentNode || this ) {
|
||||
|
||||
// Don't check non-elements (#13208)
|
||||
// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
|
||||
// Don't check non-elements (trac-13208)
|
||||
// Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764)
|
||||
if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
|
||||
matchedHandlers = [];
|
||||
matchedSelectors = {};
|
||||
for ( i = 0; i < delegateCount; i++ ) {
|
||||
handleObj = handlers[ i ];
|
||||
|
||||
// Don't conflict with Object.prototype properties (#13203)
|
||||
// Don't conflict with Object.prototype properties (trac-13203)
|
||||
sel = handleObj.selector + " ";
|
||||
|
||||
if ( matchedSelectors[ sel ] === undefined ) {
|
||||
|
@ -5731,7 +5731,7 @@ jQuery.Event = function( src, props ) {
|
|||
|
||||
// Create target properties
|
||||
// Support: Safari <=6 - 7 only
|
||||
// Target should not be a text node (#504, #13143)
|
||||
// Target should not be a text node (trac-504, trac-13143)
|
||||
this.target = ( src.target && src.target.nodeType === 3 ) ?
|
||||
src.target.parentNode :
|
||||
src.target;
|
||||
|
@ -5854,10 +5854,10 @@ jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateTyp
|
|||
return true;
|
||||
},
|
||||
|
||||
// Suppress native focus or blur as it's already being fired
|
||||
// in leverageNative.
|
||||
_default: function() {
|
||||
return true;
|
||||
// Suppress native focus or blur if we're currently inside
|
||||
// a leveraged native-event stack
|
||||
_default: function( event ) {
|
||||
return dataPriv.get( event.target, type );
|
||||
},
|
||||
|
||||
delegateType: delegateType
|
||||
|
@ -5956,7 +5956,8 @@ var
|
|||
|
||||
// checked="checked" or checked
|
||||
rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
|
||||
rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
|
||||
|
||||
rcleanScript = /^\s*<!\[CDATA\[|\]\]>\s*$/g;
|
||||
|
||||
// Prefer a tbody over its parent table for containing new rows
|
||||
function manipulationTarget( elem, content ) {
|
||||
|
@ -6070,7 +6071,7 @@ function domManip( collection, args, callback, ignored ) {
|
|||
|
||||
// Use the original fragment for the last item
|
||||
// instead of the first because it can end up
|
||||
// being emptied incorrectly in certain situations (#8070).
|
||||
// being emptied incorrectly in certain situations (trac-8070).
|
||||
for ( ; i < l; i++ ) {
|
||||
node = fragment;
|
||||
|
||||
|
@ -6111,6 +6112,12 @@ function domManip( collection, args, callback, ignored ) {
|
|||
}, doc );
|
||||
}
|
||||
} else {
|
||||
|
||||
// Unwrap a CDATA section containing script contents. This shouldn't be
|
||||
// needed as in XML documents they're already not visible when
|
||||
// inspecting element contents and in HTML documents they have no
|
||||
// meaning but we're preserving that logic for backwards compatibility.
|
||||
// This will be removed completely in 4.0. See gh-4904.
|
||||
DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc );
|
||||
}
|
||||
}
|
||||
|
@ -6393,9 +6400,12 @@ jQuery.each( {
|
|||
} );
|
||||
var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
|
||||
|
||||
var rcustomProp = /^--/;
|
||||
|
||||
|
||||
var getStyles = function( elem ) {
|
||||
|
||||
// Support: IE <=11 only, Firefox <=30 (#15098, #14150)
|
||||
// Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150)
|
||||
// IE throws on elements created in popups
|
||||
// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
|
||||
var view = elem.ownerDocument.defaultView;
|
||||
|
@ -6430,6 +6440,15 @@ var swap = function( elem, options, callback ) {
|
|||
|
||||
var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
|
||||
|
||||
var whitespace = "[\\x20\\t\\r\\n\\f]";
|
||||
|
||||
|
||||
var rtrimCSS = new RegExp(
|
||||
"^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$",
|
||||
"g"
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
( function() {
|
||||
|
@ -6495,7 +6514,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
|
|||
}
|
||||
|
||||
// Support: IE <=9 - 11 only
|
||||
// Style of cloned element affects source element cloned (#8908)
|
||||
// Style of cloned element affects source element cloned (trac-8908)
|
||||
div.style.backgroundClip = "content-box";
|
||||
div.cloneNode( true ).style.backgroundClip = "";
|
||||
support.clearCloneStyle = div.style.backgroundClip === "content-box";
|
||||
|
@ -6575,6 +6594,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
|
|||
|
||||
function curCSS( elem, name, computed ) {
|
||||
var width, minWidth, maxWidth, ret,
|
||||
isCustomProp = rcustomProp.test( name ),
|
||||
|
||||
// Support: Firefox 51+
|
||||
// Retrieving style before computed somehow
|
||||
|
@ -6585,11 +6605,22 @@ function curCSS( elem, name, computed ) {
|
|||
computed = computed || getStyles( elem );
|
||||
|
||||
// getPropertyValue is needed for:
|
||||
// .css('filter') (IE 9 only, #12537)
|
||||
// .css('--customProperty) (#3144)
|
||||
// .css('filter') (IE 9 only, trac-12537)
|
||||
// .css('--customProperty) (gh-3144)
|
||||
if ( computed ) {
|
||||
ret = computed.getPropertyValue( name ) || computed[ name ];
|
||||
|
||||
// trim whitespace for custom property (issue gh-4926)
|
||||
if ( isCustomProp ) {
|
||||
|
||||
// rtrim treats U+000D CARRIAGE RETURN and U+000C FORM FEED
|
||||
// as whitespace while CSS does not, but this is not a problem
|
||||
// because CSS preprocessing replaces them with U+000A LINE FEED
|
||||
// (which *is* CSS whitespace)
|
||||
// https://www.w3.org/TR/css-syntax-3/#input-preprocessing
|
||||
ret = ret.replace( rtrimCSS, "$1" );
|
||||
}
|
||||
|
||||
if ( ret === "" && !isAttached( elem ) ) {
|
||||
ret = jQuery.style( elem, name );
|
||||
}
|
||||
|
@ -6685,7 +6716,6 @@ var
|
|||
// except "table", "table-cell", or "table-caption"
|
||||
// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
|
||||
rdisplayswap = /^(none|table(?!-c[ea]).+)/,
|
||||
rcustomProp = /^--/,
|
||||
cssShow = { position: "absolute", visibility: "hidden", display: "block" },
|
||||
cssNormalTransform = {
|
||||
letterSpacing: "0",
|
||||
|
@ -6921,15 +6951,15 @@ jQuery.extend( {
|
|||
if ( value !== undefined ) {
|
||||
type = typeof value;
|
||||
|
||||
// Convert "+=" or "-=" to relative numbers (#7345)
|
||||
// Convert "+=" or "-=" to relative numbers (trac-7345)
|
||||
if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
|
||||
value = adjustCSS( elem, name, ret );
|
||||
|
||||
// Fixes bug #9237
|
||||
// Fixes bug trac-9237
|
||||
type = "number";
|
||||
}
|
||||
|
||||
// Make sure that null and NaN values aren't set (#7116)
|
||||
// Make sure that null and NaN values aren't set (trac-7116)
|
||||
if ( value == null || value !== value ) {
|
||||
return;
|
||||
}
|
||||
|
@ -7149,7 +7179,6 @@ jQuery.fn.extend( {
|
|||
|
||||
|
||||
// Based off of the plugin by Clint Helfers, with permission.
|
||||
// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
|
||||
jQuery.fn.delay = function( time, type ) {
|
||||
time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
|
||||
type = type || "fx";
|
||||
|
@ -7374,8 +7403,7 @@ jQuery.extend( {
|
|||
// Support: IE <=9 - 11 only
|
||||
// elem.tabIndex doesn't always return the
|
||||
// correct value when it hasn't been explicitly set
|
||||
// https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
|
||||
// Use proper attribute retrieval(#12072)
|
||||
// Use proper attribute retrieval (trac-12072)
|
||||
var tabindex = jQuery.find.attr( elem, "tabindex" );
|
||||
|
||||
if ( tabindex ) {
|
||||
|
@ -7479,8 +7507,7 @@ function classesToArray( value ) {
|
|||
|
||||
jQuery.fn.extend( {
|
||||
addClass: function( value ) {
|
||||
var classes, elem, cur, curValue, clazz, j, finalValue,
|
||||
i = 0;
|
||||
var classNames, cur, curValue, className, i, finalValue;
|
||||
|
||||
if ( isFunction( value ) ) {
|
||||
return this.each( function( j ) {
|
||||
|
@ -7488,36 +7515,35 @@ jQuery.fn.extend( {
|
|||
} );
|
||||
}
|
||||
|
||||
classes = classesToArray( value );
|
||||
classNames = classesToArray( value );
|
||||
|
||||
if ( classes.length ) {
|
||||
while ( ( elem = this[ i++ ] ) ) {
|
||||
curValue = getClass( elem );
|
||||
cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
|
||||
if ( classNames.length ) {
|
||||
return this.each( function() {
|
||||
curValue = getClass( this );
|
||||
cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
|
||||
|
||||
if ( cur ) {
|
||||
j = 0;
|
||||
while ( ( clazz = classes[ j++ ] ) ) {
|
||||
if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
|
||||
cur += clazz + " ";
|
||||
for ( i = 0; i < classNames.length; i++ ) {
|
||||
className = classNames[ i ];
|
||||
if ( cur.indexOf( " " + className + " " ) < 0 ) {
|
||||
cur += className + " ";
|
||||
}
|
||||
}
|
||||
|
||||
// Only assign if different to avoid unneeded rendering.
|
||||
finalValue = stripAndCollapse( cur );
|
||||
if ( curValue !== finalValue ) {
|
||||
elem.setAttribute( "class", finalValue );
|
||||
this.setAttribute( "class", finalValue );
|
||||
}
|
||||
}
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
removeClass: function( value ) {
|
||||
var classes, elem, cur, curValue, clazz, j, finalValue,
|
||||
i = 0;
|
||||
var classNames, cur, curValue, className, i, finalValue;
|
||||
|
||||
if ( isFunction( value ) ) {
|
||||
return this.each( function( j ) {
|
||||
|
@ -7529,45 +7555,42 @@ jQuery.fn.extend( {
|
|||
return this.attr( "class", "" );
|
||||
}
|
||||
|
||||
classes = classesToArray( value );
|
||||
classNames = classesToArray( value );
|
||||
|
||||
if ( classes.length ) {
|
||||
while ( ( elem = this[ i++ ] ) ) {
|
||||
curValue = getClass( elem );
|
||||
if ( classNames.length ) {
|
||||
return this.each( function() {
|
||||
curValue = getClass( this );
|
||||
|
||||
// This expression is here for better compressibility (see addClass)
|
||||
cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
|
||||
cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
|
||||
|
||||
if ( cur ) {
|
||||
j = 0;
|
||||
while ( ( clazz = classes[ j++ ] ) ) {
|
||||
for ( i = 0; i < classNames.length; i++ ) {
|
||||
className = classNames[ i ];
|
||||
|
||||
// Remove *all* instances
|
||||
while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
|
||||
cur = cur.replace( " " + clazz + " ", " " );
|
||||
while ( cur.indexOf( " " + className + " " ) > -1 ) {
|
||||
cur = cur.replace( " " + className + " ", " " );
|
||||
}
|
||||
}
|
||||
|
||||
// Only assign if different to avoid unneeded rendering.
|
||||
finalValue = stripAndCollapse( cur );
|
||||
if ( curValue !== finalValue ) {
|
||||
elem.setAttribute( "class", finalValue );
|
||||
this.setAttribute( "class", finalValue );
|
||||
}
|
||||
}
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
toggleClass: function( value, stateVal ) {
|
||||
var type = typeof value,
|
||||
var classNames, className, i, self,
|
||||
type = typeof value,
|
||||
isValidValue = type === "string" || Array.isArray( value );
|
||||
|
||||
if ( typeof stateVal === "boolean" && isValidValue ) {
|
||||
return stateVal ? this.addClass( value ) : this.removeClass( value );
|
||||
}
|
||||
|
||||
if ( isFunction( value ) ) {
|
||||
return this.each( function( i ) {
|
||||
jQuery( this ).toggleClass(
|
||||
|
@ -7577,17 +7600,20 @@ jQuery.fn.extend( {
|
|||
} );
|
||||
}
|
||||
|
||||
return this.each( function() {
|
||||
var className, i, self, classNames;
|
||||
if ( typeof stateVal === "boolean" && isValidValue ) {
|
||||
return stateVal ? this.addClass( value ) : this.removeClass( value );
|
||||
}
|
||||
|
||||
classNames = classesToArray( value );
|
||||
|
||||
return this.each( function() {
|
||||
if ( isValidValue ) {
|
||||
|
||||
// Toggle individual class names
|
||||
i = 0;
|
||||
self = jQuery( this );
|
||||
classNames = classesToArray( value );
|
||||
|
||||
while ( ( className = classNames[ i++ ] ) ) {
|
||||
for ( i = 0; i < classNames.length; i++ ) {
|
||||
className = classNames[ i ];
|
||||
|
||||
// Check each className given, space separated list
|
||||
if ( self.hasClass( className ) ) {
|
||||
|
@ -7721,7 +7747,7 @@ jQuery.extend( {
|
|||
val :
|
||||
|
||||
// Support: IE <=10 - 11 only
|
||||
// option.text throws exceptions (#14686, #14858)
|
||||
// option.text throws exceptions (trac-14686, trac-14858)
|
||||
// Strip and collapse whitespace
|
||||
// https://html.spec.whatwg.org/#strip-and-collapse-whitespace
|
||||
stripAndCollapse( jQuery.text( elem ) );
|
||||
|
@ -7748,7 +7774,7 @@ jQuery.extend( {
|
|||
option = options[ i ];
|
||||
|
||||
// Support: IE <=9 only
|
||||
// IE8-9 doesn't update selected after form reset (#2551)
|
||||
// IE8-9 doesn't update selected after form reset (trac-2551)
|
||||
if ( ( option.selected || i === index ) &&
|
||||
|
||||
// Don't return options that are disabled or in a disabled optgroup
|
||||
|
@ -7891,8 +7917,8 @@ jQuery.extend( jQuery.event, {
|
|||
return;
|
||||
}
|
||||
|
||||
// Determine event propagation path in advance, per W3C events spec (#9951)
|
||||
// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
|
||||
// Determine event propagation path in advance, per W3C events spec (trac-9951)
|
||||
// Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724)
|
||||
if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {
|
||||
|
||||
bubbleType = special.delegateType || type;
|
||||
|
@ -7944,7 +7970,7 @@ jQuery.extend( jQuery.event, {
|
|||
acceptData( elem ) ) {
|
||||
|
||||
// Call a native DOM method on the target with the same name as the event.
|
||||
// Don't do default actions on window, that's where global variables be (#6170)
|
||||
// Don't do default actions on window, that's where global variables be (trac-6170)
|
||||
if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {
|
||||
|
||||
// Don't re-trigger an onFOO event when we call its FOO() method
|
||||
|
@ -8654,7 +8680,9 @@ jQuery.each(
|
|||
|
||||
// Support: Android <=4.0 only
|
||||
// Make sure we trim BOM and NBSP
|
||||
var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
|
||||
// Require that the "whitespace run" starts from a non-whitespace
|
||||
// to avoid O(N^2) behavior when the engine would try matching "\s+$" at each space position.
|
||||
var rtrim = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;
|
||||
|
||||
// Bind a function to a context, optionally partially applying any
|
||||
// arguments.
|
||||
|
@ -8721,7 +8749,7 @@ jQuery.isNumeric = function( obj ) {
|
|||
jQuery.trim = function( text ) {
|
||||
return text == null ?
|
||||
"" :
|
||||
( text + "" ).replace( rtrim, "" );
|
||||
( text + "" ).replace( rtrim, "$1" );
|
||||
};
|
||||
|
||||
|
||||
|
@ -8769,8 +8797,8 @@ jQuery.noConflict = function( deep ) {
|
|||
};
|
||||
|
||||
// Expose jQuery and $ identifiers, even in AMD
|
||||
// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
|
||||
// and CommonJS for browser emulators (#13566)
|
||||
// (trac-7102#comment:10, https://github.com/jquery/jquery/pull/557)
|
||||
// and CommonJS for browser emulators (trac-13566)
|
||||
if ( typeof noGlobal === "undefined" ) {
|
||||
window.jQuery = window.$ = jQuery;
|
||||
}
|
||||
|
|
4
node_modules/jquery/dist/jquery.slim.min.js
generated
vendored
4
node_modules/jquery/dist/jquery.slim.min.js
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/jquery/dist/jquery.slim.min.map
generated
vendored
2
node_modules/jquery/dist/jquery.slim.min.map
generated
vendored
File diff suppressed because one or more lines are too long
31
node_modules/jquery/package.json
generated
vendored
31
node_modules/jquery/package.json
generated
vendored
|
@ -2,12 +2,12 @@
|
|||
"name": "jquery",
|
||||
"title": "jQuery",
|
||||
"description": "JavaScript library for DOM operations",
|
||||
"version": "3.6.0",
|
||||
"version": "3.6.1",
|
||||
"main": "dist/jquery.js",
|
||||
"homepage": "https://jquery.com",
|
||||
"author": {
|
||||
"name": "OpenJS Foundation and other contributors",
|
||||
"url": "https://github.com/jquery/jquery/blob/3.6.0/AUTHORS.txt"
|
||||
"url": "https://github.com/jquery/jquery/blob/3.6.1/AUTHORS.txt"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
@ -26,32 +26,33 @@
|
|||
"devDependencies": {
|
||||
"@babel/core": "7.3.3",
|
||||
"@babel/plugin-transform-for-of": "7.2.0",
|
||||
"colors": "1.4.0",
|
||||
"commitplease": "3.2.0",
|
||||
"core-js": "2.6.5",
|
||||
"eslint-config-jquery": "3.0.0",
|
||||
"grunt": "1.3.0",
|
||||
"grunt": "1.4.1",
|
||||
"grunt-babel": "8.0.0",
|
||||
"grunt-cli": "1.3.2",
|
||||
"grunt-cli": "1.4.3",
|
||||
"grunt-compare-size": "0.4.2",
|
||||
"grunt-contrib-uglify": "3.4.0",
|
||||
"grunt-contrib-watch": "1.1.0",
|
||||
"grunt-eslint": "22.0.0",
|
||||
"grunt-git-authors": "3.2.0",
|
||||
"grunt-jsonlint": "1.1.0",
|
||||
"grunt-karma": "4.0.0",
|
||||
"grunt-jsonlint": "2.1.2",
|
||||
"grunt-karma": "4.0.2",
|
||||
"grunt-newer": "1.3.0",
|
||||
"grunt-npmcopy": "0.2.0",
|
||||
"gzip-js": "0.3.2",
|
||||
"husky": "1.3.1",
|
||||
"insight": "0.10.1",
|
||||
"jsdom": "13.2.0",
|
||||
"karma": "5.2.3",
|
||||
"karma-browserstack-launcher": "1.4.0",
|
||||
"karma-chrome-launcher": "2.2.0",
|
||||
"karma-firefox-launcher": "1.1.0",
|
||||
"husky": "4.2.5",
|
||||
"insight": "0.10.3",
|
||||
"jsdom": "19.0.0",
|
||||
"karma": "^6.3.17",
|
||||
"karma-browserstack-launcher": "1.6.0",
|
||||
"karma-chrome-launcher": "3.1.1",
|
||||
"karma-firefox-launcher": "2.1.2",
|
||||
"karma-ie-launcher": "1.0.0",
|
||||
"karma-jsdom-launcher": "8.0.2",
|
||||
"karma-qunit": "3.0.0",
|
||||
"karma-jsdom-launcher": "12.0.0",
|
||||
"karma-qunit": "4.1.2",
|
||||
"load-grunt-tasks": "5.1.0",
|
||||
"native-promise-only": "0.8.1",
|
||||
"promises-aplus-tests": "2.1.2",
|
||||
|
|
14
node_modules/jquery/src/ajax.js
generated
vendored
14
node_modules/jquery/src/ajax.js
generated
vendored
|
@ -22,7 +22,7 @@ var
|
|||
rantiCache = /([?&])_=[^&]*/,
|
||||
rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
|
||||
|
||||
// #7653, #8125, #8152: local protocol detection
|
||||
// trac-7653, trac-8125, trac-8152: local protocol detection
|
||||
rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
|
||||
rnoContent = /^(?:GET|HEAD)$/,
|
||||
rprotocol = /^\/\//,
|
||||
|
@ -45,7 +45,7 @@ var
|
|||
*/
|
||||
transports = {},
|
||||
|
||||
// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
|
||||
// Avoid comment-prolog char sequence (trac-10098); must appease lint and evade compression
|
||||
allTypes = "*/".concat( "*" ),
|
||||
|
||||
// Anchor tag for parsing the document origin
|
||||
|
@ -116,7 +116,7 @@ function inspectPrefiltersOrTransports( structure, options, originalOptions, jqX
|
|||
|
||||
// A special extend for ajax options
|
||||
// that takes "flat" options (not to be deep extended)
|
||||
// Fixes #9887
|
||||
// Fixes trac-9887
|
||||
function ajaxExtend( target, src ) {
|
||||
var key, deep,
|
||||
flatOptions = jQuery.ajaxSettings.flatOptions || {};
|
||||
|
@ -527,12 +527,12 @@ jQuery.extend( {
|
|||
deferred.promise( jqXHR );
|
||||
|
||||
// Add protocol if not provided (prefilters might expect it)
|
||||
// Handle falsy url in the settings object (#10093: consistency with old signature)
|
||||
// Handle falsy url in the settings object (trac-10093: consistency with old signature)
|
||||
// We also use the url parameter if available
|
||||
s.url = ( ( url || s.url || location.href ) + "" )
|
||||
.replace( rprotocol, location.protocol + "//" );
|
||||
|
||||
// Alias method option to type as per ticket #12004
|
||||
// Alias method option to type as per ticket trac-12004
|
||||
s.type = options.method || options.type || s.method || s.type;
|
||||
|
||||
// Extract dataTypes list
|
||||
|
@ -575,7 +575,7 @@ jQuery.extend( {
|
|||
}
|
||||
|
||||
// We can fire global events as of now if asked to
|
||||
// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)
|
||||
// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118)
|
||||
fireGlobals = jQuery.event && s.global;
|
||||
|
||||
// Watch for a new set of requests
|
||||
|
@ -604,7 +604,7 @@ jQuery.extend( {
|
|||
if ( s.data && ( s.processData || typeof s.data === "string" ) ) {
|
||||
cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
|
||||
|
||||
// #9682: remove data so that it's not used in an eventual retry
|
||||
// trac-9682: remove data so that it's not used in an eventual retry
|
||||
delete s.data;
|
||||
}
|
||||
|
||||
|
|
6
node_modules/jquery/src/ajax/xhr.js
generated
vendored
6
node_modules/jquery/src/ajax/xhr.js
generated
vendored
|
@ -18,7 +18,7 @@ var xhrSuccessStatus = {
|
|||
0: 200,
|
||||
|
||||
// Support: IE <=9 only
|
||||
// #1450: sometimes IE returns 1223 when it should be 204
|
||||
// trac-1450: sometimes IE returns 1223 when it should be 204
|
||||
1223: 204
|
||||
},
|
||||
xhrSupported = jQuery.ajaxSettings.xhr();
|
||||
|
@ -90,7 +90,7 @@ jQuery.ajaxTransport( function( options ) {
|
|||
} else {
|
||||
complete(
|
||||
|
||||
// File: protocol always yields status 0; see #8605, #14207
|
||||
// File: protocol always yields status 0; see trac-8605, trac-14207
|
||||
xhr.status,
|
||||
xhr.statusText
|
||||
);
|
||||
|
@ -151,7 +151,7 @@ jQuery.ajaxTransport( function( options ) {
|
|||
xhr.send( options.hasContent && options.data || null );
|
||||
} catch ( e ) {
|
||||
|
||||
// #14683: Only rethrow if this hasn't been notified as an error yet
|
||||
// trac-14683: Only rethrow if this hasn't been notified as an error yet
|
||||
if ( callback ) {
|
||||
throw e;
|
||||
}
|
||||
|
|
70
node_modules/jquery/src/attributes/classes.js
generated
vendored
70
node_modules/jquery/src/attributes/classes.js
generated
vendored
|
@ -25,8 +25,7 @@ function classesToArray( value ) {
|
|||
|
||||
jQuery.fn.extend( {
|
||||
addClass: function( value ) {
|
||||
var classes, elem, cur, curValue, clazz, j, finalValue,
|
||||
i = 0;
|
||||
var classNames, cur, curValue, className, i, finalValue;
|
||||
|
||||
if ( isFunction( value ) ) {
|
||||
return this.each( function( j ) {
|
||||
|
@ -34,36 +33,35 @@ jQuery.fn.extend( {
|
|||
} );
|
||||
}
|
||||
|
||||
classes = classesToArray( value );
|
||||
classNames = classesToArray( value );
|
||||
|
||||
if ( classes.length ) {
|
||||
while ( ( elem = this[ i++ ] ) ) {
|
||||
curValue = getClass( elem );
|
||||
cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
|
||||
if ( classNames.length ) {
|
||||
return this.each( function() {
|
||||
curValue = getClass( this );
|
||||
cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
|
||||
|
||||
if ( cur ) {
|
||||
j = 0;
|
||||
while ( ( clazz = classes[ j++ ] ) ) {
|
||||
if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
|
||||
cur += clazz + " ";
|
||||
for ( i = 0; i < classNames.length; i++ ) {
|
||||
className = classNames[ i ];
|
||||
if ( cur.indexOf( " " + className + " " ) < 0 ) {
|
||||
cur += className + " ";
|
||||
}
|
||||
}
|
||||
|
||||
// Only assign if different to avoid unneeded rendering.
|
||||
finalValue = stripAndCollapse( cur );
|
||||
if ( curValue !== finalValue ) {
|
||||
elem.setAttribute( "class", finalValue );
|
||||
this.setAttribute( "class", finalValue );
|
||||
}
|
||||
}
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
removeClass: function( value ) {
|
||||
var classes, elem, cur, curValue, clazz, j, finalValue,
|
||||
i = 0;
|
||||
var classNames, cur, curValue, className, i, finalValue;
|
||||
|
||||
if ( isFunction( value ) ) {
|
||||
return this.each( function( j ) {
|
||||
|
@ -75,45 +73,42 @@ jQuery.fn.extend( {
|
|||
return this.attr( "class", "" );
|
||||
}
|
||||
|
||||
classes = classesToArray( value );
|
||||
classNames = classesToArray( value );
|
||||
|
||||
if ( classes.length ) {
|
||||
while ( ( elem = this[ i++ ] ) ) {
|
||||
curValue = getClass( elem );
|
||||
if ( classNames.length ) {
|
||||
return this.each( function() {
|
||||
curValue = getClass( this );
|
||||
|
||||
// This expression is here for better compressibility (see addClass)
|
||||
cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
|
||||
cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
|
||||
|
||||
if ( cur ) {
|
||||
j = 0;
|
||||
while ( ( clazz = classes[ j++ ] ) ) {
|
||||
for ( i = 0; i < classNames.length; i++ ) {
|
||||
className = classNames[ i ];
|
||||
|
||||
// Remove *all* instances
|
||||
while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
|
||||
cur = cur.replace( " " + clazz + " ", " " );
|
||||
while ( cur.indexOf( " " + className + " " ) > -1 ) {
|
||||
cur = cur.replace( " " + className + " ", " " );
|
||||
}
|
||||
}
|
||||
|
||||
// Only assign if different to avoid unneeded rendering.
|
||||
finalValue = stripAndCollapse( cur );
|
||||
if ( curValue !== finalValue ) {
|
||||
elem.setAttribute( "class", finalValue );
|
||||
this.setAttribute( "class", finalValue );
|
||||
}
|
||||
}
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
toggleClass: function( value, stateVal ) {
|
||||
var type = typeof value,
|
||||
var classNames, className, i, self,
|
||||
type = typeof value,
|
||||
isValidValue = type === "string" || Array.isArray( value );
|
||||
|
||||
if ( typeof stateVal === "boolean" && isValidValue ) {
|
||||
return stateVal ? this.addClass( value ) : this.removeClass( value );
|
||||
}
|
||||
|
||||
if ( isFunction( value ) ) {
|
||||
return this.each( function( i ) {
|
||||
jQuery( this ).toggleClass(
|
||||
|
@ -123,17 +118,20 @@ jQuery.fn.extend( {
|
|||
} );
|
||||
}
|
||||
|
||||
return this.each( function() {
|
||||
var className, i, self, classNames;
|
||||
if ( typeof stateVal === "boolean" && isValidValue ) {
|
||||
return stateVal ? this.addClass( value ) : this.removeClass( value );
|
||||
}
|
||||
|
||||
classNames = classesToArray( value );
|
||||
|
||||
return this.each( function() {
|
||||
if ( isValidValue ) {
|
||||
|
||||
// Toggle individual class names
|
||||
i = 0;
|
||||
self = jQuery( this );
|
||||
classNames = classesToArray( value );
|
||||
|
||||
while ( ( className = classNames[ i++ ] ) ) {
|
||||
for ( i = 0; i < classNames.length; i++ ) {
|
||||
className = classNames[ i ];
|
||||
|
||||
// Check each className given, space separated list
|
||||
if ( self.hasClass( className ) ) {
|
||||
|
|
3
node_modules/jquery/src/attributes/prop.js
generated
vendored
3
node_modules/jquery/src/attributes/prop.js
generated
vendored
|
@ -62,8 +62,7 @@ jQuery.extend( {
|
|||
// Support: IE <=9 - 11 only
|
||||
// elem.tabIndex doesn't always return the
|
||||
// correct value when it hasn't been explicitly set
|
||||
// https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
|
||||
// Use proper attribute retrieval(#12072)
|
||||
// Use proper attribute retrieval (trac-12072)
|
||||
var tabindex = jQuery.find.attr( elem, "tabindex" );
|
||||
|
||||
if ( tabindex ) {
|
||||
|
|
4
node_modules/jquery/src/attributes/val.js
generated
vendored
4
node_modules/jquery/src/attributes/val.js
generated
vendored
|
@ -91,7 +91,7 @@ jQuery.extend( {
|
|||
val :
|
||||
|
||||
// Support: IE <=10 - 11 only
|
||||
// option.text throws exceptions (#14686, #14858)
|
||||
// option.text throws exceptions (trac-14686, trac-14858)
|
||||
// Strip and collapse whitespace
|
||||
// https://html.spec.whatwg.org/#strip-and-collapse-whitespace
|
||||
stripAndCollapse( jQuery.text( elem ) );
|
||||
|
@ -118,7 +118,7 @@ jQuery.extend( {
|
|||
option = options[ i ];
|
||||
|
||||
// Support: IE <=9 only
|
||||
// IE8-9 doesn't update selected after form reset (#2551)
|
||||
// IE8-9 doesn't update selected after form reset (trac-2551)
|
||||
if ( ( option.selected || i === index ) &&
|
||||
|
||||
// Don't return options that are disabled or in a disabled optgroup
|
||||
|
|
2
node_modules/jquery/src/core.js
generated
vendored
2
node_modules/jquery/src/core.js
generated
vendored
|
@ -26,7 +26,7 @@ define( [
|
|||
"use strict";
|
||||
|
||||
var
|
||||
version = "3.6.0",
|
||||
version = "3.6.1",
|
||||
|
||||
// Define a local copy of jQuery
|
||||
jQuery = function( selector, context ) {
|
||||
|
|
2
node_modules/jquery/src/core/camelCase.js
generated
vendored
2
node_modules/jquery/src/core/camelCase.js
generated
vendored
|
@ -13,7 +13,7 @@ function fcamelCase( _all, letter ) {
|
|||
|
||||
// Convert dashed to camelCase; used by the css and data modules
|
||||
// Support: IE <=9 - 11, Edge 12 - 15
|
||||
// Microsoft forgot to hump their vendor prefix (#9572)
|
||||
// Microsoft forgot to hump their vendor prefix (trac-9572)
|
||||
function camelCase( string ) {
|
||||
return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
|
||||
}
|
||||
|
|
4
node_modules/jquery/src/core/init.js
generated
vendored
4
node_modules/jquery/src/core/init.js
generated
vendored
|
@ -14,8 +14,8 @@ define( [
|
|||
var rootjQuery,
|
||||
|
||||
// A simple way to check for HTML strings
|
||||
// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
|
||||
// Strict HTML recognition (#11290: must start with <)
|
||||
// Prioritize #id over <tag> to avoid XSS via location.hash (trac-9521)
|
||||
// Strict HTML recognition (trac-11290: must start with <)
|
||||
// Shortcut simple #id case for speed
|
||||
rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
|
||||
|
||||
|
|
2
node_modules/jquery/src/core/ready-no-deferred.js
generated
vendored
2
node_modules/jquery/src/core/ready-no-deferred.js
generated
vendored
|
@ -30,7 +30,7 @@ jQuery.extend( {
|
|||
isReady: false,
|
||||
|
||||
// A counter to track how many items to wait for before
|
||||
// the ready event fires. See #6781
|
||||
// the ready event fires. See trac-6781
|
||||
readyWait: 1,
|
||||
|
||||
ready: function( wait ) {
|
||||
|
|
2
node_modules/jquery/src/core/ready.js
generated
vendored
2
node_modules/jquery/src/core/ready.js
generated
vendored
|
@ -31,7 +31,7 @@ jQuery.extend( {
|
|||
isReady: false,
|
||||
|
||||
// A counter to track how many items to wait for before
|
||||
// the ready event fires. See #6781
|
||||
// the ready event fires. See trac-6781
|
||||
readyWait: 1,
|
||||
|
||||
// Handle when the DOM is ready
|
||||
|
|
13
node_modules/jquery/src/css.js
generated
vendored
13
node_modules/jquery/src/css.js
generated
vendored
|
@ -5,6 +5,7 @@ define( [
|
|||
"./core/nodeName",
|
||||
"./var/rcssNum",
|
||||
"./css/var/rnumnonpx",
|
||||
"./css/var/rcustomProp",
|
||||
"./css/var/cssExpand",
|
||||
"./css/var/getStyles",
|
||||
"./css/var/swap",
|
||||
|
@ -17,8 +18,9 @@ define( [
|
|||
"./core/init",
|
||||
"./core/ready",
|
||||
"./selector" // contains
|
||||
], function( jQuery, access, camelCase, nodeName, rcssNum, rnumnonpx, cssExpand,
|
||||
getStyles, swap, curCSS, adjustCSS, addGetHookIf, support, finalPropName ) {
|
||||
], function( jQuery, access, camelCase, nodeName, rcssNum, rnumnonpx,
|
||||
rcustomProp, cssExpand, getStyles, swap, curCSS, adjustCSS, addGetHookIf,
|
||||
support, finalPropName ) {
|
||||
|
||||
"use strict";
|
||||
|
||||
|
@ -28,7 +30,6 @@ var
|
|||
// except "table", "table-cell", or "table-caption"
|
||||
// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
|
||||
rdisplayswap = /^(none|table(?!-c[ea]).+)/,
|
||||
rcustomProp = /^--/,
|
||||
cssShow = { position: "absolute", visibility: "hidden", display: "block" },
|
||||
cssNormalTransform = {
|
||||
letterSpacing: "0",
|
||||
|
@ -264,15 +265,15 @@ jQuery.extend( {
|
|||
if ( value !== undefined ) {
|
||||
type = typeof value;
|
||||
|
||||
// Convert "+=" or "-=" to relative numbers (#7345)
|
||||
// Convert "+=" or "-=" to relative numbers (trac-7345)
|
||||
if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
|
||||
value = adjustCSS( elem, name, ret );
|
||||
|
||||
// Fixes bug #9237
|
||||
// Fixes bug trac-9237
|
||||
type = "number";
|
||||
}
|
||||
|
||||
// Make sure that null and NaN values aren't set (#7116)
|
||||
// Make sure that null and NaN values aren't set (trac-7116)
|
||||
if ( value == null || value !== value ) {
|
||||
return;
|
||||
}
|
||||
|
|
21
node_modules/jquery/src/css/curCSS.js
generated
vendored
21
node_modules/jquery/src/css/curCSS.js
generated
vendored
|
@ -4,13 +4,17 @@ define( [
|
|||
"./var/rboxStyle",
|
||||
"./var/rnumnonpx",
|
||||
"./var/getStyles",
|
||||
"./var/rcustomProp",
|
||||
"../var/rtrimCSS",
|
||||
"./support"
|
||||
], function( jQuery, isAttached, rboxStyle, rnumnonpx, getStyles, support ) {
|
||||
], function( jQuery, isAttached, rboxStyle, rnumnonpx, getStyles,
|
||||
rcustomProp, rtrimCSS, support ) {
|
||||
|
||||
"use strict";
|
||||
|
||||
function curCSS( elem, name, computed ) {
|
||||
var width, minWidth, maxWidth, ret,
|
||||
isCustomProp = rcustomProp.test( name ),
|
||||
|
||||
// Support: Firefox 51+
|
||||
// Retrieving style before computed somehow
|
||||
|
@ -21,11 +25,22 @@ function curCSS( elem, name, computed ) {
|
|||
computed = computed || getStyles( elem );
|
||||
|
||||
// getPropertyValue is needed for:
|
||||
// .css('filter') (IE 9 only, #12537)
|
||||
// .css('--customProperty) (#3144)
|
||||
// .css('filter') (IE 9 only, trac-12537)
|
||||
// .css('--customProperty) (gh-3144)
|
||||
if ( computed ) {
|
||||
ret = computed.getPropertyValue( name ) || computed[ name ];
|
||||
|
||||
// trim whitespace for custom property (issue gh-4926)
|
||||
if ( isCustomProp ) {
|
||||
|
||||
// rtrim treats U+000D CARRIAGE RETURN and U+000C FORM FEED
|
||||
// as whitespace while CSS does not, but this is not a problem
|
||||
// because CSS preprocessing replaces them with U+000A LINE FEED
|
||||
// (which *is* CSS whitespace)
|
||||
// https://www.w3.org/TR/css-syntax-3/#input-preprocessing
|
||||
ret = ret.replace( rtrimCSS, "$1" );
|
||||
}
|
||||
|
||||
if ( ret === "" && !isAttached( elem ) ) {
|
||||
ret = jQuery.style( elem, name );
|
||||
}
|
||||
|
|
2
node_modules/jquery/src/css/support.js
generated
vendored
2
node_modules/jquery/src/css/support.js
generated
vendored
|
@ -70,7 +70,7 @@ define( [
|
|||
}
|
||||
|
||||
// Support: IE <=9 - 11 only
|
||||
// Style of cloned element affects source element cloned (#8908)
|
||||
// Style of cloned element affects source element cloned (trac-8908)
|
||||
div.style.backgroundClip = "content-box";
|
||||
div.cloneNode( true ).style.backgroundClip = "";
|
||||
support.clearCloneStyle = div.style.backgroundClip === "content-box";
|
||||
|
|
2
node_modules/jquery/src/css/var/getStyles.js
generated
vendored
2
node_modules/jquery/src/css/var/getStyles.js
generated
vendored
|
@ -3,7 +3,7 @@ define( function() {
|
|||
|
||||
return function( elem ) {
|
||||
|
||||
// Support: IE <=11 only, Firefox <=30 (#15098, #14150)
|
||||
// Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150)
|
||||
// IE throws on elements created in popups
|
||||
// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
|
||||
var view = elem.ownerDocument.defaultView;
|
||||
|
|
7
node_modules/jquery/src/css/var/rcustomProp.js
generated
vendored
Normal file
7
node_modules/jquery/src/css/var/rcustomProp.js
generated
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
define( function() {
|
||||
|
||||
"use strict";
|
||||
|
||||
return /^--/;
|
||||
|
||||
} );
|
2
node_modules/jquery/src/data.js
generated
vendored
2
node_modules/jquery/src/data.js
generated
vendored
|
@ -109,7 +109,7 @@ jQuery.fn.extend( {
|
|||
while ( i-- ) {
|
||||
|
||||
// Support: IE 11 only
|
||||
// The attrs elements can be null (#14894)
|
||||
// The attrs elements can be null (trac-14894)
|
||||
if ( attrs[ i ] ) {
|
||||
name = attrs[ i ].name;
|
||||
if ( name.indexOf( "data-" ) === 0 ) {
|
||||
|
|
2
node_modules/jquery/src/data/Data.js
generated
vendored
2
node_modules/jquery/src/data/Data.js
generated
vendored
|
@ -25,7 +25,7 @@ Data.prototype = {
|
|||
value = {};
|
||||
|
||||
// We can accept data for non-element nodes in modern browsers,
|
||||
// but we should not, see #8335.
|
||||
// but we should not, see trac-8335.
|
||||
// Always return an empty object.
|
||||
if ( acceptData( owner ) ) {
|
||||
|
||||
|
|
6
node_modules/jquery/src/deprecated.js
generated
vendored
6
node_modules/jquery/src/deprecated.js
generated
vendored
|
@ -15,7 +15,9 @@ define( [
|
|||
|
||||
// Support: Android <=4.0 only
|
||||
// Make sure we trim BOM and NBSP
|
||||
var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
|
||||
// Require that the "whitespace run" starts from a non-whitespace
|
||||
// to avoid O(N^2) behavior when the engine would try matching "\s+$" at each space position.
|
||||
var rtrim = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;
|
||||
|
||||
// Bind a function to a context, optionally partially applying any
|
||||
// arguments.
|
||||
|
@ -82,6 +84,6 @@ jQuery.isNumeric = function( obj ) {
|
|||
jQuery.trim = function( text ) {
|
||||
return text == null ?
|
||||
"" :
|
||||
( text + "" ).replace( rtrim, "" );
|
||||
( text + "" ).replace( rtrim, "$1" );
|
||||
};
|
||||
} );
|
||||
|
|
2
node_modules/jquery/src/effects.js
generated
vendored
2
node_modules/jquery/src/effects.js
generated
vendored
|
@ -310,7 +310,7 @@ function Animation( elem, properties, options ) {
|
|||
remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
|
||||
|
||||
// Support: Android 2.3 only
|
||||
// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
|
||||
// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (trac-12497)
|
||||
temp = remaining / animation.duration || 0,
|
||||
percent = 1 - temp,
|
||||
index = 0,
|
||||
|
|
16
node_modules/jquery/src/event.js
generated
vendored
16
node_modules/jquery/src/event.js
generated
vendored
|
@ -393,15 +393,15 @@ jQuery.event = {
|
|||
|
||||
for ( ; cur !== this; cur = cur.parentNode || this ) {
|
||||
|
||||
// Don't check non-elements (#13208)
|
||||
// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
|
||||
// Don't check non-elements (trac-13208)
|
||||
// Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764)
|
||||
if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
|
||||
matchedHandlers = [];
|
||||
matchedSelectors = {};
|
||||
for ( i = 0; i < delegateCount; i++ ) {
|
||||
handleObj = handlers[ i ];
|
||||
|
||||
// Don't conflict with Object.prototype properties (#13203)
|
||||
// Don't conflict with Object.prototype properties (trac-13203)
|
||||
sel = handleObj.selector + " ";
|
||||
|
||||
if ( matchedSelectors[ sel ] === undefined ) {
|
||||
|
@ -655,7 +655,7 @@ jQuery.Event = function( src, props ) {
|
|||
|
||||
// Create target properties
|
||||
// Support: Safari <=6 - 7 only
|
||||
// Target should not be a text node (#504, #13143)
|
||||
// Target should not be a text node (trac-504, trac-13143)
|
||||
this.target = ( src.target && src.target.nodeType === 3 ) ?
|
||||
src.target.parentNode :
|
||||
src.target;
|
||||
|
@ -778,10 +778,10 @@ jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateTyp
|
|||
return true;
|
||||
},
|
||||
|
||||
// Suppress native focus or blur as it's already being fired
|
||||
// in leverageNative.
|
||||
_default: function() {
|
||||
return true;
|
||||
// Suppress native focus or blur if we're currently inside
|
||||
// a leveraged native-event stack
|
||||
_default: function( event ) {
|
||||
return dataPriv.get( event.target, type );
|
||||
},
|
||||
|
||||
delegateType: delegateType
|
||||
|
|
6
node_modules/jquery/src/event/trigger.js
generated
vendored
6
node_modules/jquery/src/event/trigger.js
generated
vendored
|
@ -75,8 +75,8 @@ jQuery.extend( jQuery.event, {
|
|||
return;
|
||||
}
|
||||
|
||||
// Determine event propagation path in advance, per W3C events spec (#9951)
|
||||
// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
|
||||
// Determine event propagation path in advance, per W3C events spec (trac-9951)
|
||||
// Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724)
|
||||
if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {
|
||||
|
||||
bubbleType = special.delegateType || type;
|
||||
|
@ -128,7 +128,7 @@ jQuery.extend( jQuery.event, {
|
|||
acceptData( elem ) ) {
|
||||
|
||||
// Call a native DOM method on the target with the same name as the event.
|
||||
// Don't do default actions on window, that's where global variables be (#6170)
|
||||
// Don't do default actions on window, that's where global variables be (trac-6170)
|
||||
if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {
|
||||
|
||||
// Don't re-trigger an onFOO event when we call its FOO() method
|
||||
|
|
4
node_modules/jquery/src/exports/global.js
generated
vendored
4
node_modules/jquery/src/exports/global.js
generated
vendored
|
@ -25,8 +25,8 @@ jQuery.noConflict = function( deep ) {
|
|||
};
|
||||
|
||||
// Expose jQuery and $ identifiers, even in AMD
|
||||
// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
|
||||
// and CommonJS for browser emulators (#13566)
|
||||
// (trac-7102#comment:10, https://github.com/jquery/jquery/pull/557)
|
||||
// and CommonJS for browser emulators (trac-13566)
|
||||
if ( typeof noGlobal === "undefined" ) {
|
||||
window.jQuery = window.$ = jQuery;
|
||||
}
|
||||
|
|
11
node_modules/jquery/src/manipulation.js
generated
vendored
11
node_modules/jquery/src/manipulation.js
generated
vendored
|
@ -40,7 +40,8 @@ var
|
|||
|
||||
// checked="checked" or checked
|
||||
rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
|
||||
rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
|
||||
|
||||
rcleanScript = /^\s*<!\[CDATA\[|\]\]>\s*$/g;
|
||||
|
||||
// Prefer a tbody over its parent table for containing new rows
|
||||
function manipulationTarget( elem, content ) {
|
||||
|
@ -154,7 +155,7 @@ function domManip( collection, args, callback, ignored ) {
|
|||
|
||||
// Use the original fragment for the last item
|
||||
// instead of the first because it can end up
|
||||
// being emptied incorrectly in certain situations (#8070).
|
||||
// being emptied incorrectly in certain situations (trac-8070).
|
||||
for ( ; i < l; i++ ) {
|
||||
node = fragment;
|
||||
|
||||
|
@ -195,6 +196,12 @@ function domManip( collection, args, callback, ignored ) {
|
|||
}, doc );
|
||||
}
|
||||
} else {
|
||||
|
||||
// Unwrap a CDATA section containing script contents. This shouldn't be
|
||||
// needed as in XML documents they're already not visible when
|
||||
// inspecting element contents and in HTML documents they have no
|
||||
// meaning but we're preserving that logic for backwards compatibility.
|
||||
// This will be removed completely in 4.0. See gh-4904.
|
||||
DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc );
|
||||
}
|
||||
}
|
||||
|
|
2
node_modules/jquery/src/manipulation/_evalUrl.js
generated
vendored
2
node_modules/jquery/src/manipulation/_evalUrl.js
generated
vendored
|
@ -8,7 +8,7 @@ jQuery._evalUrl = function( url, options, doc ) {
|
|||
return jQuery.ajax( {
|
||||
url: url,
|
||||
|
||||
// Make this explicit, since user can override this through ajaxSetup (#11264)
|
||||
// Make this explicit, since user can override this through ajaxSetup (trac-11264)
|
||||
type: "GET",
|
||||
dataType: "script",
|
||||
cache: true,
|
||||
|
|
2
node_modules/jquery/src/manipulation/buildFragment.js
generated
vendored
2
node_modules/jquery/src/manipulation/buildFragment.js
generated
vendored
|
@ -58,7 +58,7 @@ function buildFragment( elems, context, scripts, selection, ignored ) {
|
|||
// Remember the top-level container
|
||||
tmp = fragment.firstChild;
|
||||
|
||||
// Ensure the created nodes are orphaned (#12392)
|
||||
// Ensure the created nodes are orphaned (trac-12392)
|
||||
tmp.textContent = "";
|
||||
}
|
||||
}
|
||||
|
|
2
node_modules/jquery/src/manipulation/getAll.js
generated
vendored
2
node_modules/jquery/src/manipulation/getAll.js
generated
vendored
|
@ -8,7 +8,7 @@ define( [
|
|||
function getAll( context, tag ) {
|
||||
|
||||
// Support: IE <=9 - 11 only
|
||||
// Use typeof to avoid zero-argument method invocation on host objects (#15151)
|
||||
// Use typeof to avoid zero-argument method invocation on host objects (trac-15151)
|
||||
var ret;
|
||||
|
||||
if ( typeof context.getElementsByTagName !== "undefined" ) {
|
||||
|
|
4
node_modules/jquery/src/manipulation/support.js
generated
vendored
4
node_modules/jquery/src/manipulation/support.js
generated
vendored
|
@ -11,9 +11,9 @@ define( [
|
|||
input = document.createElement( "input" );
|
||||
|
||||
// Support: Android 4.0 - 4.3 only
|
||||
// Check state lost if the name is set (#11217)
|
||||
// Check state lost if the name is set (trac-11217)
|
||||
// Support: Windows Web Apps (WWA)
|
||||
// `name` and `type` must use .setAttribute for WWA (#14901)
|
||||
// `name` and `type` must use .setAttribute for WWA (trac-14901)
|
||||
input.setAttribute( "type", "radio" );
|
||||
input.setAttribute( "checked", "checked" );
|
||||
input.setAttribute( "name", "t" );
|
||||
|
|
2
node_modules/jquery/src/manipulation/wrapMap.js
generated
vendored
2
node_modules/jquery/src/manipulation/wrapMap.js
generated
vendored
|
@ -4,7 +4,7 @@ define( [
|
|||
|
||||
"use strict";
|
||||
|
||||
// We have to close these tags to support XHTML (#13200)
|
||||
// We have to close these tags to support XHTML (trac-13200)
|
||||
var wrapMap = {
|
||||
|
||||
// XHTML parsers do not magically insert elements in the
|
||||
|
|
1
node_modules/jquery/src/queue/delay.js
generated
vendored
1
node_modules/jquery/src/queue/delay.js
generated
vendored
|
@ -7,7 +7,6 @@ define( [
|
|||
"use strict";
|
||||
|
||||
// Based off of the plugin by Clint Helfers, with permission.
|
||||
// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
|
||||
jQuery.fn.delay = function( time, type ) {
|
||||
time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
|
||||
type = type || "fx";
|
||||
|
|
2
node_modules/jquery/src/selector-native.js
generated
vendored
2
node_modules/jquery/src/selector-native.js
generated
vendored
|
@ -230,7 +230,7 @@ jQuery.extend( jQuery.find, {
|
|||
attr: function( elem, name ) {
|
||||
var fn = jQuery.expr.attrHandle[ name.toLowerCase() ],
|
||||
|
||||
// Don't get fooled by Object.prototype properties (jQuery #13807)
|
||||
// Don't get fooled by Object.prototype properties (jQuery trac-13807)
|
||||
value = fn && hasOwn.call( jQuery.expr.attrHandle, name.toLowerCase() ) ?
|
||||
fn( elem, name, jQuery.isXMLDoc( elem ) ) :
|
||||
undefined;
|
||||
|
|
12
node_modules/jquery/src/var/rtrimCSS.js
generated
vendored
Normal file
12
node_modules/jquery/src/var/rtrimCSS.js
generated
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
define( [
|
||||
"./whitespace"
|
||||
], function( whitespace ) {
|
||||
|
||||
"use strict";
|
||||
|
||||
return new RegExp(
|
||||
"^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$",
|
||||
"g"
|
||||
);
|
||||
|
||||
} );
|
8
node_modules/jquery/src/var/whitespace.js
generated
vendored
Normal file
8
node_modules/jquery/src/var/whitespace.js
generated
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
define( function() {
|
||||
|
||||
"use strict";
|
||||
|
||||
// https://www.w3.org/TR/css3-selectors/#whitespace
|
||||
return "[\\x20\\t\\r\\n\\f]";
|
||||
|
||||
} );
|
0
node_modules/moment-timezone/blah.tar.gz
generated
vendored
Normal file
0
node_modules/moment-timezone/blah.tar.gz
generated
vendored
Normal file
291
node_modules/moment-timezone/builds/moment-timezone-with-data-10-year-range.js
generated
vendored
291
node_modules/moment-timezone/builds/moment-timezone-with-data-10-year-range.js
generated
vendored
|
@ -1,5 +1,5 @@
|
|||
//! moment-timezone.js
|
||||
//! version : 0.5.34
|
||||
//! version : 0.5.36
|
||||
//! Copyright (c) JS Foundation and other contributors
|
||||
//! license : MIT
|
||||
//! github.com/moment/moment-timezone
|
||||
|
@ -29,7 +29,7 @@
|
|||
// return moment;
|
||||
// }
|
||||
|
||||
var VERSION = "0.5.34",
|
||||
var VERSION = "0.5.36",
|
||||
zones = {},
|
||||
links = {},
|
||||
countries = {},
|
||||
|
@ -691,7 +691,7 @@
|
|||
}
|
||||
|
||||
loadData({
|
||||
"version": "2021e",
|
||||
"version": "2022c",
|
||||
"zones": [
|
||||
"Africa/Abidjan|GMT|0|0||48e5",
|
||||
"Africa/Nairobi|EAT|-30|0||47e5",
|
||||
|
@ -699,102 +699,90 @@
|
|||
"Africa/Lagos|WAT|-10|0||17e6",
|
||||
"Africa/Maputo|CAT|-20|0||26e5",
|
||||
"Africa/Cairo|EET|-20|0||15e6",
|
||||
"Africa/Casablanca|+00 +01|0 -10|0101010101010101010101010101|1QyO0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00|32e5",
|
||||
"Europe/Paris|CET CEST|-10 -20|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|11e6",
|
||||
"Africa/Casablanca|+00 +01|0 -10|01010101010101010101010101|1T0q0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00|32e5",
|
||||
"Europe/Paris|CET CEST|-10 -20|01010101010101010101010|1T0p0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0|11e6",
|
||||
"Africa/Johannesburg|SAST|-20|0||84e5",
|
||||
"Africa/Juba|EAT CAT|-30 -20|01|24nx0|",
|
||||
"Africa/Khartoum|EAT CAT|-30 -20|01|1Usl0|51e5",
|
||||
"Africa/Sao_Tome|GMT WAT|0 -10|010|1UQN0 2q00|",
|
||||
"Africa/Windhoek|CAT WAT|-20 -10|01010|1QBA0 11B0 1nX0 11B0|32e4",
|
||||
"America/Adak|HST HDT|a0 90|01010101010101010101010|1Qto0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326",
|
||||
"America/Anchorage|AKST AKDT|90 80|01010101010101010101010|1Qtn0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4",
|
||||
"Africa/Windhoek|CAT WAT|-20 -10|010|1T3c0 11B0|32e4",
|
||||
"America/Adak|HST HDT|a0 90|01010101010101010101010|1ST00 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|326",
|
||||
"America/Anchorage|AKST AKDT|90 80|01010101010101010101010|1SSX0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|30e4",
|
||||
"America/Santo_Domingo|AST|40|0||29e5",
|
||||
"America/Fortaleza|-03|30|0||34e5",
|
||||
"America/Asuncion|-03 -04|30 40|01010101010101010101010|1QyP0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0|28e5",
|
||||
"America/Asuncion|-03 -04|30 40|01010101010101010101010|1T0r0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0|28e5",
|
||||
"America/Panama|EST|50|0||15e5",
|
||||
"America/Mexico_City|CST CDT|60 50|01010101010101010101010|1QBI0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0|20e6",
|
||||
"America/Mexico_City|CST CDT|60 50|01010101010101010101010|1T3k0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0|20e6",
|
||||
"America/Managua|CST|60|0||22e5",
|
||||
"America/La_Paz|-04|40|0||19e5",
|
||||
"America/Caracas|-04|40|0||29e5",
|
||||
"America/Lima|-05|50|0||11e6",
|
||||
"America/Denver|MST MDT|70 60|01010101010101010101010|1Qtl0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5",
|
||||
"America/Campo_Grande|-03 -04|30 40|01010101|1QkP0 1zd0 On0 1zd0 On0 1HB0 FX0|77e4",
|
||||
"America/Caracas|-0430 -04|4u 40|01|1QMT0|29e5",
|
||||
"America/Chicago|CST CDT|60 50|01010101010101010101010|1Qtk0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5",
|
||||
"America/Chihuahua|MST MDT|70 60|01010101010101010101010|1QBJ0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0|81e4",
|
||||
"America/Denver|MST MDT|70 60|01010101010101010101010|1SSV0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|26e5",
|
||||
"America/Campo_Grande|-03 -04|30 40|010101|1SKr0 1zd0 On0 1HB0 FX0|77e4",
|
||||
"America/Chicago|CST CDT|60 50|01010101010101010101010|1SSU0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|92e5",
|
||||
"America/Chihuahua|MST MDT|70 60|01010101010101010101010|1T3l0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0|81e4",
|
||||
"America/Phoenix|MST|70|0||42e5",
|
||||
"America/Whitehorse|PST PDT MST|80 70 70|01010101012|1Qtm0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1z90|23e3",
|
||||
"America/New_York|EST EDT|50 40|01010101010101010101010|1Qtj0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6",
|
||||
"America/Los_Angeles|PST PDT|80 70|01010101010101010101010|1Qtm0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6",
|
||||
"America/Halifax|AST ADT|40 30|01010101010101010101010|1Qti0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4",
|
||||
"America/Godthab|-03 -02|30 20|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|17e3",
|
||||
"America/Grand_Turk|AST EDT EST|40 40 50|0121212121212121212|1Vkv0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2",
|
||||
"America/Havana|CST CDT|50 40|01010101010101010101010|1Qth0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5",
|
||||
"America/Metlakatla|AKST AKDT PST|90 80 80|010101201010101010101010|1Qtn0 1zb0 Op0 1zb0 Op0 1zb0 uM0 jB0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2",
|
||||
"America/Miquelon|-03 -02|30 20|01010101010101010101010|1Qth0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2",
|
||||
"America/Whitehorse|PST PDT MST|80 70 70|010101012|1SSW0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1z90|23e3",
|
||||
"America/New_York|EST EDT|50 40|01010101010101010101010|1SST0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|21e6",
|
||||
"America/Los_Angeles|PST PDT|80 70|01010101010101010101010|1SSW0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|15e6",
|
||||
"America/Halifax|AST ADT|40 30|01010101010101010101010|1SSS0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|39e4",
|
||||
"America/Godthab|-03 -02|30 20|01010101010101010101010|1T0p0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0|17e3",
|
||||
"America/Grand_Turk|AST EDT EST|40 40 50|012121212121212121212|1Vkv0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|37e2",
|
||||
"America/Havana|CST CDT|50 40|01010101010101010101010|1SSR0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0|21e5",
|
||||
"America/Metlakatla|AKST AKDT PST|90 80 80|010120101010101010101010|1SSX0 1zb0 Op0 1zb0 uM0 jB0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|14e2",
|
||||
"America/Miquelon|-03 -02|30 20|01010101010101010101010|1SSR0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|61e2",
|
||||
"America/Noronha|-02|20|0||30e2",
|
||||
"America/Port-au-Prince|EST EDT|50 40|010101010101010101010|1SST0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5",
|
||||
"Antarctica/Palmer|-03 -04|30 40|010|1QSr0 Ap0|40",
|
||||
"America/Santiago|-03 -04|30 40|01010101010101010101010|1QSr0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0|62e5",
|
||||
"America/Sao_Paulo|-02 -03|20 30|01010101|1QkO0 1zd0 On0 1zd0 On0 1HB0 FX0|20e6",
|
||||
"Atlantic/Azores|-01 +00|10 0|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|25e4",
|
||||
"America/St_Johns|NST NDT|3u 2u|01010101010101010101010|1Qthu 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4",
|
||||
"Antarctica/Casey|+08 +11|-80 -b0|01010101|1RWg0 3m10 1o30 14k0 1kr0 12l0 1o01|10",
|
||||
"America/Santiago|-03 -04|30 40|01010101010101010101010|1Tk30 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|62e5",
|
||||
"America/Sao_Paulo|-02 -03|20 30|010101|1SKq0 1zd0 On0 1HB0 FX0|20e6",
|
||||
"Atlantic/Azores|-01 +00|10 0|01010101010101010101010|1T0p0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0|25e4",
|
||||
"America/St_Johns|NST NDT|3u 2u|01010101010101010101010|1SSRu 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|11e4",
|
||||
"Antarctica/Casey|+11 +08|-b0 -80|0101010|1Vkh0 1o30 14k0 1kr0 12l0 1o01|10",
|
||||
"Asia/Bangkok|+07|-70|0||15e6",
|
||||
"Asia/Vladivostok|+10|-a0|0||60e4",
|
||||
"Australia/Sydney|AEDT AEST|-b0 -a0|01010101010101010101010|1QBs0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0|40e5",
|
||||
"Australia/Sydney|AEDT AEST|-b0 -a0|01010101010101010101010|1T340 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|40e5",
|
||||
"Asia/Tashkent|+05|-50|0||23e5",
|
||||
"Pacific/Auckland|NZDT NZST|-d0 -c0|01010101010101010101010|1QBq0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00|14e5",
|
||||
"Asia/Baghdad|+03|-30|0||66e5",
|
||||
"Antarctica/Troll|+00 +02|0 -20|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|40",
|
||||
"Pacific/Auckland|NZDT NZST|-d0 -c0|01010101010101010101010|1T320 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00|14e5",
|
||||
"Europe/Istanbul|+03|-30|0||13e6",
|
||||
"Antarctica/Troll|+00 +02|0 -20|01010101010101010101010|1T0p0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0|40",
|
||||
"Asia/Dhaka|+06|-60|0||16e6",
|
||||
"Asia/Amman|EET EEST|-20 -30|01010101010101010101010|1QAK0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 LA0 1C00 LA0 1C00 Oo0 1zc0 Oo0 1C00 LA0 1C00|25e5",
|
||||
"Asia/Amman|EET EEST|-20 -30|01010101010101010101010|1T2m0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 LA0 1C00 LA0 1C00 Oo0 1zc0 Oo0 1C00 LA0 1C00 LA0 1C00|25e5",
|
||||
"Asia/Kamchatka|+12|-c0|0||18e4",
|
||||
"Asia/Dubai|+04|-40|0||39e5",
|
||||
"Asia/Barnaul|+06 +07|-60 -70|01|1QyI0|",
|
||||
"Asia/Beirut|EET EEST|-20 -30|01010101010101010101010|1QyK0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0|22e5",
|
||||
"Asia/Beirut|EET EEST|-20 -30|01010101010101010101010|1T0m0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0|22e5",
|
||||
"Asia/Kuala_Lumpur|+08|-80|0||71e5",
|
||||
"Asia/Kolkata|IST|-5u|0||15e6",
|
||||
"Asia/Chita|+08 +09|-80 -90|01|1QyG0|33e4",
|
||||
"Asia/Ulaanbaatar|+08 +09|-80 -90|010|1Qyi0 1cJ0|12e5",
|
||||
"Asia/Chita|+09|-90|0||33e4",
|
||||
"Asia/Shanghai|CST|-80|0||23e6",
|
||||
"Asia/Colombo|+0530|-5u|0||22e5",
|
||||
"Asia/Damascus|EET EEST|-20 -30|01010101010101010101010|1QxW0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|26e5",
|
||||
"Asia/Yakutsk|+09|-90|0||28e4",
|
||||
"Asia/Famagusta|EET EEST +03|-20 -30 -30|0120101010101010101010|1QyN0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|",
|
||||
"Asia/Gaza|EET EEST|-20 -30|01010101010101010101010|1Qyn0 1qL0 WN0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qo0 Xc0 1qo0 Xc0 1qo0 1200 1nA0 1200 1qo0 Xc0 1qo0|18e5",
|
||||
"Asia/Damascus|EET EEST|-20 -30|01010101010101010101010|1T2m0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0|26e5",
|
||||
"Asia/Famagusta|+03 EET EEST|-30 -20 -30|0121212121212121212121|1Urd0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0|",
|
||||
"Asia/Gaza|EET EEST|-20 -30|01010101010101010101010|1SXX0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qo0 XA0 1q00 XA0 1q00 12o0 1nc0 12o0 1nc0 12o0 1nc0 12o0 1q00|18e5",
|
||||
"Asia/Hong_Kong|HKT|-80|0||73e5",
|
||||
"Asia/Hovd|+07 +08|-70 -80|010|1Qyj0 1cJ0|81e3",
|
||||
"Europe/Istanbul|EET EEST +03|-20 -30 -30|012|1QyN0 15w0|13e6",
|
||||
"Asia/Jakarta|WIB|-70|0||31e6",
|
||||
"Asia/Jayapura|WIT|-90|0||26e4",
|
||||
"Asia/Jerusalem|IST IDT|-20 -30|01010101010101010101010|1Qy00 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0|81e4",
|
||||
"Asia/Jerusalem|IST IDT|-20 -30|01010101010101010101010|1SXA0 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0|81e4",
|
||||
"Asia/Kabul|+0430|-4u|0||46e5",
|
||||
"Asia/Karachi|PKT|-50|0||24e6",
|
||||
"Asia/Kathmandu|+0545|-5J|0||12e5",
|
||||
"Asia/Magadan|+10 +11|-a0 -b0|01|1QJQ0|95e3",
|
||||
"Asia/Sakhalin|+11|-b0|0||58e4",
|
||||
"Asia/Makassar|WITA|-80|0||15e5",
|
||||
"Asia/Manila|PST|-80|0||24e6",
|
||||
"Europe/Athens|EET EEST|-20 -30|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|35e5",
|
||||
"Asia/Novosibirsk|+06 +07|-60 -70|01|1Rmk0|15e5",
|
||||
"Europe/Athens|EET EEST|-20 -30|01010101010101010101010|1T0p0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0|35e5",
|
||||
"Asia/Pyongyang|KST KST|-8u -90|01|1VGf0|29e5",
|
||||
"Asia/Qyzylorda|+06 +05|-60 -50|01|1Xei0|73e4",
|
||||
"Asia/Rangoon|+0630|-6u|0||48e5",
|
||||
"Asia/Sakhalin|+10 +11|-a0 -b0|01|1QyE0|58e4",
|
||||
"Asia/Seoul|KST|-90|0||23e6",
|
||||
"Pacific/Bougainville|+11|-b0|0||18e4",
|
||||
"Asia/Tehran|+0330 +0430|-3u -4u|01010101010101010101010|1Qwku 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0|14e6",
|
||||
"Asia/Tehran|+0330 +0430|-3u -4u|0101010101010|1SWIu 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0|14e6",
|
||||
"Asia/Tokyo|JST|-90|0||38e6",
|
||||
"Asia/Tomsk|+06 +07|-60 -70|01|1QXU0|10e5",
|
||||
"Europe/Lisbon|WET WEST|0 -10|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5",
|
||||
"Europe/Lisbon|WET WEST|0 -10|01010101010101010101010|1T0p0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0|27e5",
|
||||
"Atlantic/Cape_Verde|-01|10|0||50e4",
|
||||
"Australia/Adelaide|ACDT ACST|-au -9u|01010101010101010101010|1QBsu 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0|11e5",
|
||||
"Australia/Adelaide|ACDT ACST|-au -9u|01010101010101010101010|1T34u 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|11e5",
|
||||
"Australia/Brisbane|AEST|-a0|0||20e5",
|
||||
"Australia/Darwin|ACST|-9u|0||12e4",
|
||||
"Australia/Eucla|+0845|-8J|0||368",
|
||||
"Australia/Lord_Howe|+11 +1030|-b0 -au|01010101010101010101010|1QBr0 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu|347",
|
||||
"Australia/Lord_Howe|+11 +1030|-b0 -au|01010101010101010101010|1T330 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu|347",
|
||||
"Australia/Perth|AWST|-80|0||18e5",
|
||||
"Pacific/Easter|-05 -06|50 60|01010101010101010101010|1QSr0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0|30e2",
|
||||
"Europe/Dublin|GMT IST|0 -10|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|12e5",
|
||||
"Pacific/Easter|-05 -06|50 60|01010101010101010101010|1Tk30 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|30e2",
|
||||
"Europe/Dublin|GMT IST|0 -10|01010101010101010101010|1T0p0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0|12e5",
|
||||
"Etc/GMT-1|+01|-10|0||",
|
||||
"Pacific/Fakaofo|+13|-d0|0||483",
|
||||
"Pacific/Kiritimati|+14|-e0|0||51e2",
|
||||
|
@ -807,22 +795,20 @@
|
|||
"Pacific/Pitcairn|-08|80|0||56",
|
||||
"Pacific/Gambier|-09|90|0||125",
|
||||
"Etc/UTC|UTC|0|0||",
|
||||
"Europe/Ulyanovsk|+03 +04|-30 -40|01|1QyL0|13e5",
|
||||
"Europe/London|GMT BST|0 -10|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|10e6",
|
||||
"Europe/Chisinau|EET EEST|-20 -30|01010101010101010101010|1QyM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|67e4",
|
||||
"Europe/London|GMT BST|0 -10|01010101010101010101010|1T0p0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0|10e6",
|
||||
"Europe/Chisinau|EET EEST|-20 -30|01010101010101010101010|1T0o0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0|67e4",
|
||||
"Europe/Moscow|MSK|-30|0||16e6",
|
||||
"Europe/Saratov|+03 +04|-30 -40|01|1Sfz0|",
|
||||
"Europe/Volgograd|+03 +04|-30 -40|010|1WQL0 5gn0|10e5",
|
||||
"Pacific/Honolulu|HST|a0|0||37e4",
|
||||
"MET|MET MEST|-10 -20|01010101010101010101010|1QyN0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|",
|
||||
"Pacific/Chatham|+1345 +1245|-dJ -cJ|01010101010101010101010|1QBq0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00|600",
|
||||
"Pacific/Apia|+14 +13|-e0 -d0|010101010101|1QBq0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0|37e3",
|
||||
"Pacific/Fiji|+13 +12|-d0 -c0|010101010101010101010|1Q6C0 1VA0 s00 1VA0 s00 1VA0 s00 20o0 pc0 2hc0 bc0 4q00 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0|88e4",
|
||||
"MET|MET MEST|-10 -20|01010101010101010101010|1T0p0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0|",
|
||||
"Pacific/Chatham|+1345 +1245|-dJ -cJ|01010101010101010101010|1T320 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00|600",
|
||||
"Pacific/Apia|+14 +13|-e0 -d0|0101010101|1T320 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0|37e3",
|
||||
"Pacific/Fiji|+13 +12|-d0 -c0|010101010101010101010|1Swe0 1VA0 s00 1VA0 s00 20o0 pc0 2hc0 bc0 4q00 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0|88e4",
|
||||
"Pacific/Guam|ChST|-a0|0||17e4",
|
||||
"Pacific/Marquesas|-0930|9u|0||86e2",
|
||||
"Pacific/Pago_Pago|SST|b0|0||37e2",
|
||||
"Pacific/Norfolk|+11 +12|-b0 -c0|0101010101010101|219P0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0|25e4",
|
||||
"Pacific/Tongatapu|+13 +14|-d0 -e0|010|1S4d0 s00|75e3"
|
||||
"Pacific/Norfolk|+11 +12|-b0 -c0|010101010101010101|219P0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|25e4",
|
||||
"Pacific/Tongatapu|+14 +13|-e0 -d0|01|1Swd0|75e3"
|
||||
],
|
||||
"links": [
|
||||
"Africa/Abidjan|Africa/Accra",
|
||||
|
@ -894,6 +880,13 @@
|
|||
"America/Anchorage|America/Yakutat",
|
||||
"America/Anchorage|US/Alaska",
|
||||
"America/Campo_Grande|America/Cuiaba",
|
||||
"America/Caracas|America/Boa_Vista",
|
||||
"America/Caracas|America/Guyana",
|
||||
"America/Caracas|America/La_Paz",
|
||||
"America/Caracas|America/Manaus",
|
||||
"America/Caracas|America/Porto_Velho",
|
||||
"America/Caracas|Brazil/West",
|
||||
"America/Caracas|Etc/GMT+4",
|
||||
"America/Chicago|America/Indiana/Knox",
|
||||
"America/Chicago|America/Indiana/Tell_City",
|
||||
"America/Chicago|America/Knox_IN",
|
||||
|
@ -948,9 +941,11 @@
|
|||
"America/Fortaleza|America/Mendoza",
|
||||
"America/Fortaleza|America/Montevideo",
|
||||
"America/Fortaleza|America/Paramaribo",
|
||||
"America/Fortaleza|America/Punta_Arenas",
|
||||
"America/Fortaleza|America/Recife",
|
||||
"America/Fortaleza|America/Rosario",
|
||||
"America/Fortaleza|America/Santarem",
|
||||
"America/Fortaleza|Antarctica/Palmer",
|
||||
"America/Fortaleza|Antarctica/Rothera",
|
||||
"America/Fortaleza|Atlantic/Stanley",
|
||||
"America/Fortaleza|Etc/GMT+3",
|
||||
|
@ -962,12 +957,6 @@
|
|||
"America/Halifax|Atlantic/Bermuda",
|
||||
"America/Halifax|Canada/Atlantic",
|
||||
"America/Havana|Cuba",
|
||||
"America/La_Paz|America/Boa_Vista",
|
||||
"America/La_Paz|America/Guyana",
|
||||
"America/La_Paz|America/Manaus",
|
||||
"America/La_Paz|America/Porto_Velho",
|
||||
"America/La_Paz|Brazil/West",
|
||||
"America/La_Paz|Etc/GMT+4",
|
||||
"America/Lima|America/Bogota",
|
||||
"America/Lima|America/Eirunepe",
|
||||
"America/Lima|America/Guayaquil",
|
||||
|
@ -1012,6 +1001,7 @@
|
|||
"America/New_York|America/Nassau",
|
||||
"America/New_York|America/Nipigon",
|
||||
"America/New_York|America/Pangnirtung",
|
||||
"America/New_York|America/Port-au-Prince",
|
||||
"America/New_York|America/Thunder_Bay",
|
||||
"America/New_York|America/Toronto",
|
||||
"America/New_York|Canada/Eastern",
|
||||
|
@ -1063,25 +1053,24 @@
|
|||
"America/St_Johns|Canada/Newfoundland",
|
||||
"America/Whitehorse|America/Dawson",
|
||||
"America/Whitehorse|Canada/Yukon",
|
||||
"Antarctica/Palmer|America/Punta_Arenas",
|
||||
"Asia/Baghdad|Antarctica/Syowa",
|
||||
"Asia/Baghdad|Asia/Aden",
|
||||
"Asia/Baghdad|Asia/Bahrain",
|
||||
"Asia/Baghdad|Asia/Kuwait",
|
||||
"Asia/Baghdad|Asia/Qatar",
|
||||
"Asia/Baghdad|Asia/Riyadh",
|
||||
"Asia/Baghdad|Etc/GMT-3",
|
||||
"Asia/Baghdad|Europe/Kirov",
|
||||
"Asia/Baghdad|Europe/Minsk",
|
||||
"Asia/Bangkok|Antarctica/Davis",
|
||||
"Asia/Bangkok|Asia/Barnaul",
|
||||
"Asia/Bangkok|Asia/Ho_Chi_Minh",
|
||||
"Asia/Bangkok|Asia/Hovd",
|
||||
"Asia/Bangkok|Asia/Krasnoyarsk",
|
||||
"Asia/Bangkok|Asia/Novokuznetsk",
|
||||
"Asia/Bangkok|Asia/Novosibirsk",
|
||||
"Asia/Bangkok|Asia/Phnom_Penh",
|
||||
"Asia/Bangkok|Asia/Saigon",
|
||||
"Asia/Bangkok|Asia/Tomsk",
|
||||
"Asia/Bangkok|Asia/Vientiane",
|
||||
"Asia/Bangkok|Etc/GMT-7",
|
||||
"Asia/Bangkok|Indian/Christmas",
|
||||
"Asia/Chita|Asia/Dili",
|
||||
"Asia/Chita|Asia/Khandyga",
|
||||
"Asia/Chita|Asia/Yakutsk",
|
||||
"Asia/Chita|Etc/GMT-9",
|
||||
"Asia/Chita|Pacific/Palau",
|
||||
"Asia/Dhaka|Antarctica/Vostok",
|
||||
"Asia/Dhaka|Asia/Almaty",
|
||||
"Asia/Dhaka|Asia/Bishkek",
|
||||
|
@ -1099,7 +1088,10 @@
|
|||
"Asia/Dubai|Asia/Tbilisi",
|
||||
"Asia/Dubai|Asia/Yerevan",
|
||||
"Asia/Dubai|Etc/GMT-4",
|
||||
"Asia/Dubai|Europe/Astrakhan",
|
||||
"Asia/Dubai|Europe/Samara",
|
||||
"Asia/Dubai|Europe/Saratov",
|
||||
"Asia/Dubai|Europe/Ulyanovsk",
|
||||
"Asia/Dubai|Indian/Mahe",
|
||||
"Asia/Dubai|Indian/Mauritius",
|
||||
"Asia/Dubai|Indian/Reunion",
|
||||
|
@ -1121,14 +1113,27 @@
|
|||
"Asia/Kathmandu|Asia/Katmandu",
|
||||
"Asia/Kolkata|Asia/Calcutta",
|
||||
"Asia/Kuala_Lumpur|Asia/Brunei",
|
||||
"Asia/Kuala_Lumpur|Asia/Choibalsan",
|
||||
"Asia/Kuala_Lumpur|Asia/Irkutsk",
|
||||
"Asia/Kuala_Lumpur|Asia/Kuching",
|
||||
"Asia/Kuala_Lumpur|Asia/Singapore",
|
||||
"Asia/Kuala_Lumpur|Asia/Ulaanbaatar",
|
||||
"Asia/Kuala_Lumpur|Asia/Ulan_Bator",
|
||||
"Asia/Kuala_Lumpur|Etc/GMT-8",
|
||||
"Asia/Kuala_Lumpur|Singapore",
|
||||
"Asia/Makassar|Asia/Ujung_Pandang",
|
||||
"Asia/Rangoon|Asia/Yangon",
|
||||
"Asia/Rangoon|Indian/Cocos",
|
||||
"Asia/Sakhalin|Asia/Magadan",
|
||||
"Asia/Sakhalin|Asia/Srednekolymsk",
|
||||
"Asia/Sakhalin|Etc/GMT-11",
|
||||
"Asia/Sakhalin|Pacific/Bougainville",
|
||||
"Asia/Sakhalin|Pacific/Efate",
|
||||
"Asia/Sakhalin|Pacific/Guadalcanal",
|
||||
"Asia/Sakhalin|Pacific/Kosrae",
|
||||
"Asia/Sakhalin|Pacific/Noumea",
|
||||
"Asia/Sakhalin|Pacific/Pohnpei",
|
||||
"Asia/Sakhalin|Pacific/Ponape",
|
||||
"Asia/Seoul|ROK",
|
||||
"Asia/Shanghai|Asia/Chongqing",
|
||||
"Asia/Shanghai|Asia/Chungking",
|
||||
|
@ -1153,8 +1158,6 @@
|
|||
"Asia/Tashkent|Indian/Maldives",
|
||||
"Asia/Tehran|Iran",
|
||||
"Asia/Tokyo|Japan",
|
||||
"Asia/Ulaanbaatar|Asia/Choibalsan",
|
||||
"Asia/Ulaanbaatar|Asia/Ulan_Bator",
|
||||
"Asia/Vladivostok|Antarctica/DumontDUrville",
|
||||
"Asia/Vladivostok|Asia/Ust-Nera",
|
||||
"Asia/Vladivostok|Etc/GMT-10",
|
||||
|
@ -1162,10 +1165,6 @@
|
|||
"Asia/Vladivostok|Pacific/Port_Moresby",
|
||||
"Asia/Vladivostok|Pacific/Truk",
|
||||
"Asia/Vladivostok|Pacific/Yap",
|
||||
"Asia/Yakutsk|Asia/Dili",
|
||||
"Asia/Yakutsk|Asia/Khandyga",
|
||||
"Asia/Yakutsk|Etc/GMT-9",
|
||||
"Asia/Yakutsk|Pacific/Palau",
|
||||
"Atlantic/Azores|America/Scoresbysund",
|
||||
"Atlantic/Cape_Verde|Etc/GMT+1",
|
||||
"Australia/Adelaide|Australia/Broken_Hill",
|
||||
|
@ -1197,6 +1196,7 @@
|
|||
"Europe/Athens|Europe/Bucharest",
|
||||
"Europe/Athens|Europe/Helsinki",
|
||||
"Europe/Athens|Europe/Kiev",
|
||||
"Europe/Athens|Europe/Kyiv",
|
||||
"Europe/Athens|Europe/Mariehamn",
|
||||
"Europe/Athens|Europe/Nicosia",
|
||||
"Europe/Athens|Europe/Riga",
|
||||
|
@ -1207,7 +1207,17 @@
|
|||
"Europe/Athens|Europe/Zaporozhye",
|
||||
"Europe/Chisinau|Europe/Tiraspol",
|
||||
"Europe/Dublin|Eire",
|
||||
"Europe/Istanbul|Antarctica/Syowa",
|
||||
"Europe/Istanbul|Asia/Aden",
|
||||
"Europe/Istanbul|Asia/Baghdad",
|
||||
"Europe/Istanbul|Asia/Bahrain",
|
||||
"Europe/Istanbul|Asia/Istanbul",
|
||||
"Europe/Istanbul|Asia/Kuwait",
|
||||
"Europe/Istanbul|Asia/Qatar",
|
||||
"Europe/Istanbul|Asia/Riyadh",
|
||||
"Europe/Istanbul|Etc/GMT-3",
|
||||
"Europe/Istanbul|Europe/Kirov",
|
||||
"Europe/Istanbul|Europe/Minsk",
|
||||
"Europe/Istanbul|Turkey",
|
||||
"Europe/Lisbon|Atlantic/Canary",
|
||||
"Europe/Lisbon|Atlantic/Faeroe",
|
||||
|
@ -1258,18 +1268,9 @@
|
|||
"Europe/Paris|Europe/Zagreb",
|
||||
"Europe/Paris|Europe/Zurich",
|
||||
"Europe/Paris|Poland",
|
||||
"Europe/Ulyanovsk|Europe/Astrakhan",
|
||||
"Pacific/Auckland|Antarctica/McMurdo",
|
||||
"Pacific/Auckland|Antarctica/South_Pole",
|
||||
"Pacific/Auckland|NZ",
|
||||
"Pacific/Bougainville|Asia/Srednekolymsk",
|
||||
"Pacific/Bougainville|Etc/GMT-11",
|
||||
"Pacific/Bougainville|Pacific/Efate",
|
||||
"Pacific/Bougainville|Pacific/Guadalcanal",
|
||||
"Pacific/Bougainville|Pacific/Kosrae",
|
||||
"Pacific/Bougainville|Pacific/Noumea",
|
||||
"Pacific/Bougainville|Pacific/Pohnpei",
|
||||
"Pacific/Bougainville|Pacific/Ponape",
|
||||
"Pacific/Chatham|NZ-CHAT",
|
||||
"Pacific/Easter|Chile/EasterIsland",
|
||||
"Pacific/Fakaofo|Etc/GMT-13",
|
||||
|
@ -1294,17 +1295,17 @@
|
|||
"AD|Europe/Andorra",
|
||||
"AE|Asia/Dubai",
|
||||
"AF|Asia/Kabul",
|
||||
"AG|America/Port_of_Spain America/Antigua",
|
||||
"AI|America/Port_of_Spain America/Anguilla",
|
||||
"AG|America/Puerto_Rico America/Antigua",
|
||||
"AI|America/Puerto_Rico America/Anguilla",
|
||||
"AL|Europe/Tirane",
|
||||
"AM|Asia/Yerevan",
|
||||
"AO|Africa/Lagos Africa/Luanda",
|
||||
"AQ|Antarctica/Casey Antarctica/Davis Antarctica/DumontDUrville Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Syowa Antarctica/Troll Antarctica/Vostok Pacific/Auckland Antarctica/McMurdo",
|
||||
"AQ|Antarctica/Casey Antarctica/Davis Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Troll Asia/Urumqi Pacific/Auckland Pacific/Port_Moresby Asia/Riyadh Antarctica/McMurdo Antarctica/DumontDUrville Antarctica/Syowa Antarctica/Vostok",
|
||||
"AR|America/Argentina/Buenos_Aires America/Argentina/Cordoba America/Argentina/Salta America/Argentina/Jujuy America/Argentina/Tucuman America/Argentina/Catamarca America/Argentina/La_Rioja America/Argentina/San_Juan America/Argentina/Mendoza America/Argentina/San_Luis America/Argentina/Rio_Gallegos America/Argentina/Ushuaia",
|
||||
"AS|Pacific/Pago_Pago",
|
||||
"AT|Europe/Vienna",
|
||||
"AU|Australia/Lord_Howe Antarctica/Macquarie Australia/Hobart Australia/Melbourne Australia/Sydney Australia/Broken_Hill Australia/Brisbane Australia/Lindeman Australia/Adelaide Australia/Darwin Australia/Perth Australia/Eucla",
|
||||
"AW|America/Curacao America/Aruba",
|
||||
"AW|America/Puerto_Rico America/Aruba",
|
||||
"AX|Europe/Helsinki Europe/Mariehamn",
|
||||
"AZ|Asia/Baku",
|
||||
"BA|Europe/Belgrade Europe/Sarajevo",
|
||||
|
@ -1316,19 +1317,19 @@
|
|||
"BH|Asia/Qatar Asia/Bahrain",
|
||||
"BI|Africa/Maputo Africa/Bujumbura",
|
||||
"BJ|Africa/Lagos Africa/Porto-Novo",
|
||||
"BL|America/Port_of_Spain America/St_Barthelemy",
|
||||
"BL|America/Puerto_Rico America/St_Barthelemy",
|
||||
"BM|Atlantic/Bermuda",
|
||||
"BN|Asia/Brunei",
|
||||
"BN|Asia/Kuching Asia/Brunei",
|
||||
"BO|America/La_Paz",
|
||||
"BQ|America/Curacao America/Kralendijk",
|
||||
"BQ|America/Puerto_Rico America/Kralendijk",
|
||||
"BR|America/Noronha America/Belem America/Fortaleza America/Recife America/Araguaina America/Maceio America/Bahia America/Sao_Paulo America/Campo_Grande America/Cuiaba America/Santarem America/Porto_Velho America/Boa_Vista America/Manaus America/Eirunepe America/Rio_Branco",
|
||||
"BS|America/Nassau",
|
||||
"BS|America/Toronto America/Nassau",
|
||||
"BT|Asia/Thimphu",
|
||||
"BW|Africa/Maputo Africa/Gaborone",
|
||||
"BY|Europe/Minsk",
|
||||
"BZ|America/Belize",
|
||||
"CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Blanc-Sablon America/Toronto America/Nipigon America/Thunder_Bay America/Iqaluit America/Pangnirtung America/Atikokan America/Winnipeg America/Rainy_River America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Yellowknife America/Inuvik America/Creston America/Dawson_Creek America/Fort_Nelson America/Whitehorse America/Dawson America/Vancouver",
|
||||
"CC|Indian/Cocos",
|
||||
"CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Toronto America/Nipigon America/Thunder_Bay America/Iqaluit America/Pangnirtung America/Winnipeg America/Rainy_River America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Yellowknife America/Inuvik America/Dawson_Creek America/Fort_Nelson America/Whitehorse America/Dawson America/Vancouver America/Panama America/Puerto_Rico America/Phoenix America/Blanc-Sablon America/Atikokan America/Creston",
|
||||
"CC|Asia/Yangon Indian/Cocos",
|
||||
"CD|Africa/Maputo Africa/Lagos Africa/Kinshasa Africa/Lubumbashi",
|
||||
"CF|Africa/Lagos Africa/Bangui",
|
||||
"CG|Africa/Lagos Africa/Brazzaville",
|
||||
|
@ -1342,14 +1343,14 @@
|
|||
"CR|America/Costa_Rica",
|
||||
"CU|America/Havana",
|
||||
"CV|Atlantic/Cape_Verde",
|
||||
"CW|America/Curacao",
|
||||
"CX|Indian/Christmas",
|
||||
"CW|America/Puerto_Rico America/Curacao",
|
||||
"CX|Asia/Bangkok Indian/Christmas",
|
||||
"CY|Asia/Nicosia Asia/Famagusta",
|
||||
"CZ|Europe/Prague",
|
||||
"DE|Europe/Zurich Europe/Berlin Europe/Busingen",
|
||||
"DJ|Africa/Nairobi Africa/Djibouti",
|
||||
"DK|Europe/Copenhagen",
|
||||
"DM|America/Port_of_Spain America/Dominica",
|
||||
"DK|Europe/Berlin Europe/Copenhagen",
|
||||
"DM|America/Puerto_Rico America/Dominica",
|
||||
"DO|America/Santo_Domingo",
|
||||
"DZ|Africa/Algiers",
|
||||
"EC|America/Guayaquil Pacific/Galapagos",
|
||||
|
@ -1362,21 +1363,21 @@
|
|||
"FI|Europe/Helsinki",
|
||||
"FJ|Pacific/Fiji",
|
||||
"FK|Atlantic/Stanley",
|
||||
"FM|Pacific/Chuuk Pacific/Pohnpei Pacific/Kosrae",
|
||||
"FM|Pacific/Kosrae Pacific/Port_Moresby Pacific/Guadalcanal Pacific/Chuuk Pacific/Pohnpei",
|
||||
"FO|Atlantic/Faroe",
|
||||
"FR|Europe/Paris",
|
||||
"GA|Africa/Lagos Africa/Libreville",
|
||||
"GB|Europe/London",
|
||||
"GD|America/Port_of_Spain America/Grenada",
|
||||
"GD|America/Puerto_Rico America/Grenada",
|
||||
"GE|Asia/Tbilisi",
|
||||
"GF|America/Cayenne",
|
||||
"GG|Europe/London Europe/Guernsey",
|
||||
"GH|Africa/Accra",
|
||||
"GH|Africa/Abidjan Africa/Accra",
|
||||
"GI|Europe/Gibraltar",
|
||||
"GL|America/Nuuk America/Danmarkshavn America/Scoresbysund America/Thule",
|
||||
"GM|Africa/Abidjan Africa/Banjul",
|
||||
"GN|Africa/Abidjan Africa/Conakry",
|
||||
"GP|America/Port_of_Spain America/Guadeloupe",
|
||||
"GP|America/Puerto_Rico America/Guadeloupe",
|
||||
"GQ|Africa/Lagos Africa/Malabo",
|
||||
"GR|Europe/Athens",
|
||||
"GS|Atlantic/South_Georgia",
|
||||
|
@ -1397,7 +1398,7 @@
|
|||
"IO|Indian/Chagos",
|
||||
"IQ|Asia/Baghdad",
|
||||
"IR|Asia/Tehran",
|
||||
"IS|Atlantic/Reykjavik",
|
||||
"IS|Africa/Abidjan Atlantic/Reykjavik",
|
||||
"IT|Europe/Rome",
|
||||
"JE|Europe/London Europe/Jersey",
|
||||
"JM|America/Jamaica",
|
||||
|
@ -1406,9 +1407,9 @@
|
|||
"KE|Africa/Nairobi",
|
||||
"KG|Asia/Bishkek",
|
||||
"KH|Asia/Bangkok Asia/Phnom_Penh",
|
||||
"KI|Pacific/Tarawa Pacific/Enderbury Pacific/Kiritimati",
|
||||
"KI|Pacific/Tarawa Pacific/Kanton Pacific/Kiritimati",
|
||||
"KM|Africa/Nairobi Indian/Comoro",
|
||||
"KN|America/Port_of_Spain America/St_Kitts",
|
||||
"KN|America/Puerto_Rico America/St_Kitts",
|
||||
"KP|Asia/Pyongyang",
|
||||
"KR|Asia/Seoul",
|
||||
"KW|Asia/Riyadh Asia/Kuwait",
|
||||
|
@ -1416,22 +1417,22 @@
|
|||
"KZ|Asia/Almaty Asia/Qyzylorda Asia/Qostanay Asia/Aqtobe Asia/Aqtau Asia/Atyrau Asia/Oral",
|
||||
"LA|Asia/Bangkok Asia/Vientiane",
|
||||
"LB|Asia/Beirut",
|
||||
"LC|America/Port_of_Spain America/St_Lucia",
|
||||
"LC|America/Puerto_Rico America/St_Lucia",
|
||||
"LI|Europe/Zurich Europe/Vaduz",
|
||||
"LK|Asia/Colombo",
|
||||
"LR|Africa/Monrovia",
|
||||
"LS|Africa/Johannesburg Africa/Maseru",
|
||||
"LT|Europe/Vilnius",
|
||||
"LU|Europe/Luxembourg",
|
||||
"LU|Europe/Brussels Europe/Luxembourg",
|
||||
"LV|Europe/Riga",
|
||||
"LY|Africa/Tripoli",
|
||||
"MA|Africa/Casablanca",
|
||||
"MC|Europe/Monaco",
|
||||
"MC|Europe/Paris Europe/Monaco",
|
||||
"MD|Europe/Chisinau",
|
||||
"ME|Europe/Belgrade Europe/Podgorica",
|
||||
"MF|America/Port_of_Spain America/Marigot",
|
||||
"MF|America/Puerto_Rico America/Marigot",
|
||||
"MG|Africa/Nairobi Indian/Antananarivo",
|
||||
"MH|Pacific/Majuro Pacific/Kwajalein",
|
||||
"MH|Pacific/Tarawa Pacific/Kwajalein Pacific/Majuro",
|
||||
"MK|Europe/Belgrade Europe/Skopje",
|
||||
"ML|Africa/Abidjan Africa/Bamako",
|
||||
"MM|Asia/Yangon",
|
||||
|
@ -1440,13 +1441,13 @@
|
|||
"MP|Pacific/Guam Pacific/Saipan",
|
||||
"MQ|America/Martinique",
|
||||
"MR|Africa/Abidjan Africa/Nouakchott",
|
||||
"MS|America/Port_of_Spain America/Montserrat",
|
||||
"MS|America/Puerto_Rico America/Montserrat",
|
||||
"MT|Europe/Malta",
|
||||
"MU|Indian/Mauritius",
|
||||
"MV|Indian/Maldives",
|
||||
"MW|Africa/Maputo Africa/Blantyre",
|
||||
"MX|America/Mexico_City America/Cancun America/Merida America/Monterrey America/Matamoros America/Mazatlan America/Chihuahua America/Ojinaga America/Hermosillo America/Tijuana America/Bahia_Banderas",
|
||||
"MY|Asia/Kuala_Lumpur Asia/Kuching",
|
||||
"MY|Asia/Kuching Asia/Singapore Asia/Kuala_Lumpur",
|
||||
"MZ|Africa/Maputo",
|
||||
"NA|Africa/Windhoek",
|
||||
"NC|Pacific/Noumea",
|
||||
|
@ -1454,8 +1455,8 @@
|
|||
"NF|Pacific/Norfolk",
|
||||
"NG|Africa/Lagos",
|
||||
"NI|America/Managua",
|
||||
"NL|Europe/Amsterdam",
|
||||
"NO|Europe/Oslo",
|
||||
"NL|Europe/Brussels Europe/Amsterdam",
|
||||
"NO|Europe/Berlin Europe/Oslo",
|
||||
"NP|Asia/Kathmandu",
|
||||
"NR|Pacific/Nauru",
|
||||
"NU|Pacific/Niue",
|
||||
|
@ -1476,20 +1477,20 @@
|
|||
"PW|Pacific/Palau",
|
||||
"PY|America/Asuncion",
|
||||
"QA|Asia/Qatar",
|
||||
"RE|Indian/Reunion",
|
||||
"RE|Asia/Dubai Indian/Reunion",
|
||||
"RO|Europe/Bucharest",
|
||||
"RS|Europe/Belgrade",
|
||||
"RU|Europe/Kaliningrad Europe/Moscow Europe/Simferopol Europe/Kirov Europe/Volgograd Europe/Astrakhan Europe/Saratov Europe/Ulyanovsk Europe/Samara Asia/Yekaterinburg Asia/Omsk Asia/Novosibirsk Asia/Barnaul Asia/Tomsk Asia/Novokuznetsk Asia/Krasnoyarsk Asia/Irkutsk Asia/Chita Asia/Yakutsk Asia/Khandyga Asia/Vladivostok Asia/Ust-Nera Asia/Magadan Asia/Sakhalin Asia/Srednekolymsk Asia/Kamchatka Asia/Anadyr",
|
||||
"RW|Africa/Maputo Africa/Kigali",
|
||||
"SA|Asia/Riyadh",
|
||||
"SB|Pacific/Guadalcanal",
|
||||
"SC|Indian/Mahe",
|
||||
"SC|Asia/Dubai Indian/Mahe",
|
||||
"SD|Africa/Khartoum",
|
||||
"SE|Europe/Stockholm",
|
||||
"SE|Europe/Berlin Europe/Stockholm",
|
||||
"SG|Asia/Singapore",
|
||||
"SH|Africa/Abidjan Atlantic/St_Helena",
|
||||
"SI|Europe/Belgrade Europe/Ljubljana",
|
||||
"SJ|Europe/Oslo Arctic/Longyearbyen",
|
||||
"SJ|Europe/Berlin Arctic/Longyearbyen",
|
||||
"SK|Europe/Prague Europe/Bratislava",
|
||||
"SL|Africa/Abidjan Africa/Freetown",
|
||||
"SM|Europe/Rome Europe/San_Marino",
|
||||
|
@ -1499,12 +1500,12 @@
|
|||
"SS|Africa/Juba",
|
||||
"ST|Africa/Sao_Tome",
|
||||
"SV|America/El_Salvador",
|
||||
"SX|America/Curacao America/Lower_Princes",
|
||||
"SX|America/Puerto_Rico America/Lower_Princes",
|
||||
"SY|Asia/Damascus",
|
||||
"SZ|Africa/Johannesburg Africa/Mbabane",
|
||||
"TC|America/Grand_Turk",
|
||||
"TD|Africa/Ndjamena",
|
||||
"TF|Indian/Reunion Indian/Kerguelen",
|
||||
"TF|Asia/Dubai Indian/Maldives Indian/Kerguelen",
|
||||
"TG|Africa/Abidjan Africa/Lome",
|
||||
"TH|Asia/Bangkok",
|
||||
"TJ|Asia/Dushanbe",
|
||||
|
@ -1514,24 +1515,24 @@
|
|||
"TN|Africa/Tunis",
|
||||
"TO|Pacific/Tongatapu",
|
||||
"TR|Europe/Istanbul",
|
||||
"TT|America/Port_of_Spain",
|
||||
"TV|Pacific/Funafuti",
|
||||
"TT|America/Puerto_Rico America/Port_of_Spain",
|
||||
"TV|Pacific/Tarawa Pacific/Funafuti",
|
||||
"TW|Asia/Taipei",
|
||||
"TZ|Africa/Nairobi Africa/Dar_es_Salaam",
|
||||
"UA|Europe/Simferopol Europe/Kiev Europe/Uzhgorod Europe/Zaporozhye",
|
||||
"UA|Europe/Simferopol Europe/Kyiv Europe/Uzhgorod Europe/Zaporozhye",
|
||||
"UG|Africa/Nairobi Africa/Kampala",
|
||||
"UM|Pacific/Pago_Pago Pacific/Wake Pacific/Honolulu Pacific/Midway",
|
||||
"UM|Pacific/Pago_Pago Pacific/Tarawa Pacific/Honolulu Pacific/Midway Pacific/Wake",
|
||||
"US|America/New_York America/Detroit America/Kentucky/Louisville America/Kentucky/Monticello America/Indiana/Indianapolis America/Indiana/Vincennes America/Indiana/Winamac America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Vevay America/Chicago America/Indiana/Tell_City America/Indiana/Knox America/Menominee America/North_Dakota/Center America/North_Dakota/New_Salem America/North_Dakota/Beulah America/Denver America/Boise America/Phoenix America/Los_Angeles America/Anchorage America/Juneau America/Sitka America/Metlakatla America/Yakutat America/Nome America/Adak Pacific/Honolulu",
|
||||
"UY|America/Montevideo",
|
||||
"UZ|Asia/Samarkand Asia/Tashkent",
|
||||
"VA|Europe/Rome Europe/Vatican",
|
||||
"VC|America/Port_of_Spain America/St_Vincent",
|
||||
"VC|America/Puerto_Rico America/St_Vincent",
|
||||
"VE|America/Caracas",
|
||||
"VG|America/Port_of_Spain America/Tortola",
|
||||
"VI|America/Port_of_Spain America/St_Thomas",
|
||||
"VG|America/Puerto_Rico America/Tortola",
|
||||
"VI|America/Puerto_Rico America/St_Thomas",
|
||||
"VN|Asia/Bangkok Asia/Ho_Chi_Minh",
|
||||
"VU|Pacific/Efate",
|
||||
"WF|Pacific/Wallis",
|
||||
"WF|Pacific/Tarawa Pacific/Wallis",
|
||||
"WS|Pacific/Apia",
|
||||
"YE|Asia/Riyadh Asia/Aden",
|
||||
"YT|Africa/Nairobi Indian/Mayotte",
|
||||
|
|
2
node_modules/moment-timezone/builds/moment-timezone-with-data-10-year-range.min.js
generated
vendored
2
node_modules/moment-timezone/builds/moment-timezone-with-data-10-year-range.min.js
generated
vendored
File diff suppressed because one or more lines are too long
113
node_modules/moment-timezone/builds/moment-timezone-with-data-1970-2030.js
generated
vendored
113
node_modules/moment-timezone/builds/moment-timezone-with-data-1970-2030.js
generated
vendored
|
@ -1,5 +1,5 @@
|
|||
//! moment-timezone.js
|
||||
//! version : 0.5.34
|
||||
//! version : 0.5.36
|
||||
//! Copyright (c) JS Foundation and other contributors
|
||||
//! license : MIT
|
||||
//! github.com/moment/moment-timezone
|
||||
|
@ -29,7 +29,7 @@
|
|||
// return moment;
|
||||
// }
|
||||
|
||||
var VERSION = "0.5.34",
|
||||
var VERSION = "0.5.36",
|
||||
zones = {},
|
||||
links = {},
|
||||
countries = {},
|
||||
|
@ -691,7 +691,7 @@
|
|||
}
|
||||
|
||||
loadData({
|
||||
"version": "2021e",
|
||||
"version": "2022c",
|
||||
"zones": [
|
||||
"Africa/Abidjan|GMT|0|0||48e5",
|
||||
"Africa/Nairobi|EAT|-30|0||47e5",
|
||||
|
@ -821,7 +821,7 @@
|
|||
"America/Regina|CST|60|0||19e4",
|
||||
"America/Resolute|CST CDT EST|60 50 50|0101010101010101010101010101010101010101012101010101012101010101010101010101010101010101010101010101010|p7I0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229",
|
||||
"America/Santarem|-04 -03|40 30|01010101|CxE0 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4",
|
||||
"America/Santiago|-03 -04|30 40|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|yP0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0|62e5",
|
||||
"America/Santiago|-03 -04|30 40|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|yP0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0|62e5",
|
||||
"America/Santo_Domingo|-0430 EST AST|4u 50 40|0101010101212|ksu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5",
|
||||
"America/Sao_Paulo|-03 -02|30 20|010101010101010101010101010101010101010101010101010101010101010101010|CxD0 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|20e6",
|
||||
"America/Scoresbysund|-02 -01 +00|20 10 0|0102121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|oXg0 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|452",
|
||||
|
@ -874,8 +874,8 @@
|
|||
"Asia/Dubai|+04|-40|0||39e5",
|
||||
"Asia/Dushanbe|+06 +07 +05|-60 -70 -50|0101010101010101010102|rn60 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4",
|
||||
"Asia/Famagusta|EET EEST +03|-20 -30 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101012010101010101010101010101010|cPa0 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|",
|
||||
"Asia/Gaza|IST IDT EET EEST|-20 -30 -20 -30|010101010101010101010101010101023232323232323232323232323232323232323232323232323232323232323232323232|aXa0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nA0 1210 1qL0 WN0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qo0 Xc0 1qo0 Xc0 1qo0 1200 1nA0 1200 1qo0 Xc0 1qo0 Xc0 1qo0 Xc0 1qo0 Xc0 1qo0 1200 1nA0|18e5",
|
||||
"Asia/Hebron|IST IDT EET EEST|-20 -30 -20 -30|01010101010101010101010101010102323232323232323232323232323232323232323232323232323232323232323232323232|aXa0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nA0 1210 1qL0 WN0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qo0 Xc0 1qo0 Xc0 1qo0 1200 1nA0 1200 1qo0 Xc0 1qo0 Xc0 1qo0 Xc0 1qo0 Xc0 1qo0 1200 1nA0|25e4",
|
||||
"Asia/Gaza|IST IDT EET EEST|-20 -30 -20 -30|010101010101010101010101010101023232323232323232323232323232323232323232323232323232323232323232323232|aXa0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nA0 1210 1qL0 WN0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qo0 XA0 1q00 XA0 1q00 12o0 1nc0 12o0 1nc0 12o0 1nc0 12o0 1q00 XA0 1q00 XA0 1q00 12o0 1nc0|18e5",
|
||||
"Asia/Hebron|IST IDT EET EEST|-20 -30 -20 -30|01010101010101010101010101010102323232323232323232323232323232323232323232323232323232323232323232323232|aXa0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nA0 1210 1qL0 WN0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qo0 XA0 1q00 XA0 1q00 12o0 1nc0 12o0 1nc0 12o0 1nc0 12o0 1q00 XA0 1q00 XA0 1q00 12o0 1nc0|25e4",
|
||||
"Asia/Ho_Chi_Minh|+08 +07|-80 -70|01|dfs0|90e5",
|
||||
"Asia/Hong_Kong|HKT HKST|-80 -90|01010101010101010|H7u 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5",
|
||||
"Asia/Hovd|+06 +07 +08|-60 -70 -80|01212121212121212121212121212121212121212121212121|jsG0 cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|81e3",
|
||||
|
@ -912,7 +912,7 @@
|
|||
"Asia/Taipei|CST CDT|-80 -90|0101010|akg0 1db0 1cN0 1db0 97B0 AL0|74e5",
|
||||
"Asia/Tashkent|+06 +07 +05|-60 -70 -50|0101010101010101010102|rn60 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5",
|
||||
"Asia/Tbilisi|+04 +05 +03|-40 -50 -30|01010101010101010101020202010101010101010101020|rn80 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cK0 1cL0 1cN0 1cL0 1cN0 2pz0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0|11e5",
|
||||
"Asia/Tehran|+0330 +04 +05 +0430|-3u -40 -50 -4u|0121030303030303030303030303030303030303030303030303030303030303030303030303030303030|j4ku TXu 1pz0 sN0 vAu 1cL0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0|14e6",
|
||||
"Asia/Tehran|+0330 +0430 +04 +05|-3u -4u -40 -50|0123201010101010101010101010101010101010101010101010101010101010101010|hyHu 1pc0 120u Rc0 XA0 Wou JX0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0|14e6",
|
||||
"Asia/Thimphu|+0530 +06|-5u -60|01|HcGu|79e3",
|
||||
"Asia/Tokyo|JST|-90|0||38e6",
|
||||
"Asia/Tomsk|+07 +08 +06|-70 -80 -60|01010101010101010101020101010101010101010101020202020202020202020|rn50 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 co0 1bB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Qp0|10e5",
|
||||
|
@ -942,7 +942,7 @@
|
|||
"Australia/Melbourne|AEST AEDT|-a0 -b0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|4r40 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|39e5",
|
||||
"Australia/Perth|AWST AWDT|-80 -90|0101010101010|bHS0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5",
|
||||
"Europe/Brussels|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|21e5",
|
||||
"Pacific/Easter|-06 -07 -05|60 70 50|010101010101010101010101020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202|yP0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0|30e2",
|
||||
"Pacific/Easter|-06 -07 -05|60 70 50|010101010101010101010101020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202|yP0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0|30e2",
|
||||
"EET|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|",
|
||||
"Europe/Dublin|IST GMT|-10 0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|4re0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|12e5",
|
||||
"Etc/GMT-1|+01|-10|0||",
|
||||
|
@ -976,7 +976,7 @@
|
|||
"Europe/Gibraltar|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|tLB0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|30e3",
|
||||
"Europe/Helsinki|EET EEST|-20 -30|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|rm00 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|12e5",
|
||||
"Europe/Kaliningrad|MSK MSD EEST EET +03|-30 -40 -30 -20 -30|010101010101010102323232323232323232323232323232323232323232343|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|44e4",
|
||||
"Europe/Kiev|MSK MSD EEST EET|-30 -40 -30 -20|0101010101010101010123232323232323232323232323232323232323232323232323232323232323232323232323232323|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|34e5",
|
||||
"Europe/Kiev|MSK MSD EEST EET|-30 -40 -30 -20|0101010101010101010123232323232323232323232323232323232323232323232323232323232323232323232323232323|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o10 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|34e5",
|
||||
"Europe/Kirov|+04 +05 +03|-40 -50 -30|010101010101010102020202020202020202020202020202020202020202|rn80 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|48e4",
|
||||
"Europe/Lisbon|CET WET WEST CEST|-10 0 -10 -20|01212121212121212121212121212121203030302121212121212121212121212121212121212121212121212121212121212121212121|go00 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|27e5",
|
||||
"Europe/Madrid|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|apy0 1a10 1fz0 1a10 19X0 1cN0 1fz0 1a10 1fC0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|62e5",
|
||||
|
@ -988,17 +988,17 @@
|
|||
"Europe/Rome|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|XX0 LA0 1zc0 Oo0 1C00 Oo0 1C00 LA0 1zc0 Oo0 1C00 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|39e5",
|
||||
"Europe/Samara|+04 +05 +03|-40 -50 -30|01010101010101010202010101010101010101010101010101010101020|rn80 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2y10 14m0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|12e5",
|
||||
"Europe/Saratov|+04 +05 +03|-40 -50 -30|0101010101010102020202020202020202020202020202020202020202020|rn80 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 5810|",
|
||||
"Europe/Simferopol|MSK MSD EET EEST MSK|-30 -40 -20 -30 -40|0101010101010101010232323101010323232323232323232323232323232323240|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eL0 1cL0 1cN0 1cL0 1cN0 dX0 WL0 1cN0 1cL0 1fB0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4",
|
||||
"Europe/Simferopol|MSK MSD EET EEST MSK|-30 -40 -20 -30 -40|0101010101010101010232323101010323232323232323232323232323232323240|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eN0 1cM0 1cM0 1cM0 1cM0 dV0 WO0 1cM0 1cM0 1fy0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4",
|
||||
"Europe/Sofia|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|muJ0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|12e5",
|
||||
"Europe/Tallinn|MSK MSD EEST EET|-30 -40 -30 -20|0101010101010101023232323232323232323232323232323232323232323232323232323232323232323232323232323|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|41e4",
|
||||
"Europe/Tirane|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|axz0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|42e4",
|
||||
"Europe/Ulyanovsk|+04 +05 +03 +02|-40 -50 -30 -20|010101010101010102023202020202020202020202020202020202020202020|rn80 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|13e5",
|
||||
"Europe/Uzhgorod|MSK MSD CET EET EEST|-30 -40 -10 -20 -30|010101010101010101023434343434343434343434343434343434343434343434343434343434343434343434343434343|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2pw0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|11e4",
|
||||
"Europe/Uzhgorod|MSK MSD CET EET EEST|-30 -40 -10 -20 -30|010101010101010101023434343434343434343434343434343434343434343434343434343434343434343434343434343|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2py0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o10 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|11e4",
|
||||
"Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|oXb0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|18e5",
|
||||
"Europe/Vilnius|MSK MSD EEST EET CEST CET|-30 -40 -30 -20 -20 -10|01010101010101010232323232323232323454323232323232323232323232323232323232323232323232323232323|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|54e4",
|
||||
"Europe/Volgograd|+04 +05 +03|-40 -50 -30|01010101010101020202020202020202020202020202020202020202020202|rn80 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 9Jd0 5gn0|10e5",
|
||||
"Europe/Warsaw|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|17e5",
|
||||
"Europe/Zaporozhye|MSK MSD EEST EET|-30 -40 -30 -20|01010101010101010101023232323232323232323232323232323232323232323232323232323232323232323232323232323|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|77e4",
|
||||
"Europe/Zaporozhye|MSK MSD EEST EET|-30 -40 -30 -20|01010101010101010101023232323232323232323232323232323232323232323232323232323232323232323232323232323|rn90 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o10 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00|77e4",
|
||||
"Pacific/Honolulu|HST|a0|0||37e4",
|
||||
"Indian/Chagos|+05 +06|-50 -60|01|13ij0|30e2",
|
||||
"Indian/Mauritius|+04 +05|-40 -50|01010|v5U0 14L0 12kr0 11z0|15e4",
|
||||
|
@ -1241,6 +1241,7 @@
|
|||
"Europe/Helsinki|Europe/Mariehamn",
|
||||
"Europe/Istanbul|Asia/Istanbul",
|
||||
"Europe/Istanbul|Turkey",
|
||||
"Europe/Kiev|Europe/Kyiv",
|
||||
"Europe/Lisbon|Portugal",
|
||||
"Europe/London|Europe/Belfast",
|
||||
"Europe/London|Europe/Guernsey",
|
||||
|
@ -1294,17 +1295,17 @@
|
|||
"AD|Europe/Andorra",
|
||||
"AE|Asia/Dubai",
|
||||
"AF|Asia/Kabul",
|
||||
"AG|America/Port_of_Spain America/Antigua",
|
||||
"AI|America/Port_of_Spain America/Anguilla",
|
||||
"AG|America/Puerto_Rico America/Antigua",
|
||||
"AI|America/Puerto_Rico America/Anguilla",
|
||||
"AL|Europe/Tirane",
|
||||
"AM|Asia/Yerevan",
|
||||
"AO|Africa/Lagos Africa/Luanda",
|
||||
"AQ|Antarctica/Casey Antarctica/Davis Antarctica/DumontDUrville Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Syowa Antarctica/Troll Antarctica/Vostok Pacific/Auckland Antarctica/McMurdo",
|
||||
"AQ|Antarctica/Casey Antarctica/Davis Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Troll Asia/Urumqi Pacific/Auckland Pacific/Port_Moresby Asia/Riyadh Antarctica/McMurdo Antarctica/DumontDUrville Antarctica/Syowa Antarctica/Vostok",
|
||||
"AR|America/Argentina/Buenos_Aires America/Argentina/Cordoba America/Argentina/Salta America/Argentina/Jujuy America/Argentina/Tucuman America/Argentina/Catamarca America/Argentina/La_Rioja America/Argentina/San_Juan America/Argentina/Mendoza America/Argentina/San_Luis America/Argentina/Rio_Gallegos America/Argentina/Ushuaia",
|
||||
"AS|Pacific/Pago_Pago",
|
||||
"AT|Europe/Vienna",
|
||||
"AU|Australia/Lord_Howe Antarctica/Macquarie Australia/Hobart Australia/Melbourne Australia/Sydney Australia/Broken_Hill Australia/Brisbane Australia/Lindeman Australia/Adelaide Australia/Darwin Australia/Perth Australia/Eucla",
|
||||
"AW|America/Curacao America/Aruba",
|
||||
"AW|America/Puerto_Rico America/Aruba",
|
||||
"AX|Europe/Helsinki Europe/Mariehamn",
|
||||
"AZ|Asia/Baku",
|
||||
"BA|Europe/Belgrade Europe/Sarajevo",
|
||||
|
@ -1316,19 +1317,19 @@
|
|||
"BH|Asia/Qatar Asia/Bahrain",
|
||||
"BI|Africa/Maputo Africa/Bujumbura",
|
||||
"BJ|Africa/Lagos Africa/Porto-Novo",
|
||||
"BL|America/Port_of_Spain America/St_Barthelemy",
|
||||
"BL|America/Puerto_Rico America/St_Barthelemy",
|
||||
"BM|Atlantic/Bermuda",
|
||||
"BN|Asia/Brunei",
|
||||
"BN|Asia/Kuching Asia/Brunei",
|
||||
"BO|America/La_Paz",
|
||||
"BQ|America/Curacao America/Kralendijk",
|
||||
"BQ|America/Puerto_Rico America/Kralendijk",
|
||||
"BR|America/Noronha America/Belem America/Fortaleza America/Recife America/Araguaina America/Maceio America/Bahia America/Sao_Paulo America/Campo_Grande America/Cuiaba America/Santarem America/Porto_Velho America/Boa_Vista America/Manaus America/Eirunepe America/Rio_Branco",
|
||||
"BS|America/Nassau",
|
||||
"BS|America/Toronto America/Nassau",
|
||||
"BT|Asia/Thimphu",
|
||||
"BW|Africa/Maputo Africa/Gaborone",
|
||||
"BY|Europe/Minsk",
|
||||
"BZ|America/Belize",
|
||||
"CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Blanc-Sablon America/Toronto America/Nipigon America/Thunder_Bay America/Iqaluit America/Pangnirtung America/Atikokan America/Winnipeg America/Rainy_River America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Yellowknife America/Inuvik America/Creston America/Dawson_Creek America/Fort_Nelson America/Whitehorse America/Dawson America/Vancouver",
|
||||
"CC|Indian/Cocos",
|
||||
"CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Toronto America/Nipigon America/Thunder_Bay America/Iqaluit America/Pangnirtung America/Winnipeg America/Rainy_River America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Yellowknife America/Inuvik America/Dawson_Creek America/Fort_Nelson America/Whitehorse America/Dawson America/Vancouver America/Panama America/Puerto_Rico America/Phoenix America/Blanc-Sablon America/Atikokan America/Creston",
|
||||
"CC|Asia/Yangon Indian/Cocos",
|
||||
"CD|Africa/Maputo Africa/Lagos Africa/Kinshasa Africa/Lubumbashi",
|
||||
"CF|Africa/Lagos Africa/Bangui",
|
||||
"CG|Africa/Lagos Africa/Brazzaville",
|
||||
|
@ -1342,14 +1343,14 @@
|
|||
"CR|America/Costa_Rica",
|
||||
"CU|America/Havana",
|
||||
"CV|Atlantic/Cape_Verde",
|
||||
"CW|America/Curacao",
|
||||
"CX|Indian/Christmas",
|
||||
"CW|America/Puerto_Rico America/Curacao",
|
||||
"CX|Asia/Bangkok Indian/Christmas",
|
||||
"CY|Asia/Nicosia Asia/Famagusta",
|
||||
"CZ|Europe/Prague",
|
||||
"DE|Europe/Zurich Europe/Berlin Europe/Busingen",
|
||||
"DJ|Africa/Nairobi Africa/Djibouti",
|
||||
"DK|Europe/Copenhagen",
|
||||
"DM|America/Port_of_Spain America/Dominica",
|
||||
"DK|Europe/Berlin Europe/Copenhagen",
|
||||
"DM|America/Puerto_Rico America/Dominica",
|
||||
"DO|America/Santo_Domingo",
|
||||
"DZ|Africa/Algiers",
|
||||
"EC|America/Guayaquil Pacific/Galapagos",
|
||||
|
@ -1362,21 +1363,21 @@
|
|||
"FI|Europe/Helsinki",
|
||||
"FJ|Pacific/Fiji",
|
||||
"FK|Atlantic/Stanley",
|
||||
"FM|Pacific/Chuuk Pacific/Pohnpei Pacific/Kosrae",
|
||||
"FM|Pacific/Kosrae Pacific/Port_Moresby Pacific/Guadalcanal Pacific/Chuuk Pacific/Pohnpei",
|
||||
"FO|Atlantic/Faroe",
|
||||
"FR|Europe/Paris",
|
||||
"GA|Africa/Lagos Africa/Libreville",
|
||||
"GB|Europe/London",
|
||||
"GD|America/Port_of_Spain America/Grenada",
|
||||
"GD|America/Puerto_Rico America/Grenada",
|
||||
"GE|Asia/Tbilisi",
|
||||
"GF|America/Cayenne",
|
||||
"GG|Europe/London Europe/Guernsey",
|
||||
"GH|Africa/Accra",
|
||||
"GH|Africa/Abidjan Africa/Accra",
|
||||
"GI|Europe/Gibraltar",
|
||||
"GL|America/Nuuk America/Danmarkshavn America/Scoresbysund America/Thule",
|
||||
"GM|Africa/Abidjan Africa/Banjul",
|
||||
"GN|Africa/Abidjan Africa/Conakry",
|
||||
"GP|America/Port_of_Spain America/Guadeloupe",
|
||||
"GP|America/Puerto_Rico America/Guadeloupe",
|
||||
"GQ|Africa/Lagos Africa/Malabo",
|
||||
"GR|Europe/Athens",
|
||||
"GS|Atlantic/South_Georgia",
|
||||
|
@ -1397,7 +1398,7 @@
|
|||
"IO|Indian/Chagos",
|
||||
"IQ|Asia/Baghdad",
|
||||
"IR|Asia/Tehran",
|
||||
"IS|Atlantic/Reykjavik",
|
||||
"IS|Africa/Abidjan Atlantic/Reykjavik",
|
||||
"IT|Europe/Rome",
|
||||
"JE|Europe/London Europe/Jersey",
|
||||
"JM|America/Jamaica",
|
||||
|
@ -1406,9 +1407,9 @@
|
|||
"KE|Africa/Nairobi",
|
||||
"KG|Asia/Bishkek",
|
||||
"KH|Asia/Bangkok Asia/Phnom_Penh",
|
||||
"KI|Pacific/Tarawa Pacific/Enderbury Pacific/Kiritimati",
|
||||
"KI|Pacific/Tarawa Pacific/Kanton Pacific/Kiritimati",
|
||||
"KM|Africa/Nairobi Indian/Comoro",
|
||||
"KN|America/Port_of_Spain America/St_Kitts",
|
||||
"KN|America/Puerto_Rico America/St_Kitts",
|
||||
"KP|Asia/Pyongyang",
|
||||
"KR|Asia/Seoul",
|
||||
"KW|Asia/Riyadh Asia/Kuwait",
|
||||
|
@ -1416,22 +1417,22 @@
|
|||
"KZ|Asia/Almaty Asia/Qyzylorda Asia/Qostanay Asia/Aqtobe Asia/Aqtau Asia/Atyrau Asia/Oral",
|
||||
"LA|Asia/Bangkok Asia/Vientiane",
|
||||
"LB|Asia/Beirut",
|
||||
"LC|America/Port_of_Spain America/St_Lucia",
|
||||
"LC|America/Puerto_Rico America/St_Lucia",
|
||||
"LI|Europe/Zurich Europe/Vaduz",
|
||||
"LK|Asia/Colombo",
|
||||
"LR|Africa/Monrovia",
|
||||
"LS|Africa/Johannesburg Africa/Maseru",
|
||||
"LT|Europe/Vilnius",
|
||||
"LU|Europe/Luxembourg",
|
||||
"LU|Europe/Brussels Europe/Luxembourg",
|
||||
"LV|Europe/Riga",
|
||||
"LY|Africa/Tripoli",
|
||||
"MA|Africa/Casablanca",
|
||||
"MC|Europe/Monaco",
|
||||
"MC|Europe/Paris Europe/Monaco",
|
||||
"MD|Europe/Chisinau",
|
||||
"ME|Europe/Belgrade Europe/Podgorica",
|
||||
"MF|America/Port_of_Spain America/Marigot",
|
||||
"MF|America/Puerto_Rico America/Marigot",
|
||||
"MG|Africa/Nairobi Indian/Antananarivo",
|
||||
"MH|Pacific/Majuro Pacific/Kwajalein",
|
||||
"MH|Pacific/Tarawa Pacific/Kwajalein Pacific/Majuro",
|
||||
"MK|Europe/Belgrade Europe/Skopje",
|
||||
"ML|Africa/Abidjan Africa/Bamako",
|
||||
"MM|Asia/Yangon",
|
||||
|
@ -1440,13 +1441,13 @@
|
|||
"MP|Pacific/Guam Pacific/Saipan",
|
||||
"MQ|America/Martinique",
|
||||
"MR|Africa/Abidjan Africa/Nouakchott",
|
||||
"MS|America/Port_of_Spain America/Montserrat",
|
||||
"MS|America/Puerto_Rico America/Montserrat",
|
||||
"MT|Europe/Malta",
|
||||
"MU|Indian/Mauritius",
|
||||
"MV|Indian/Maldives",
|
||||
"MW|Africa/Maputo Africa/Blantyre",
|
||||
"MX|America/Mexico_City America/Cancun America/Merida America/Monterrey America/Matamoros America/Mazatlan America/Chihuahua America/Ojinaga America/Hermosillo America/Tijuana America/Bahia_Banderas",
|
||||
"MY|Asia/Kuala_Lumpur Asia/Kuching",
|
||||
"MY|Asia/Kuching Asia/Singapore Asia/Kuala_Lumpur",
|
||||
"MZ|Africa/Maputo",
|
||||
"NA|Africa/Windhoek",
|
||||
"NC|Pacific/Noumea",
|
||||
|
@ -1454,8 +1455,8 @@
|
|||
"NF|Pacific/Norfolk",
|
||||
"NG|Africa/Lagos",
|
||||
"NI|America/Managua",
|
||||
"NL|Europe/Amsterdam",
|
||||
"NO|Europe/Oslo",
|
||||
"NL|Europe/Brussels Europe/Amsterdam",
|
||||
"NO|Europe/Berlin Europe/Oslo",
|
||||
"NP|Asia/Kathmandu",
|
||||
"NR|Pacific/Nauru",
|
||||
"NU|Pacific/Niue",
|
||||
|
@ -1476,20 +1477,20 @@
|
|||
"PW|Pacific/Palau",
|
||||
"PY|America/Asuncion",
|
||||
"QA|Asia/Qatar",
|
||||
"RE|Indian/Reunion",
|
||||
"RE|Asia/Dubai Indian/Reunion",
|
||||
"RO|Europe/Bucharest",
|
||||
"RS|Europe/Belgrade",
|
||||
"RU|Europe/Kaliningrad Europe/Moscow Europe/Simferopol Europe/Kirov Europe/Volgograd Europe/Astrakhan Europe/Saratov Europe/Ulyanovsk Europe/Samara Asia/Yekaterinburg Asia/Omsk Asia/Novosibirsk Asia/Barnaul Asia/Tomsk Asia/Novokuznetsk Asia/Krasnoyarsk Asia/Irkutsk Asia/Chita Asia/Yakutsk Asia/Khandyga Asia/Vladivostok Asia/Ust-Nera Asia/Magadan Asia/Sakhalin Asia/Srednekolymsk Asia/Kamchatka Asia/Anadyr",
|
||||
"RW|Africa/Maputo Africa/Kigali",
|
||||
"SA|Asia/Riyadh",
|
||||
"SB|Pacific/Guadalcanal",
|
||||
"SC|Indian/Mahe",
|
||||
"SC|Asia/Dubai Indian/Mahe",
|
||||
"SD|Africa/Khartoum",
|
||||
"SE|Europe/Stockholm",
|
||||
"SE|Europe/Berlin Europe/Stockholm",
|
||||
"SG|Asia/Singapore",
|
||||
"SH|Africa/Abidjan Atlantic/St_Helena",
|
||||
"SI|Europe/Belgrade Europe/Ljubljana",
|
||||
"SJ|Europe/Oslo Arctic/Longyearbyen",
|
||||
"SJ|Europe/Berlin Arctic/Longyearbyen",
|
||||
"SK|Europe/Prague Europe/Bratislava",
|
||||
"SL|Africa/Abidjan Africa/Freetown",
|
||||
"SM|Europe/Rome Europe/San_Marino",
|
||||
|
@ -1499,12 +1500,12 @@
|
|||
"SS|Africa/Juba",
|
||||
"ST|Africa/Sao_Tome",
|
||||
"SV|America/El_Salvador",
|
||||
"SX|America/Curacao America/Lower_Princes",
|
||||
"SX|America/Puerto_Rico America/Lower_Princes",
|
||||
"SY|Asia/Damascus",
|
||||
"SZ|Africa/Johannesburg Africa/Mbabane",
|
||||
"TC|America/Grand_Turk",
|
||||
"TD|Africa/Ndjamena",
|
||||
"TF|Indian/Reunion Indian/Kerguelen",
|
||||
"TF|Asia/Dubai Indian/Maldives Indian/Kerguelen",
|
||||
"TG|Africa/Abidjan Africa/Lome",
|
||||
"TH|Asia/Bangkok",
|
||||
"TJ|Asia/Dushanbe",
|
||||
|
@ -1514,24 +1515,24 @@
|
|||
"TN|Africa/Tunis",
|
||||
"TO|Pacific/Tongatapu",
|
||||
"TR|Europe/Istanbul",
|
||||
"TT|America/Port_of_Spain",
|
||||
"TV|Pacific/Funafuti",
|
||||
"TT|America/Puerto_Rico America/Port_of_Spain",
|
||||
"TV|Pacific/Tarawa Pacific/Funafuti",
|
||||
"TW|Asia/Taipei",
|
||||
"TZ|Africa/Nairobi Africa/Dar_es_Salaam",
|
||||
"UA|Europe/Simferopol Europe/Kiev Europe/Uzhgorod Europe/Zaporozhye",
|
||||
"UA|Europe/Simferopol Europe/Kyiv Europe/Uzhgorod Europe/Zaporozhye",
|
||||
"UG|Africa/Nairobi Africa/Kampala",
|
||||
"UM|Pacific/Pago_Pago Pacific/Wake Pacific/Honolulu Pacific/Midway",
|
||||
"UM|Pacific/Pago_Pago Pacific/Tarawa Pacific/Honolulu Pacific/Midway Pacific/Wake",
|
||||
"US|America/New_York America/Detroit America/Kentucky/Louisville America/Kentucky/Monticello America/Indiana/Indianapolis America/Indiana/Vincennes America/Indiana/Winamac America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Vevay America/Chicago America/Indiana/Tell_City America/Indiana/Knox America/Menominee America/North_Dakota/Center America/North_Dakota/New_Salem America/North_Dakota/Beulah America/Denver America/Boise America/Phoenix America/Los_Angeles America/Anchorage America/Juneau America/Sitka America/Metlakatla America/Yakutat America/Nome America/Adak Pacific/Honolulu",
|
||||
"UY|America/Montevideo",
|
||||
"UZ|Asia/Samarkand Asia/Tashkent",
|
||||
"VA|Europe/Rome Europe/Vatican",
|
||||
"VC|America/Port_of_Spain America/St_Vincent",
|
||||
"VC|America/Puerto_Rico America/St_Vincent",
|
||||
"VE|America/Caracas",
|
||||
"VG|America/Port_of_Spain America/Tortola",
|
||||
"VI|America/Port_of_Spain America/St_Thomas",
|
||||
"VG|America/Puerto_Rico America/Tortola",
|
||||
"VI|America/Puerto_Rico America/St_Thomas",
|
||||
"VN|Asia/Bangkok Asia/Ho_Chi_Minh",
|
||||
"VU|Pacific/Efate",
|
||||
"WF|Pacific/Wallis",
|
||||
"WF|Pacific/Tarawa Pacific/Wallis",
|
||||
"WS|Pacific/Apia",
|
||||
"YE|Asia/Riyadh Asia/Aden",
|
||||
"YT|Africa/Nairobi Indian/Mayotte",
|
||||
|
|
2
node_modules/moment-timezone/builds/moment-timezone-with-data-1970-2030.min.js
generated
vendored
2
node_modules/moment-timezone/builds/moment-timezone-with-data-1970-2030.min.js
generated
vendored
File diff suppressed because one or more lines are too long
101
node_modules/moment-timezone/builds/moment-timezone-with-data-2012-2022.js
generated
vendored
101
node_modules/moment-timezone/builds/moment-timezone-with-data-2012-2022.js
generated
vendored
|
@ -1,5 +1,5 @@
|
|||
//! moment-timezone.js
|
||||
//! version : 0.5.34
|
||||
//! version : 0.5.36
|
||||
//! Copyright (c) JS Foundation and other contributors
|
||||
//! license : MIT
|
||||
//! github.com/moment/moment-timezone
|
||||
|
@ -29,7 +29,7 @@
|
|||
// return moment;
|
||||
// }
|
||||
|
||||
var VERSION = "0.5.34",
|
||||
var VERSION = "0.5.36",
|
||||
zones = {},
|
||||
links = {},
|
||||
countries = {},
|
||||
|
@ -691,7 +691,7 @@
|
|||
}
|
||||
|
||||
loadData({
|
||||
"version": "2021e",
|
||||
"version": "2022c",
|
||||
"zones": [
|
||||
"Africa/Abidjan|GMT|0|0||48e5",
|
||||
"Africa/Nairobi|EAT|-30|0||47e5",
|
||||
|
@ -741,7 +741,7 @@
|
|||
"America/Noronha|-02|20|0||30e2",
|
||||
"America/Port-au-Prince|EST EDT|50 40|010101010101010101010|1GI70 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|23e5",
|
||||
"Antarctica/Palmer|-03 -04|30 40|010101010|1H3D0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40",
|
||||
"America/Santiago|-03 -04|30 40|010101010101010101010|1H3D0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|62e5",
|
||||
"America/Santiago|-03 -04|30 40|010101010101010101010|1H3D0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0|62e5",
|
||||
"America/Sao_Paulo|-02 -03|20 30|0101010101010101|1GCq0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|20e6",
|
||||
"Atlantic/Azores|-01 +00|10 0|01010101010101010101010|1GNB0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|25e4",
|
||||
"America/St_Johns|NST NDT|3u 2u|01010101010101010101010|1GI5u 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|11e4",
|
||||
|
@ -770,7 +770,7 @@
|
|||
"Asia/Dili|+09|-90|0||19e4",
|
||||
"Asia/Dubai|+04|-40|0||39e5",
|
||||
"Asia/Famagusta|EET EEST +03|-20 -30 -30|0101010101201010101010|1GNB0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|",
|
||||
"Asia/Gaza|EET EEST|-20 -30|01010101010101010101010|1GPy0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nA0 1210 1qL0 WN0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qo0 Xc0 1qo0|18e5",
|
||||
"Asia/Gaza|EET EEST|-20 -30|01010101010101010101010|1GPy0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nA0 1210 1qL0 WN0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qo0 XA0 1q00|18e5",
|
||||
"Asia/Hong_Kong|HKT|-80|0||73e5",
|
||||
"Asia/Hovd|+07 +08|-70 -80|01010|1O8H0 1cJ0 1cP0 1cJ0|81e3",
|
||||
"Asia/Irkutsk|+09 +08|-90 -80|01|1N7t0|60e4",
|
||||
|
@ -808,7 +808,7 @@
|
|||
"Australia/Eucla|+0845|-8J|0||368",
|
||||
"Australia/Lord_Howe|+11 +1030|-b0 -au|01010101010101010101010|1GQf0 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu|347",
|
||||
"Australia/Perth|AWST|-80|0||18e5",
|
||||
"Pacific/Easter|-05 -06|50 60|010101010101010101010|1H3D0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|30e2",
|
||||
"Pacific/Easter|-05 -06|50 60|010101010101010101010|1H3D0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0|30e2",
|
||||
"Europe/Dublin|GMT IST|0 -10|01010101010101010101010|1GNB0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|12e5",
|
||||
"Etc/GMT-1|+01|-10|0||",
|
||||
"Pacific/Guadalcanal|+11|-b0|0||11e4",
|
||||
|
@ -1195,6 +1195,7 @@
|
|||
"Europe/Athens|Europe/Bucharest",
|
||||
"Europe/Athens|Europe/Helsinki",
|
||||
"Europe/Athens|Europe/Kiev",
|
||||
"Europe/Athens|Europe/Kyiv",
|
||||
"Europe/Athens|Europe/Mariehamn",
|
||||
"Europe/Athens|Europe/Nicosia",
|
||||
"Europe/Athens|Europe/Riga",
|
||||
|
@ -1294,17 +1295,17 @@
|
|||
"AD|Europe/Andorra",
|
||||
"AE|Asia/Dubai",
|
||||
"AF|Asia/Kabul",
|
||||
"AG|America/Port_of_Spain America/Antigua",
|
||||
"AI|America/Port_of_Spain America/Anguilla",
|
||||
"AG|America/Puerto_Rico America/Antigua",
|
||||
"AI|America/Puerto_Rico America/Anguilla",
|
||||
"AL|Europe/Tirane",
|
||||
"AM|Asia/Yerevan",
|
||||
"AO|Africa/Lagos Africa/Luanda",
|
||||
"AQ|Antarctica/Casey Antarctica/Davis Antarctica/DumontDUrville Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Syowa Antarctica/Troll Antarctica/Vostok Pacific/Auckland Antarctica/McMurdo",
|
||||
"AQ|Antarctica/Casey Antarctica/Davis Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Troll Asia/Urumqi Pacific/Auckland Pacific/Port_Moresby Asia/Riyadh Antarctica/McMurdo Antarctica/DumontDUrville Antarctica/Syowa Antarctica/Vostok",
|
||||
"AR|America/Argentina/Buenos_Aires America/Argentina/Cordoba America/Argentina/Salta America/Argentina/Jujuy America/Argentina/Tucuman America/Argentina/Catamarca America/Argentina/La_Rioja America/Argentina/San_Juan America/Argentina/Mendoza America/Argentina/San_Luis America/Argentina/Rio_Gallegos America/Argentina/Ushuaia",
|
||||
"AS|Pacific/Pago_Pago",
|
||||
"AT|Europe/Vienna",
|
||||
"AU|Australia/Lord_Howe Antarctica/Macquarie Australia/Hobart Australia/Melbourne Australia/Sydney Australia/Broken_Hill Australia/Brisbane Australia/Lindeman Australia/Adelaide Australia/Darwin Australia/Perth Australia/Eucla",
|
||||
"AW|America/Curacao America/Aruba",
|
||||
"AW|America/Puerto_Rico America/Aruba",
|
||||
"AX|Europe/Helsinki Europe/Mariehamn",
|
||||
"AZ|Asia/Baku",
|
||||
"BA|Europe/Belgrade Europe/Sarajevo",
|
||||
|
@ -1316,19 +1317,19 @@
|
|||
"BH|Asia/Qatar Asia/Bahrain",
|
||||
"BI|Africa/Maputo Africa/Bujumbura",
|
||||
"BJ|Africa/Lagos Africa/Porto-Novo",
|
||||
"BL|America/Port_of_Spain America/St_Barthelemy",
|
||||
"BL|America/Puerto_Rico America/St_Barthelemy",
|
||||
"BM|Atlantic/Bermuda",
|
||||
"BN|Asia/Brunei",
|
||||
"BN|Asia/Kuching Asia/Brunei",
|
||||
"BO|America/La_Paz",
|
||||
"BQ|America/Curacao America/Kralendijk",
|
||||
"BQ|America/Puerto_Rico America/Kralendijk",
|
||||
"BR|America/Noronha America/Belem America/Fortaleza America/Recife America/Araguaina America/Maceio America/Bahia America/Sao_Paulo America/Campo_Grande America/Cuiaba America/Santarem America/Porto_Velho America/Boa_Vista America/Manaus America/Eirunepe America/Rio_Branco",
|
||||
"BS|America/Nassau",
|
||||
"BS|America/Toronto America/Nassau",
|
||||
"BT|Asia/Thimphu",
|
||||
"BW|Africa/Maputo Africa/Gaborone",
|
||||
"BY|Europe/Minsk",
|
||||
"BZ|America/Belize",
|
||||
"CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Blanc-Sablon America/Toronto America/Nipigon America/Thunder_Bay America/Iqaluit America/Pangnirtung America/Atikokan America/Winnipeg America/Rainy_River America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Yellowknife America/Inuvik America/Creston America/Dawson_Creek America/Fort_Nelson America/Whitehorse America/Dawson America/Vancouver",
|
||||
"CC|Indian/Cocos",
|
||||
"CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Toronto America/Nipigon America/Thunder_Bay America/Iqaluit America/Pangnirtung America/Winnipeg America/Rainy_River America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Yellowknife America/Inuvik America/Dawson_Creek America/Fort_Nelson America/Whitehorse America/Dawson America/Vancouver America/Panama America/Puerto_Rico America/Phoenix America/Blanc-Sablon America/Atikokan America/Creston",
|
||||
"CC|Asia/Yangon Indian/Cocos",
|
||||
"CD|Africa/Maputo Africa/Lagos Africa/Kinshasa Africa/Lubumbashi",
|
||||
"CF|Africa/Lagos Africa/Bangui",
|
||||
"CG|Africa/Lagos Africa/Brazzaville",
|
||||
|
@ -1342,14 +1343,14 @@
|
|||
"CR|America/Costa_Rica",
|
||||
"CU|America/Havana",
|
||||
"CV|Atlantic/Cape_Verde",
|
||||
"CW|America/Curacao",
|
||||
"CX|Indian/Christmas",
|
||||
"CW|America/Puerto_Rico America/Curacao",
|
||||
"CX|Asia/Bangkok Indian/Christmas",
|
||||
"CY|Asia/Nicosia Asia/Famagusta",
|
||||
"CZ|Europe/Prague",
|
||||
"DE|Europe/Zurich Europe/Berlin Europe/Busingen",
|
||||
"DJ|Africa/Nairobi Africa/Djibouti",
|
||||
"DK|Europe/Copenhagen",
|
||||
"DM|America/Port_of_Spain America/Dominica",
|
||||
"DK|Europe/Berlin Europe/Copenhagen",
|
||||
"DM|America/Puerto_Rico America/Dominica",
|
||||
"DO|America/Santo_Domingo",
|
||||
"DZ|Africa/Algiers",
|
||||
"EC|America/Guayaquil Pacific/Galapagos",
|
||||
|
@ -1362,21 +1363,21 @@
|
|||
"FI|Europe/Helsinki",
|
||||
"FJ|Pacific/Fiji",
|
||||
"FK|Atlantic/Stanley",
|
||||
"FM|Pacific/Chuuk Pacific/Pohnpei Pacific/Kosrae",
|
||||
"FM|Pacific/Kosrae Pacific/Port_Moresby Pacific/Guadalcanal Pacific/Chuuk Pacific/Pohnpei",
|
||||
"FO|Atlantic/Faroe",
|
||||
"FR|Europe/Paris",
|
||||
"GA|Africa/Lagos Africa/Libreville",
|
||||
"GB|Europe/London",
|
||||
"GD|America/Port_of_Spain America/Grenada",
|
||||
"GD|America/Puerto_Rico America/Grenada",
|
||||
"GE|Asia/Tbilisi",
|
||||
"GF|America/Cayenne",
|
||||
"GG|Europe/London Europe/Guernsey",
|
||||
"GH|Africa/Accra",
|
||||
"GH|Africa/Abidjan Africa/Accra",
|
||||
"GI|Europe/Gibraltar",
|
||||
"GL|America/Nuuk America/Danmarkshavn America/Scoresbysund America/Thule",
|
||||
"GM|Africa/Abidjan Africa/Banjul",
|
||||
"GN|Africa/Abidjan Africa/Conakry",
|
||||
"GP|America/Port_of_Spain America/Guadeloupe",
|
||||
"GP|America/Puerto_Rico America/Guadeloupe",
|
||||
"GQ|Africa/Lagos Africa/Malabo",
|
||||
"GR|Europe/Athens",
|
||||
"GS|Atlantic/South_Georgia",
|
||||
|
@ -1397,7 +1398,7 @@
|
|||
"IO|Indian/Chagos",
|
||||
"IQ|Asia/Baghdad",
|
||||
"IR|Asia/Tehran",
|
||||
"IS|Atlantic/Reykjavik",
|
||||
"IS|Africa/Abidjan Atlantic/Reykjavik",
|
||||
"IT|Europe/Rome",
|
||||
"JE|Europe/London Europe/Jersey",
|
||||
"JM|America/Jamaica",
|
||||
|
@ -1406,9 +1407,9 @@
|
|||
"KE|Africa/Nairobi",
|
||||
"KG|Asia/Bishkek",
|
||||
"KH|Asia/Bangkok Asia/Phnom_Penh",
|
||||
"KI|Pacific/Tarawa Pacific/Enderbury Pacific/Kiritimati",
|
||||
"KI|Pacific/Tarawa Pacific/Kanton Pacific/Kiritimati",
|
||||
"KM|Africa/Nairobi Indian/Comoro",
|
||||
"KN|America/Port_of_Spain America/St_Kitts",
|
||||
"KN|America/Puerto_Rico America/St_Kitts",
|
||||
"KP|Asia/Pyongyang",
|
||||
"KR|Asia/Seoul",
|
||||
"KW|Asia/Riyadh Asia/Kuwait",
|
||||
|
@ -1416,22 +1417,22 @@
|
|||
"KZ|Asia/Almaty Asia/Qyzylorda Asia/Qostanay Asia/Aqtobe Asia/Aqtau Asia/Atyrau Asia/Oral",
|
||||
"LA|Asia/Bangkok Asia/Vientiane",
|
||||
"LB|Asia/Beirut",
|
||||
"LC|America/Port_of_Spain America/St_Lucia",
|
||||
"LC|America/Puerto_Rico America/St_Lucia",
|
||||
"LI|Europe/Zurich Europe/Vaduz",
|
||||
"LK|Asia/Colombo",
|
||||
"LR|Africa/Monrovia",
|
||||
"LS|Africa/Johannesburg Africa/Maseru",
|
||||
"LT|Europe/Vilnius",
|
||||
"LU|Europe/Luxembourg",
|
||||
"LU|Europe/Brussels Europe/Luxembourg",
|
||||
"LV|Europe/Riga",
|
||||
"LY|Africa/Tripoli",
|
||||
"MA|Africa/Casablanca",
|
||||
"MC|Europe/Monaco",
|
||||
"MC|Europe/Paris Europe/Monaco",
|
||||
"MD|Europe/Chisinau",
|
||||
"ME|Europe/Belgrade Europe/Podgorica",
|
||||
"MF|America/Port_of_Spain America/Marigot",
|
||||
"MF|America/Puerto_Rico America/Marigot",
|
||||
"MG|Africa/Nairobi Indian/Antananarivo",
|
||||
"MH|Pacific/Majuro Pacific/Kwajalein",
|
||||
"MH|Pacific/Tarawa Pacific/Kwajalein Pacific/Majuro",
|
||||
"MK|Europe/Belgrade Europe/Skopje",
|
||||
"ML|Africa/Abidjan Africa/Bamako",
|
||||
"MM|Asia/Yangon",
|
||||
|
@ -1440,13 +1441,13 @@
|
|||
"MP|Pacific/Guam Pacific/Saipan",
|
||||
"MQ|America/Martinique",
|
||||
"MR|Africa/Abidjan Africa/Nouakchott",
|
||||
"MS|America/Port_of_Spain America/Montserrat",
|
||||
"MS|America/Puerto_Rico America/Montserrat",
|
||||
"MT|Europe/Malta",
|
||||
"MU|Indian/Mauritius",
|
||||
"MV|Indian/Maldives",
|
||||
"MW|Africa/Maputo Africa/Blantyre",
|
||||
"MX|America/Mexico_City America/Cancun America/Merida America/Monterrey America/Matamoros America/Mazatlan America/Chihuahua America/Ojinaga America/Hermosillo America/Tijuana America/Bahia_Banderas",
|
||||
"MY|Asia/Kuala_Lumpur Asia/Kuching",
|
||||
"MY|Asia/Kuching Asia/Singapore Asia/Kuala_Lumpur",
|
||||
"MZ|Africa/Maputo",
|
||||
"NA|Africa/Windhoek",
|
||||
"NC|Pacific/Noumea",
|
||||
|
@ -1454,8 +1455,8 @@
|
|||
"NF|Pacific/Norfolk",
|
||||
"NG|Africa/Lagos",
|
||||
"NI|America/Managua",
|
||||
"NL|Europe/Amsterdam",
|
||||
"NO|Europe/Oslo",
|
||||
"NL|Europe/Brussels Europe/Amsterdam",
|
||||
"NO|Europe/Berlin Europe/Oslo",
|
||||
"NP|Asia/Kathmandu",
|
||||
"NR|Pacific/Nauru",
|
||||
"NU|Pacific/Niue",
|
||||
|
@ -1476,20 +1477,20 @@
|
|||
"PW|Pacific/Palau",
|
||||
"PY|America/Asuncion",
|
||||
"QA|Asia/Qatar",
|
||||
"RE|Indian/Reunion",
|
||||
"RE|Asia/Dubai Indian/Reunion",
|
||||
"RO|Europe/Bucharest",
|
||||
"RS|Europe/Belgrade",
|
||||
"RU|Europe/Kaliningrad Europe/Moscow Europe/Simferopol Europe/Kirov Europe/Volgograd Europe/Astrakhan Europe/Saratov Europe/Ulyanovsk Europe/Samara Asia/Yekaterinburg Asia/Omsk Asia/Novosibirsk Asia/Barnaul Asia/Tomsk Asia/Novokuznetsk Asia/Krasnoyarsk Asia/Irkutsk Asia/Chita Asia/Yakutsk Asia/Khandyga Asia/Vladivostok Asia/Ust-Nera Asia/Magadan Asia/Sakhalin Asia/Srednekolymsk Asia/Kamchatka Asia/Anadyr",
|
||||
"RW|Africa/Maputo Africa/Kigali",
|
||||
"SA|Asia/Riyadh",
|
||||
"SB|Pacific/Guadalcanal",
|
||||
"SC|Indian/Mahe",
|
||||
"SC|Asia/Dubai Indian/Mahe",
|
||||
"SD|Africa/Khartoum",
|
||||
"SE|Europe/Stockholm",
|
||||
"SE|Europe/Berlin Europe/Stockholm",
|
||||
"SG|Asia/Singapore",
|
||||
"SH|Africa/Abidjan Atlantic/St_Helena",
|
||||
"SI|Europe/Belgrade Europe/Ljubljana",
|
||||
"SJ|Europe/Oslo Arctic/Longyearbyen",
|
||||
"SJ|Europe/Berlin Arctic/Longyearbyen",
|
||||
"SK|Europe/Prague Europe/Bratislava",
|
||||
"SL|Africa/Abidjan Africa/Freetown",
|
||||
"SM|Europe/Rome Europe/San_Marino",
|
||||
|
@ -1499,12 +1500,12 @@
|
|||
"SS|Africa/Juba",
|
||||
"ST|Africa/Sao_Tome",
|
||||
"SV|America/El_Salvador",
|
||||
"SX|America/Curacao America/Lower_Princes",
|
||||
"SX|America/Puerto_Rico America/Lower_Princes",
|
||||
"SY|Asia/Damascus",
|
||||
"SZ|Africa/Johannesburg Africa/Mbabane",
|
||||
"TC|America/Grand_Turk",
|
||||
"TD|Africa/Ndjamena",
|
||||
"TF|Indian/Reunion Indian/Kerguelen",
|
||||
"TF|Asia/Dubai Indian/Maldives Indian/Kerguelen",
|
||||
"TG|Africa/Abidjan Africa/Lome",
|
||||
"TH|Asia/Bangkok",
|
||||
"TJ|Asia/Dushanbe",
|
||||
|
@ -1514,24 +1515,24 @@
|
|||
"TN|Africa/Tunis",
|
||||
"TO|Pacific/Tongatapu",
|
||||
"TR|Europe/Istanbul",
|
||||
"TT|America/Port_of_Spain",
|
||||
"TV|Pacific/Funafuti",
|
||||
"TT|America/Puerto_Rico America/Port_of_Spain",
|
||||
"TV|Pacific/Tarawa Pacific/Funafuti",
|
||||
"TW|Asia/Taipei",
|
||||
"TZ|Africa/Nairobi Africa/Dar_es_Salaam",
|
||||
"UA|Europe/Simferopol Europe/Kiev Europe/Uzhgorod Europe/Zaporozhye",
|
||||
"UA|Europe/Simferopol Europe/Kyiv Europe/Uzhgorod Europe/Zaporozhye",
|
||||
"UG|Africa/Nairobi Africa/Kampala",
|
||||
"UM|Pacific/Pago_Pago Pacific/Wake Pacific/Honolulu Pacific/Midway",
|
||||
"UM|Pacific/Pago_Pago Pacific/Tarawa Pacific/Honolulu Pacific/Midway Pacific/Wake",
|
||||
"US|America/New_York America/Detroit America/Kentucky/Louisville America/Kentucky/Monticello America/Indiana/Indianapolis America/Indiana/Vincennes America/Indiana/Winamac America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Vevay America/Chicago America/Indiana/Tell_City America/Indiana/Knox America/Menominee America/North_Dakota/Center America/North_Dakota/New_Salem America/North_Dakota/Beulah America/Denver America/Boise America/Phoenix America/Los_Angeles America/Anchorage America/Juneau America/Sitka America/Metlakatla America/Yakutat America/Nome America/Adak Pacific/Honolulu",
|
||||
"UY|America/Montevideo",
|
||||
"UZ|Asia/Samarkand Asia/Tashkent",
|
||||
"VA|Europe/Rome Europe/Vatican",
|
||||
"VC|America/Port_of_Spain America/St_Vincent",
|
||||
"VC|America/Puerto_Rico America/St_Vincent",
|
||||
"VE|America/Caracas",
|
||||
"VG|America/Port_of_Spain America/Tortola",
|
||||
"VI|America/Port_of_Spain America/St_Thomas",
|
||||
"VG|America/Puerto_Rico America/Tortola",
|
||||
"VI|America/Puerto_Rico America/St_Thomas",
|
||||
"VN|Asia/Bangkok Asia/Ho_Chi_Minh",
|
||||
"VU|Pacific/Efate",
|
||||
"WF|Pacific/Wallis",
|
||||
"WF|Pacific/Tarawa Pacific/Wallis",
|
||||
"WS|Pacific/Apia",
|
||||
"YE|Asia/Riyadh Asia/Aden",
|
||||
"YT|Africa/Nairobi Indian/Mayotte",
|
||||
|
|
2
node_modules/moment-timezone/builds/moment-timezone-with-data-2012-2022.min.js
generated
vendored
2
node_modules/moment-timezone/builds/moment-timezone-with-data-2012-2022.min.js
generated
vendored
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue